Ubuntu 从 GDM(对于使用标准ubuntu-desktop 的系统)或 KDM(对于使用kubuntu-desktop 的系统)启动 X-windows 。
要在 GDM/KDM 启动之前运行脚本,您可以
Ubuntu 使用 Debian 风格的运行级别:运行级别 1是单用户,恢复模式;运行级别 2-5都相同(GUI 多用户);并且默认情况下系统引导到运行级别 2。
Ubuntu 9.10 使用 Upstart,它在/etc/init 中提供服务启动脚本。/etc/init.d和/etc/rc.d中更传统的 init 脚本仍然可用于尚未移植到 Upstart 样式 init 脚本的服务,但 GDM 有一个。(注意 Ubuntu 9.10 提供了/etc/init.d/gdm但没有为其创建任何/etc/rcX.d符号链接。)
GDM 启动由/etc/init/gdm 控制。脚本顶部的这些行指定何时启动和停止 GDM。请注意,没有用于启动 GDM 的运行级别规范——只有必须首先启动的服务。
start on (filesystem
and started hal
and tty-device-added KERNEL=tty7
and (graphics-device-added or stopped udevtrigger))
stop on runlevel [0156]
emits starting-dm
Run Code Online (Sandbox Code Playgroud)
有关Upstart 脚本的文档,请参阅man 5 init,并检查系统的/etc/init/*.conf文件以获取一些示例。另请参阅起始事件联机帮助页:
示例
希望在其他服务运行时运行的服务,在它之前启动并在它之后停止,可以使用:Run Code Online (Sandbox Code Playgroud)start on starting apache stop on stopped apache必须在另一个任务或服务启动之前运行的任务可能会使用:
Run Code Online (Sandbox Code Playgroud)start on starting postgresql
另请注意,GDM/KDM Upstart 脚本会发出一个信号,starting-dm,这也可能很有用。
因此,设计为在 GDM 之前运行的 Upstart 脚本应该使用以下start on子句之一:
# run only when starting GDM
start on starting gdm
# run when starting GDM or KDM
start on (starting gdm
or starting kdm)
# run when starting any DM
# starting-dm is a custom event emitted by the GDM/KDM/etc scripts
start on starting-dm
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6951 次 |
| 最近记录: |