Qt C++ 应用程序:Linux 中的自自动启动安装
Qt C++ application: self autostart installation in Linux
我正在将一些 Qt Windows/VC++ 代码移植到 Linux/GCC。应用程序可以将自己的快捷方式添加到 Windows 自动启动文件夹,以便应用程序在登录后启动。
我想在 Linux 中做同样的事情。我正在使用 Kubuntu 15.10,但该解决方案应该适用于几乎所有(或至少大多数)Linux 变体。它应该在没有超级用户权限的情况下工作(或者它应该自动请求权限)。
我在网上搜索了一下,找到了两个解决方案:
- 将桌面条目文件添加到
$HOME/.config/autostart
- 将符号 link 添加到
/etc/init.d/
它们都适用于所有 Linux 发行版吗?有什么区别?首选哪个?
另外我想知道我是否应该通过编程 运行 一个 shell 命令来做到这一点,或者是否有一些原生的 API 我可以在 C/C 中使用++(包括简单的错误检测)。
您可以通过多种方式添加应用。
- 通过linux 初始化系统。对于最新的 linux OS systemd 是一个标准。 In this case your need to create systemd unit for your application
- 通过桌面管理器,例如 gnome、kde 和可能的其他工具。 In this case you need also create specification for autostarting your app.
- Via bash files
我认为,首选通过 systemd 单元的方式,因为现在这是在启动时启动进程的标准方式,for special user,如果需要的话。
我已将项目放入 GitHub 以管理不同 OS 中的自动启动功能。它是用 Qt 编写的。
请检查它,如果您使用它有任何问题,请告诉我:
https://github.com/b00f/qautostart
我正在将一些 Qt Windows/VC++ 代码移植到 Linux/GCC。应用程序可以将自己的快捷方式添加到 Windows 自动启动文件夹,以便应用程序在登录后启动。
我想在 Linux 中做同样的事情。我正在使用 Kubuntu 15.10,但该解决方案应该适用于几乎所有(或至少大多数)Linux 变体。它应该在没有超级用户权限的情况下工作(或者它应该自动请求权限)。
我在网上搜索了一下,找到了两个解决方案:
- 将桌面条目文件添加到
$HOME/.config/autostart
- 将符号 link 添加到
/etc/init.d/
它们都适用于所有 Linux 发行版吗?有什么区别?首选哪个?
另外我想知道我是否应该通过编程 运行 一个 shell 命令来做到这一点,或者是否有一些原生的 API 我可以在 C/C 中使用++(包括简单的错误检测)。
您可以通过多种方式添加应用。
- 通过linux 初始化系统。对于最新的 linux OS systemd 是一个标准。 In this case your need to create systemd unit for your application
- 通过桌面管理器,例如 gnome、kde 和可能的其他工具。 In this case you need also create specification for autostarting your app.
- Via bash files
我认为,首选通过 systemd 单元的方式,因为现在这是在启动时启动进程的标准方式,for special user,如果需要的话。
我已将项目放入 GitHub 以管理不同 OS 中的自动启动功能。它是用 Qt 编写的。 请检查它,如果您使用它有任何问题,请告诉我: https://github.com/b00f/qautostart