我可以通过将以下行添加到我的 crontab 来在启动时运行脚本:
@reboot perl /path/script
效果很好。但是当我尝试运行 gmail 通知等 gui 应用程序时,问题就出现了。它根本不运行。
如何在启动时运行 GUI 应用程序?
答案1
Cron 不是您想要的程序。运行 GUI 程序有不同的方法。选择哪一种取决于您的桌面环境。
传统的方法是在启动窗口管理器之前将其挂接到 .xinitrc 文件中。一个简单的示例 .xinitrc 如下所示:
#!/bin/sh
# Play a login sound
ogg123 -q "${HOME}/Music/login.ogg" &
# Start a terminal emulator
urxvt -T Terminal &
# Start the window manager
exec awesome
根据桌面环境,您还可以使用~/.config/autostart/
和创建program.desktop
文件。检查该目录是否已包含条目。我想这是最简单的方法。
autostart […]定义了一种在桌面环境启动期间自动启动应用程序的方法[…]
答案2
我在 Lubuntu 度过了一段糟糕的时光,所以我想我会分享我最终是如何得到它的。在 中创建一个.desktop
文件/etc/xdg/autostart
。您可以从以下位置获取格式freedesktop 桌面应用程序自动启动规范和/或仅查看该文件夹中的其他桌面配置文件。我的大问题是我试图将其放入命令列出的文件夹中
echo $XDG_CONFIG_DIRS/autostart
但这会产生不起作用的文件夹以及上面的文件夹。也许,在其他系统上,您可以获得有关将其放置在何处的提示
sudo find / -name *.desktop
另一个小提示 - 如果您编写了一个.desktop
文件,您可以通过将其放在桌面文件夹中来检查它。它应该显示为一个图标,打开它时,它应该运行您的程序。