我有一个脚本,希望在 xserver 启动后运行。此文件位于/home/karl/.scripts/startup/sensei-raw-startup.sh
。
xserver 启动后如何调用此文件?
答案1
最干净的解决方案可能是编写一个新兴工作。在 中创建一个文件/etc/init/myjob.conf
。例如,该文件可能如下所示:
description "My custom upstart job"
start on login-session-start
task
exec /path/to/script.sh
- 定义
description
一个简短的解释 - 语句描述了在哪个事件中执行作业。我认为这里
start on
不需要语句。stop on
- 作业
task
是运行短时间运行的进程的程序,也就是说,虽然程序可能仍需要很长时间才能运行,但具有确定的生命周期和结束状态。 exec
是这项工作的主要部分。注意脚本需要哪些环境变量才能成功。我假设,由于脚本必须在 X 服务器启动后运行,因此您需要适当的环境变量,例如$DISPLAY
和$XAUTHORITY
,也许还有$DBUS_SESSION_BUS_ADDRESS
。- 如果您遇到麻烦,请查看
/var/log/upstart/myjob.log
您的所有工作输出到哪里了。