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

Have my GTK application started on startup on Linux

本文关键字:启动 GTK 应用程序 我的 Linux      更新时间:2023-10-16

我有一个c++可执行文件,其中包含一些GTK代码。我希望这个应用程序在我的机器启动时启动(作为root)。

我尝试了一个初始化脚本(当我从我的用户会话中使用它时,它工作得很好),但是看看我的应用程序的日志文件,我看到最新的日志行是在调用Gtk::Application::create()之前,所以它似乎太早了初始化GTK。

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

为您的应用程序创建一个.desktop文件,并将其放在/etc/xdg/autostart/为每个用户,或$HOME/.config/autostart/为当前用户。

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

或者,您可以看到网络管理器是如何设计的。它在系统启动时将网络管理器模块作为初始化脚本初始化,并在用户会话加载时加载nm-applet,这是普通用户的GUI。因此,桌面用户可以在所有桌面环境(如Gnome、KDEE、xfce…)上管理网络管理器。