我正在运行 Ubuntu Server,并且刚刚在上面安装了 gnome 桌面(我需要运行一个只能在图形界面中运行的应用程序)。但是,现在服务器每次启动时都会进入 GUI。我需要服务器启动到命令行(运行级别 3)。根据我读过的几篇文章,Ubuntu 不使用标准运行级别。我需要修改哪个文件才能启动到运行级别 3(或任何 Ubuntu 等效级别)?
答案1
理论上,如果 Ubuntu 符合 UNIX 和 Linux 标准,则在 /boot/grub/menu.lst 中的 grub 的“kernel”命令中添加“3”就足够了,因为根据该标准,运行级别“3”表示没有“X11”。
不幸的是,Ubuntu 忽略了该标准,这就是为什么您还需要更改 /etc/init/lightdm.conf 或 /etc/init/gdm.conf(或您使用的任何 DM)。我的“启动时”条件如下所示:
start on ((filesystem
and runlevel [!06]
and runlevel [!03]
and started dbus
and plymouth-ready)
or runlevel PREVLEVEL=S)
在 Grub 的 menu.lst 中,我还添加了一个菜单项,允许我启动到运行级别 3:
title Ubuntu 11.10 Server No UI, kernel 3.0.0-32-generic-pae
root (hd0,0)
kernel /vmlinuz-3.0.0-32-generic-pae root=UUID=your-root-disk-id 3 ro
initrd /initrd.img-3.0.0-32-generic-pae
quiet
title Ubuntu 11.10, kernel 3.0.0-32-generic-pae
root (hd0,0)
kernel /vmlinuz-3.0.0-32-generic-pae root=your-root-disk-id ro
initrd /initrd.img-3.0.0-32-generic-pae
quiet
现在我可以选择使用 X11 启动到运行级别 5 或者不使用 X11 启动到运行级别 3。
答案2
我认为有一个很好的答案如何在启动时禁用 X 以便系统以文本模式启动?
只是为了回答你关于如何更改运行级别的问题。编辑文件/etc/init/rc-sysinit.conf
并更改此行。
env DEFAULT_RUNLEVEL=2
但是改变运行级别不会停止X。看看ligthdm的启动条件:
start on ((filesystem
and runlevel [!06]
and started dbus
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udev-fallback-graphics))
or runlevel PREVLEVEL=S)
您需要将文件中的启动条件更改/etc/init/XXX
为未满足的条件,例如,比您使用的更高的运行级别。是XXX
您使用的显示管理器,例如lightdm.conf
,,gdm.conf
。failsafe-x.conf
答案3
以下是运行级别的详细说明 -http://sysadmin.te.ua/linux/linux-boot.html
答案4
这很简单,(我使用的是 15.10,因此根据您的版本,您可能需要关闭 gdm 而不是 lightdm)
关闭所需运行级别的显示管理器(对我来说是 3)
sudo update-rc.d lightdm stop 3
告诉 grub 默认启动运行级别 3
sudo vim /etc/defaults/grub
并改变
GRUB_CMDLINE_LINUX=""
到
GRUB_CMDLINE_LINUX="3"
更新你的 grub 配置
sudo update-grub
重启盒子或者运行
sudo service lightdm stop