对于我创建的虚拟机以及我使用的旧计算机,我想关闭 gdm/lightdm 以获得更好的性能。我不喜欢启动到单用户模式(“linux single”),因为使用 root 是一种不好的做法,而且我还希望保留一种简单的方法来重新启动到图形模式,因此当需要图形模式时,不需要额外的命令。
我认为最有用的方法是将 Grub 配置为除了常规启动和恢复模式之外还显示“Ubuntu 文本模式”的菜单项,并将文本模式设置为默认模式。我尝试自己做,但 Grub2 配置文件对/etc/grub.d/
我来说看起来太神秘了,虽然/etc/defaults/grub
可以设置启动为文本,但它似乎不允许保留图形启动的菜单项以及将文本或图形设置为默认,我更喜欢让启动过程对新手用户保持简单,这样他们就不需要手动启动服务或在 Grub2 中编辑内核启动命令行。
类似主题:https://askubuntu.com/a/196613/19967,https://askubuntu.com/a/79682/19967- 完全删除 GUI 并从命令行而不是 Grub2 菜单项启动它。
答案1
实现您想要的一个简单的方法是编辑文件/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
}
当然,您需要用正确的分区(或者如果您愿意,可以用 UUID)替换 sda1 和 msdos1。
运行结束后sudo update-grub
,新条目应添加到列表末尾。
这只会创建一个手动条目。如果您想要为每个内核创建一个自动条目,那么您必须编辑/etc/grub.d/10_linux
。
答案2
您需要在 /etc/grub.d/40_custom 中添加一个条目
成为 root
打开文件 /boot/grub/grub.cfg
将与我粘贴的内容类似的部分复制至 /etc/grub.d/40_custom
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7942e83c-f00f-4c7f-9ba6-cccf2284747c' {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 b8763e17-749f-4d80-b78e-276a3c8c75ef
else
search --no-floppy --fs-uuid --set=root b8763e17-749f-4d80-b78e-276a3c8c75ef
fi
linux /vmlinuz-3.6.0-999-i7 root=UUID=7942e83c-f00f-4c7f-9ba6-cccf2284747c ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
initrd /initrd.img-3.6.0-999-i7
}
以上部分位于标记的部分
### BEGIN /etc/grub.d/10_linux ###
将文本更改quiet splash $vt_handoff
为quiet splash text
跑步:grub-mkconfig -o /boot/grub/grub.cfg
就应该这样。