Qt C++ 应用程序:Linux 中的自自动启动安装

Qt C++ application: self autostart installation in Linux

我正在将一些 Qt Windows/VC++ 代码移植到 Linux/GCC。应用程序可以将自己的快捷方式添加到 Windows 自动启动文件夹,以便应用程序在登录后启动。

我想在 Linux 中做同样的事情。我正在使用 Kubuntu 15.10,但该解决方案应该适用于几乎所有(或至少大多数)Linux 变体。它应该在没有超级用户权限的情况下工作(或者它应该自动请求权限)。

我在网上搜索了一下,找到了两个解决方案:

  1. 将桌面条目文件添加到 $HOME/.config/autostart
  2. 将符号 link 添加到 /etc/init.d/

它们都适用于所有 Linux 发行版吗?有什么区别?首选哪个?

另外我想知道我是否应该通过编程 运行 一个 shell 命令来做到这一点,或者是否有一些原生的 API 我可以在 C/C 中使用++(包括简单的错误检测)。

您可以通过多种方式添加应用。

  1. 通过linux 初始化系统。对于最新的 linux OS systemd 是一个标准。 In this case your need to create systemd unit for your application
  2. 通过桌面管理器,例如 gnome、kde 和可能的其他工具。 In this case you need also create specification for autostarting your app.
  3. Via bash files

我认为,首选通过 systemd 单元的方式,因为现在这是在启动时启动进程的标准方式,for special user,如果需要的话。

我已将项目放入 GitHub 以管理不同 OS 中的自动启动功能。它是用 Qt 编写的。 请检查它,如果您使用它有任何问题,请告诉我: https://github.com/b00f/qautostart