Ubuntu 22.04 命令行界面tty与图形界面

说实话,在Ubuntu 2 2 .04 中摆弄命令行(tty)和GUI(GNOME)的日子让我对这个系统有了特别深刻的了解。
你说的操作点的坑我基本都经历过,也总结了一些经验。

例如,您提到在启动时按 Ctrl+Alt+F1 进入 tty。
这个技巧在解决网络问题时帮我省了好几次。
我记得有一次系统关闭并且 GUI 无法启动。
我用F2 切换到tty,发现DNS没有启用。
我写了两行service dhcpcd restart 就可以了。
但需要注意的是,现在大多数用户都不太擅长使用这些热键,除非他们是运维老手。

有趣的是,我通过在图形界面中打开终端(Ctrl+Alt+T)来保持这个习惯十年了。
你知道为什么吗?因为很多时候系统报错,GUI死机,但是终端还是可以使用的。
比如我上次安装某个软件就报错,桌面一片空白。
我打开一个新终端并使用 apt remove 来卸载它。
这体现了Linux设计的巧妙之处——即使一个组件出现故障,其他部分仍然可以独立运行。

说到startx命令,我遇到过更疯狂的情况。
系统更新后,startx 屏幕变黑,甚至鼠标也消失了。
最后发现是内核驱动有问题,唯一的办法就是重启系统。
我个人没有运行过这方面的其他解决方案,但是后来查了资料,说可以尝试编辑xorg.conf文件。
不过这个操作比较危险,初学者不要乱操作。

还有 GRUB 菜单。
当我第一次设置虚拟机时,我设置了 Shift 键来访问高级选项。
结果每次启动电脑时我都必须选择“高级选项”,这让我很烦。
幸好后来又改了。
但实际上,这个功能是系统管理员调整启动参数的一个工具。

修复桌面环境(sudo apt install ubuntu-desktop),这个操作我用过不下五次。
最有趣的一次是我的同事在他的计算机上安装了 KDE,但他把它崩溃了。
我直接sudo apt install ubuntu-desktop,然后又安装了GNOME,它骂了我半天。
因此,在使用命令行安装软件时,一定要读清楚参数。

我也遇到了驱动程序的问题。
有一次,我的笔记本电脑无法连接 WiFi。
我检查了日志,发现无线网卡驱动程序已过期。
我直接去官方驱动网站下载deb包并使用sudo dpkg -i安装。
结果,系统出现蓝屏。
后来我意识到这是版本冲突,最后使用 apt install --reinstallfirmware-iwlwifi 解决了它。

日志文件(/var/log/syslog 或 /var/log/Xorg.0.log)是 Linux 的“医疗记录”。
几乎每次系统出现问题时我都会查看这些文件。
上次系统卡住的时候,我查看日志,发现某个服务占用了1 00%的CPU。
我查了半天,发现是某些监控软件的bug。
立刻我卸载了,很好。
但说实话,阅读这些英文日志有时需要花很长时间才能猜到。

总的来说,这两个接口就像左脚和右脚。
虽然其中一个通常使用得较多,但另一个也应该得到认可。
我倾向于在更新后启动到 tty 环境,检查是否有任何问题,然后切换回 GUI。
这样可以避免很多兼容性问题。
比如前段时间更新内核的时候,我只是在tty上确认没有问题,然后第二天就可以安全使用桌面环境了。

linux系统进入命令界面

说实话,Linux中进入命令行的方式确实是比较多样的。
刚接手服务器的时候我有一段时间很困惑。
根据场景,有物理机、虚拟机、远程连接三种路径,各有各的做法。

先说物理机或者虚拟机的本地操作。
如果你使用的是图形界面的系统,比如Ubuntu自带的GNOME,最省事的快捷键就是Ctrl+Alt+T,这几乎是一条规则。
我曾经在同事的 MacBook 上安装了 Arch Linux。
我握了握手,然后按了 Ctrl+Alt+F1 屏幕黑了,这让我震惊。
后来才知道这是切换到纯命令行界面的快捷键,F7 可以切换回来。
不过,如果你觉得图形界面消耗太多资源,或者想使用命令行进行系统维护,可以直接在启动时更改配置,让系统默认使用命令行。
CentOS 和 Ubuntu 类似。
只需使用 systemctl set-default multi-user.target 命令。
修改后,图形界面消失,重启时黑屏。
我有一个朋友在他的 CentOS 服务器上执行此操作。
他说这可以节省电量并防止脚本小子远程暴力破解密码。

进行远程连接,首先要确保Linux端开启了SSH服务。
对于我之前租用的VPS,第一次连接必须使用PuTTY,输入IP和默认端口2 2 ,然后使用用户名和密码登录。
有哥们坚持用Xshell,但是一直说端口被封了好久。
后来我发现他把防火墙关了,2 2 端口被封了。
因此,防火墙和SSH服务是远程连接Linux的两个障碍。
安装SSH服务,一般使用 sudo apt install openssh-server (Debian/Ubuntu) 或 yum install openssh-server (CentOS)。
安装完成后,记得使用systemctl start sshd来运行该服务。
远程连接时,您的计算机必须有 SSH 客户端。
对于 Windows,使用 Putty,对于 Linux,只需使用 ssh 命令。

对于虚拟机来说,在VMware或VirtualBox中的操作与物理机类似。
我使用 VirtualBox 作为测试环境。
我可以直接在虚拟机窗口中按 Ctrl+Alt+T 打开终端。
然而,有一个有趣的细节。
在某些旧版本的VMware中,您必须在虚拟机菜单中找到“终端”选项,并且无法直接使用快捷键。
我也尝试过紧急模式。
一旦系统崩溃,我只能进入单用户模式来修复。
我当时很着急。
我在 GRUB 启动菜单中选择了内核并按了 e。
我找到了启动参数这一行并添加了init=/bin/bash。
Ctrl+X启动后,系统直接给我一个bash提示符,可以修复系统。
不过,这种操作需要一定的技术背景。
如果出现这种情况,大多数人可能会直接重装系统。

最后,说实话,纯命令行界面(tty)和图形终端(如gnome-terminal)功能相同,但外观不同。
命令行有黑屏、白色文本,虚拟终端有窗口和图标。
然而,如果你习惯使用命令行,别人网页的花哨界面可能会显得很烦人。
而且,不同的发行版、不同的桌面环境,快捷键也可能不同。
比如一些自定义的系统Ctrl+Alt+T可能被改变了,你必须去系统设置才能找到它。
我自己没有运行过这个。
我记得数据在X左右,但我建议你验证一下。

Linux中基本的模式切换与用户登陆操作讲解