我的GTK应用程序是在Linux上启动时启动的

时间:2013-06-19 19:20:43

标签: c++ gtk startup

我有一个包含一些GTK代码的C ++可执行文件。我希望这个应用程序在我的机器启动时启动(以root身份)。

我尝试使用init脚本(当我在用户会话中使用它时工作正常),但是看看我的应用程序的日志文件,我看到最新记录的行在调用{{1}之前所以它似乎太早了初始化GTK。

如何在用户会话打开后启动应用程序,以便GTK初始化不会失败?

1 个答案:

答案 0 :(得分:2)

创建应用的.desktop文件,并为每个用户将其设置为/etc/xdg/autostart/,或为当前用户设置为$HOME/.config/autostart/

如果您想以普通用户的root身份加载该应用程序,您可以选择使用gksu或其他工具来授权特权。

或者,您可以看到网络管理器的设计方式。它在系统启动时作为init-script进入网络管理器模块,并在用户会话加载时加载nm-applet,这是普通用户的GUI。因此,桌面用户可以在所有桌面环境(如Gnome,KDEE,xfce ......)上管理网络管理器。