如何在 ubuntu 10.10 中禁用新贵服务?

Dou*_*oug 27 boot upstart ubuntu

在 10.10 中使用 upstart 而不是 sysvinit。

通过删除 /etc/init/blah.conf 中的相应文件,可以删除您不想要的烦人的新贵服务

然而,这似乎是一种严厉的方法。您如何正确配置 upstart 以便能够通过命令行有选择地打开和关闭这些服务?

作为一个实际示例,此处列出的使用 rcconf 关闭 gdm 的答案不再有效: 如何防止 GDM 在 Ubuntu 上启动时运行?

Maj*_*nko 19

如果您查看 /etc/init.d,您会注意到通过 upstart 配置的任何服务都只是指向 /lib/init/upstart 的符号链接,因此从 /etc/init.d 中删除它们只会删除链接 - 而不是脚本.

如果你想要一个接口,你可以安装chkconfig包 ( apt-get install chkconfig),它提供了一个有用的命令行工具:

# chkconfig --list
acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
alsa-mixer-save           0:off  1:off  2:off  3:off  4:off  5:off  6:off
anacron                   0:off  1:off  2:off  3:off  4:off  5:off  6:off
apache2                   0:off  1:off  2:on   3:on   4:on   5:on   6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on 
apport                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
atd                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
.... and so on ....
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令启用/禁用特定运行级别的服务(或只是打开和关闭它们):

# chkconfig -s <service> <state/runlevels>
Run Code Online (Sandbox Code Playgroud)

例如:

# chkconfig -s gdm off
Run Code Online (Sandbox Code Playgroud)

完全关闭它,

# chkconfig -s gdm on
Run Code Online (Sandbox Code Playgroud)

使用 defaultsm 或

# chkconfig -s gdm 34
Run Code Online (Sandbox Code Playgroud)

仅在运行级别 3 和 4 时打开它。

您通常会在基于 RHEL 的系统(CentOS、Fedora 等)上找到此命令。

更新

这是特定于 Ubuntu 和 gdm/kdm/whatever 的。

当 gdm 启动时,它会调用一个 upstart 配置文件 /etc/init/gdm.conf

该文件然后引用 /etc/X11/default-display-manager 以查看它是否是系统的默认显示管理器 - 如果是,则它会启动。

/etc/X11/default-display-manager 只包含:

/usr/sbin/gdm
Run Code Online (Sandbox Code Playgroud)

您可以用另一个显示管理器替换它,或者完全删除该文件并且它不会启动 gdm。

/etc/init/gdm.conf 文件中的一行:

[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm" ] || { stop; exit 0; }
Run Code Online (Sandbox Code Playgroud)

它说“如果文件 /etc/X11/default-display-manager 不存在,或者如果它不包含/usr/sbin/gdm则退出”

  • 这里有一个链接也表明 chkconfig 不是合适的工具使用:http://ubuntuforums.org/showthread.php?t=1559266 (2认同)

小智 5

我一直发现sysv-rc-conf工具非常有用,它有一个非常漂亮且易于使用的界面。

像这样安装:

sudo apt-get update
sudo apt-get install sysv-rc-conf
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

sudo sysv-rc-conf
Run Code Online (Sandbox Code Playgroud)