rc?.d 中的 Unity 启动脚本在哪里

rc?.d 中的 Unity 启动脚本在哪里

最近我一直在阅读有关运行级别和启动脚本的文章,我了解到 Ubuntu 中的运行级别 2 到 5 是相同的,并且 Ubuntu 的默认运行级别是 2。

我想做的事

我想删除从运行级别 3 启动 Unity 的脚本,或者实际上在其前面加上“K”以便在从运行级别 2 切换到 3 时将其终止。

我为什么要这么做

我想尝试运行级别并了解“init”和启动脚本等。在我从运行级别 3 的启动中删除 Unity 后,我想运行命令telinit 3以查看会发生什么。

我面临什么?

当前的脚本/链接/etc/rc3.d/如下:

alaa@aa-UBUNTU:~$ ls -l /etc/rc3.d
total 4
lrwxrwxrwx 1 root root  32 Nov 22 12:14 K08vmware-USBArbitrator -> /etc/init.d/vmware-USBArbitrator
lrwxrwxrwx 1 root root  26 Mar 30 10:51 K25vpnagentd_init -> /etc/init.d/vpnagentd_init
-rw-r--r-- 1 root root 677 Jul 21  2012 README
lrwxrwxrwx 1 root root  16 Nov 22 12:13 S19vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root  20 Oct 30  2012 S20kerneloops -> ../init.d/kerneloops
lrwxrwxrwx 1 root root  27 Oct 30  2012 S20speech-dispatcher -> ../init.d/speech-dispatcher
lrwxrwxrwx 1 root root  31 Nov 19 17:10 S20vboxautostart-service -> ../init.d/vboxautostart-service
lrwxrwxrwx 1 root root  20 Nov  7 11:52 S20virtualbox -> ../init.d/virtualbox
lrwxrwxrwx 1 root root  20 Jan 28 16:30 S31atieventsd -> ../init.d/atieventsd
lrwxrwxrwx 1 root root  15 Oct 30  2012 S50rsync -> ../init.d/rsync
lrwxrwxrwx 1 root root  15 Oct 30  2012 S50saned -> ../init.d/saned
lrwxrwxrwx 1 root root  32 Nov 22 12:14 S50vmware-USBArbitrator -> /etc/init.d/vmware-USBArbitrator
lrwxrwxrwx 1 root root  35 Nov 22 12:14 S55vmware-workstation-server -> ../init.d/vmware-workstation-server
lrwxrwxrwx 1 root root  19 Oct 30  2012 S70dns-clean -> ../init.d/dns-clean
lrwxrwxrwx 1 root root  18 Oct 30  2012 S70pppd-dns -> ../init.d/pppd-dns
lrwxrwxrwx 1 root root  14 Mar  3 10:10 S75sudo -> ../init.d/sudo
lrwxrwxrwx 1 root root  20 Oct 31  2012 S80metasploit -> ../init.d/metasploit
lrwxrwxrwx 1 root root  26 Mar 30 10:51 S85vpnagentd_init -> /etc/init.d/vpnagentd_init
lrwxrwxrwx 1 root root  22 Oct 30  2012 S99acpi-support -> ../init.d/acpi-support
lrwxrwxrwx 1 root root  21 Oct 30  2012 S99grub-common -> ../init.d/grub-common
lrwxrwxrwx 1 root root  18 Oct 30  2012 S99ondemand -> ../init.d/ondemand
lrwxrwxrwx 1 root root  18 Oct 30  2012 S99rc.local -> ../init.d/rc.local

我不知道哪一个负责运行 Unity 用户界面。

答案1

Unity 不是在启动时启动的。您在启动时看到的是 lightdm。

您看不到上述任何内容的原因是 Ubuntu 使用 Upstart 和 sysvinit 的组合在启动时启动服务。rcX.d 目录仅用于尚未迁移到 Upstart 的内容。

Upstart 在一系列硬件事件上启动 Lightdm。这样做是为了让它能够尽快启动,并在从启动控制台 (plymouth) 切换到 lightdm 时拥有“控制台”。这也意味着它可以在其他系统服务仍在启动时开始与用户交互。您可以在 中看到它是如何启动的/etc/init/lightdm.conf

Upstart 仍然使用运行级别,因此您可以查找类似start on runlevel [2345]和的内容stop on runlevel [016]/etc/init/*找到可以测试其他运行级别的东西。

相关内容