在Linux上启动时启动我的GTK应用程序
Have my GTK application started on startup on Linux
我有一个c++可执行文件,其中包含一些GTK代码。我希望这个应用程序在我的机器启动时启动(作为root)。
我尝试了一个初始化脚本(当我从我的用户会话中使用它时,它工作得很好),但是看看我的应用程序的日志文件,我看到最新的日志行是在调用Gtk::Application::create()
之前,所以它似乎太早了初始化GTK。
如何在用户会话打开后启动应用程序,使GTK初始化不会失败?
为您的应用程序创建一个.desktop文件,并将其放在/etc/xdg/autostart/
为每个用户,或$HOME/.config/autostart/
为当前用户。
如果您想以root用户的身份加载该应用程序,您可以选择使用gksu或其他工具来授权特权。
或者,您可以看到网络管理器是如何设计的。它在系统启动时将网络管理器模块作为初始化脚本初始化,并在用户会话加载时加载nm-applet,这是普通用户的GUI。因此,桌面用户可以在所有桌面环境(如Gnome、KDEE、xfce…)上管理网络管理器。
相关文章:
- 如何在运行中期切换GTK CSS style_context
- 如何创建一个空的全局类并在启动时实例化它
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 使用 std::string () const 函数启动线程或未来
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 如何使用 GTK 3 正确设置默认文本
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- 如何创建线程序列以按照启动顺序执行任务?
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- Gtkmm 会不断检查 Gtk::日历上的所选日期是否发生变化
- 在挂钩启动新线程时解除挂钩进程
- 程序无法启动,因为缺少 libmpc-3.dll
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- QSerialPort 在应用程序启动之前正在使用中
- 无法在 Arch Linux 中启动虚幻引擎 4
- C++关于指针和使用函数将它们启动到堆的行为究竟是什么?
- 如何在等待程序启动混乱/ GTK+时制作加载/介绍动画弹出窗口
- 在Linux上启动时启动我的GTK应用程序