我是 Ubuntu 的新手,最近遇到了一个有趣的问题。我安装了 Keep Presence (https://github.com/carrot69/keep-presence) 以防止我的 Intel Compute Stick 空转。我想要做的是让这个在 Ubuntu 启动时启动。我环顾四周,看到您可以将命令添加到rc.local
,所以我运行sudo nano /etc/rc.local
并添加keep-presence --seconds 30
到rc.local
,但我认为这没有任何作用。保存后,我重新打开以确认我添加的行仍然在那里,以防我做错了。有没有办法判断它是否正常工作或者我完全做错了?当我重新启动时,一切都像正常一样启动,所以我没有看到任何错误或任何东西。但是终端窗口没有打开或类似的东西,这会让我安心地知道它在工作。我的版本是Ubuntu 20.04.3 LTS
有什么想法吗?
谢谢,
乔希
答案1
您不应该启动定期模拟鼠标点击的应用程序,例如“保持存在“实用程序,使用系统范围的安装程序。相反,您应该在用户登录时启用这些应用程序的自动启动。无论如何,如果您决定尝试其他方法,该程序可能会失败,因为它需要图形环境才能运行。
让应用程序自动启动的最简单方法是启动“启动应用程序”工具。在对话框中,单击“添加”并填写字段。
必须为每个用户帐户执行此操作。如果您希望默认为系统中的每个用户帐户执行此操作,则.desktop
可以将此命令的启动器移动到/etc/xdg/autostart
。
创建此类.desktop
启动器最简单的方法实际上是使用“启动应用程序”。这将.desktop
在用户的本地autostart
文件夹中创建此类启动器,即~/.config/autostart
。将其移动到系统范围/etc/xdg/autostart
以使其对所有用户生效。
答案2
首先:在新的 Ubuntu 版本中,该文件/etc/rc.local
不再起作用。如果你想在系统启动时运行某些操作,你应该man 5 crontab
使用时间规范将其添加到 crontab(参见)@reboot
。
第二:您无法以这种方式运行与桌面交互的命令,原因有二:a)当系统启动时,您的 GUI 桌面尚未准备好,因此根本没有地方可以显示应用程序窗口;b)从 crontab 运行的命令(或者/etc/rc.local
,如果它可以工作的话)不与您的桌面会话共享环境,因此缺少 GUI 应用程序运行所需的重要系统变量。
解决方案是将您的应用程序添加到桌面会话中的“启动应用程序”(有一个特殊的工具) - 然后您的应用程序将在您登录时与您的桌面会话一起启动。