[英]Run the application at startup in linux
我正在制作一个Linux应用程序。 该应用程序将客户端的文件和文件夹与云同步。 主目录中有一个文件夹,来自云的所有文件都将在其中同步。 我希望应用程序在启动 后应在后台 启动,并在后台自动运行。 我该怎么做?
如果您拥有实质上是单用户系统的系统,则可以使用init
/ systemd
以指定的非特权用户身份启动后台进程。 但是,这不是这些技术的通常用法。
在多用户图形系统中,您可能希望与用户相关的后台进程在用户的桌面会话启动时启动。 这不仅(通常)是进行此类操作的适当时机,而且还支持多个用户。
适用于Linux的各种图形桌面都提供了在登录时运行用户应用程序的略有不同的方式。 不可能找到一种适用于所有台式机的方法。 为了完全覆盖,您可能需要实现一些功能来检测正在使用的桌面,并使用适合该桌面的方法。
但是,许多台式机都使用$HOME/.config/autostart/
。 该目录中的文件应具有.desktop扩展名,并与应用程序启动器具有相同的格式。 例如:
[Desktop Entry]
Name=MyThingie
GenericName=foo
Comment=foo
Exec=/path/to/my/executable
Terminal=false
Type=Application
Icon=foo
Categories=Network;FileTransfer;
StartupNotify=false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.