我知道要为 upstart 启用用户定义的作业,您需要取消注释ubuntu
,/etc/upstart-xsessions
这将允许用户在 ubuntu 默认 Xsession 中定义 upstart 作业。
问题是如何使用不同的会话(例如 openbox)启用用户定义的 upstart 作业,我认为这应该像openbox
在 中添加行一样简单/etc/upstart-xsessions
。但是添加此行后,openbox 在启动期间挂起,最终我根本没有窗口管理器。
答案1
我在使用 xmonad 时遇到了同样的问题,并找到了以下解决方案。
当您添加openbox
到时/etc/upstart-xsessions
,脚本会用 替换环境变量/etc/X11/Xsession.d/99upstart
的值,因此 openbox 不会由 X 启动。STARTUP
init --user
为了能够运行选定的 xsession,upstart 会发出事件xsession
,其环境变量SESSION
等于您的 xsession。对于 xmonad,我编写了以下脚本并将其放入~/.config/upstart/xmonad.conf
:
start on xsession SESSION=xmonad
stop on session-end
exec xmonad
我认为你应该用 替换 all xmonad
。openbox
如果你想要系统范围的解决方案,你必须把这个脚本放到/etc/init/