问题描述
随着时间的推移,与世界上任何其他操作系统一样,用户在使用 Ubuntu 时也会遇到一些问题。 Ubuntu 中有哪些工具和终端命令可以帮助诊断问题是如何发生的,如果可以的话帮助解决问题。
问题如:
-
Ubuntu 在 X 次后或使用 Y 应用程序时冻结
-
Ubuntu 自行重启/休眠/挂起
-
Ubuntu不显示视频或视频有问题
-
Ubuntu不发出任何声音或有声音有问题
-
Ubuntu 不读取 X 驱动器(笔式驱动器、内部驱动器、外部驱动器…)
-
Ubuntu 慢
-
连接后 Ubuntu 无法使用 X 硬件
-
Ubuntu网络问题
通常,Ubuntu 专家通常会首先提到几个 GUI 工具或终端命令来进行初步诊断。用户可以使用哪些 GUI 工具(如果问题与视频无关或限制用户使用 GUI)和终端命令(如果 GUI 不起作用)来诊断并帮助自己找到/解决问题。
最佳方法
终端中有许多工具可以进行初步诊断:
在提及某些工具之前,请记住,将 --help
添加到任何命令通常会给您提供有关该命令的一些帮助。例如 dmesg --help
。我为什么要提到这一点,因为大多数时候这将为您提供有关如何使用命令、使其更详细或简单或如何输出一些信息的非常好的信息。 --help
参数是可以显示有关命令的信息的 3 个参数之一。另外 2 个是 info
和 man
。例如 man dmesg
或 info dmesg
。这 2 显示有关命令的更多信息。按照 --help
为您提供的帮助较少和 man
为您提供的帮助最多的顺序。
以下列表是我用来检查问题的一小部分命令:
dmesg – 显示启动消息和其他与内核相关的消息,例如设备连接(当您插入新设备时,例如:外部硬盘驱动器、网络摄像头、蓝牙设备…)。在控制台中输入 dmesg
,它将显示系统如何启动。如果您有硬盘问题或任何其他启动问题,它们可能会显示在此处。
lshw – 它向您显示 PC 中所有已连接设备的硬件列表。
lsusb – 它显示所有已连接的 USB 设备。
lscpu – 显示基本的 CPU 信息。
lspci – 显示所有 PCI 设备(视频卡、声卡、采集卡…)
lsb_release -a – 显示 Ubuntu 版本、代号、发行版..
lspcmcia – 显示连接到 PC 的所有 pcmcia 设备。
lshal – 显示使用 HAL 注册的所有设备。如果设备使用 HAL,则会出现。
lsmod – 显示内核加载的所有模块
modprobe – 在内核中添加或删除模块。
lsblk – 显示所有块设备。用普通语言来说,这意味着它会向您显示一个很好的小列表,其中列出了如何对硬盘驱动器进行分区、每个分区的大小、安装位置等……
fsck – 用于修复多个文件系统错误。请勿在已安装的分区上使用它!这与 Windows 上的 chkdsk 类似,但有更多功能。
X(大写字母 X)- X 系统。如果您遇到 xorg.conf 问题,您可以执行 X --configure
创建新的 xorg.conf,并执行 X -config XORGFILE
测试 xorg.conf(XORGFILE 是 xorg.conf 文件的路径和名称)。 X 还做了很多很多事情。
xrandr – 更改、检查并对分辨率进行自定义更改。
dmidecode – 显示内存特定信息。需要 sudo 才能运行。
add-apt-repository /apt-add-repository – 用于添加 PPA。例如 add-apt-repository ppa:ubuntu-wine/ppa
。无需手动添加它,然后为其添加密钥。
apt-get – Ubuntu 中软件包的默认安装程序。示例:apt-get install wine1.3
aptitude – Ubuntu 中优秀的软件包安装程序。示例:aptitude install wine1.3
。在一个命令中包含搜索选项、清理和其他选项。这也包含在 apt 软件包中,但分为几个命令。
alsamixer – 控制台中的混音器。这解决了一些与麦克风无法工作、声音不是很大有关的声音问题……
dpkg – 基于 debian 的软件包的官方软件包管理器。
df – 显示每个分区/已安装设备的可用空间和已用空间。
glxinfo – 用于显示有关视频卡的 OpenGL 信息。需要安装mesa-util
包才能使用。
glxheads – 用于显示基本的 OpenGL 视频卡信息。显卡名称、OpenGL 版本和供应商。
hdparm – 用于检查和执行有关硬盘驱动器的多项操作/测试/检查。
netstat – 显示网络连接、路由…
nano /pico – 我最好的朋友。在终端中编辑文件。我知道我知道。 vi 或 vim。但它有一个非常奇怪的学习曲线,我想要 “user friendly” 而不是 “hacker angry”。确实,你可以用 vi 做很多事情,但是学习 nano 或 pico 比学习 vi 更容易。我实际上会在今年年底之前学习 vi.. 它在我的愿望/工作清单上。
ntfsfix – 修复一些 ntfs 分区问题。
wineserver – 管理 wine 应用程序。如果您像 wineserver -k
这样添加参数 -k ,它将关闭/杀死所有打开的 wine 应用程序。这将解决 Wine 应用程序保持打开状态而不关闭或出现一些挂起问题的问题。
testdisk – 恢复已删除的分区。
photorec – 恢复超时删除的多个文件。具有非常好的恢复百分比。
最重要的是-恢复超时删除的多个文件。在多种格式中具有比 photorec 更好的恢复能力,但由于它自 2007 年以来就没有更新过,photorec 中所做的工作已经超过了它。版本 6.13 Beta 好很多倍。虽然为了以防万一我仍然使用两者。
parted – 分区操作软件。好一个。
fdisk – 类似于parted。也很好。
ssh – 远程控制协议。如果没有这个,我大约 90% 的远程协助都会消失。
Kill – 使用 ID 杀死特定进程。添加参数-9,用装满迅猛龙、手持剪刀和子弹的机枪杀死它。示例:kill -9 12345
Killall – 与 Kill 类似,但使用进程名称。示例:killall lightdm
。您还可以使用 -9
参数,但将其与 ID 一起使用,如 Kill 命令中所示。
top – 显示所有活动进程、僵尸进程等等。实时检查。
ps – 显示正在运行的进程列表。不像顶部那样实时。添加参数 -ex
来查看更好的进程列表,包括名称、位置、父 ID…。示例:ps -ex
次佳方法
由于错误日志是诊断问题的最常用工具之一,因此如果可以重复该行为,tail -f logfile
可能是一个非常有用的命令。运行 X 时,许多错误会记录到 /var/log/Xorg.0.log
和 ~/.xsession-errors
;第一个是 X 本身的错误,第二个是 X 内部运行的程序的错误。虽然可以在文本编辑器中打开日志文件,但使用此命令在打开的终端中观看日志文件允许用户查看记录的最后十行,然后是实时添加到日志中的任何错误,从而允许用户可以更轻松地将错误消息与需要故障排除的问题关联起来。用户可以简单地 ‘tail’ 日志文件,然后尝试重现错误,观察是否出现新行。由于此命令将永远运行,因此可以使用 Ctrl-C
返回提示符。\n其他日志可能有助于观察,例如 /var/log/dmesg
来自内核的消息,例如与插入的 USB 设备、硬盘相关的消息故障和其他硬件问题。很多时候,仅仅在互联网上搜索特定记录的错误就可以将用户指向记录了相同问题的其他人,或者帮助向那些试图提供帮助的人提供具体信息。