我想知道如何在 CLI 环境中启动 Linux 系统,而无需启动 X 图形服务器。
我对临时解决方案感兴趣,理想情况下
- 可以在 Grub 终端上运行的一条命令或一系列命令(按下 时得到的命令C);
- 或者在选择桌面环境的 KDM 菜单上添加一个条目;
而不是对系统的永久性改变(标准行为应该是使用默认图形界面启动)。
根据要求,我添加了相关内容/boot/grub2/grub.cgf
menuentry 'openSUSE 13.2' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-179689d2-d2f3-4ec8-9cc3-01ec946c6b11' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 179689d2-d2f3-4ec8-9cc3-01ec946c6b11
else
search --no-floppy --fs-uuid --set=root 179689d2-d2f3-4ec8-9cc3-01ec946c6b11
fi
echo 'Loading Linux 3.16.7-24-desktop ...'
linux /boot/vmlinuz-3.16.7-24-desktop root=UUID=179689d2-d2f3-4ec8-9cc3-01ec946c6b11 quiet quiet liveinstall lang=it_IT resume=/dev/disk/by-id/ata-WDC_WD5000BEVT-00A0RT0_WD-WXL1AC0U9725-part7 splash=silent quiet showopts vga=803
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-3.16.7-24-desktop
}
答案1
我对您所问的问题不是完全清楚,因此我会给您几种可能的答案,希望您能找到您感兴趣的答案。
您可以在下次启动时禁用 X 服务器,方法是转到
/etc/default/grub
,找到以下行GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
并将其修改为
GRUB_CMDLINE_LINUX_DEFAULT="text"
现在你需要更新 grub,
update-grub
您已经完成。
您可以反之亦然重新启用 X 服务器。
你可以禁用窗口管理器:假设你正在使用
systemd
,现在大多数 Linux 发行版都这样做,systemctl disable kdm
或者
gdm
,lightdm
,无论您使用什么。如果你认为你可能希望偶尔改变主意,后boot 已启动,向文件中添加
/etc/grub.d/40_custom
以下手动条目:menuentry 'Ubuntu (Text mode)' --class ubuntu { recordfail insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' linux /vmlinuz root=/dev/sda1 ro text initrd /initrd.img }
(确保你适应
/dev/sda1
并msdos1
你的配置)。这只会在 GRUB2 菜单中生成一个条目,您可能希望偶尔使用它。如果您想要的只是文本登录,即使图形会话已启动,请记住组合Ctrl+ Alt+ F1(或F2- F6)将为您提供文本登录。此外,您可以从此文本登录中禁用窗口管理器,
sudo systemctl stop gdm
(命令kdm、lightdm、sddm、,或无论您使用什么),这样您就拥有一个纯文本登录,而没有运行图形会话。
最后,当您在图形配置中遇到一些意外错误(更新出错?)时,您可能希望采取纯文本启动,而这让您措手不及(IE,没有准备解决方案3)。如果你卡在 grub 的命令提示符处,你可以使用Terdon 的建议适当修改,因为就目前情况而言,它不是在我的 Debian 和 Arch Linux 系统上可以运行,但以下操作会出错:不要像 Terdon 建议的那样在 Grub 显示中附加
text
到行,而是输入 (three);例如,linux
3
linux /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro quiet 3
这将成功启动您进入运行级别 3,这是具有网络但没有显示管理器的 CLI。
答案2
好吧,一次性启动到文本模式的最简单方法是在 GRUB2 屏幕上选择要启动的内核条目,点击E,向下滚动到该linux
行并添加text
到末尾。例如:
linux /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro quiet text
然后,按F10或Ctrl+X进行启动。
答案3
从 /etc/inittab 复制粘贴:
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
因此,您可以设置:
systemctl set-default multi-user.target
仅运行 CLI
答案4
为了禁用 X 服务器,我编辑了/etc/default/grub
以下文件
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init 3"
然后只需重新启动,如果您想以图形模式启动,请登录并运行startx命令