我应该把 C++ 程序放在哪里在启动时运行?

我应该把 C++ 程序放在哪里在启动时运行?

我正在尝试我的 Ubuntu 服务器在启动后启动我的程序,所以我将程序的可执行文件地址放在后面,/etc/rc.local如下space+&所示:

/home/m/myapp &

但没有成功!我的程序是一个简单的 C++ 代码,它使用 gtk+ 库来显示图像,当我手动运行它时它可以工作。但我想让它在启动时自动运行,但不知道如何?

编辑:我想制作一台简单用途的计算机。实际上它是一个机器人,它的程序是用C++编写的,它的可执行文件是/home/m/myapp.我也不喜欢有登录页面。没有用户菜单或控制系统的能力。所以它必须在开机后自动运行。

如果我想解释更多,系统应该像这样工作:

当用户打开系统时,它会显示欢迎图片,然后等待用户说出语音命令。然后它识别语音,显示与语音相关的图像/视频,然后再次显示欢迎图片并等待新命令。

没有菜单,没有登录页面,也没有任何可供用户使用的内容。正如我上面所说,该系统只能通过用户命令运行!

因为我是Linux新手,所以我不知道它是不是后台程序?我怎样才能做到这一点?

答案1

GTK 需要 X,没有 X 你的程序就无法显示图像。

如果您希望它在登录管理器的上下文中运行,请将其添加到登录管理器的桌面环境中。 (这是我上次查看 ubuntu 时的 /var/lib/something )

否则,您可以将登录管理器替换为非交互式管理器,例如“nodm”,它将自动打开 toyr 会话,然后只需将您的 C++ 应用程序添加到会话的启动应用程序中。

我不确定您在哪里添加应用程序以在 openbox 中自动启动,但~/.xsession始终有效。

创建一个~/.xsession文件yourapp&,然后openbox-session(参见手册页xinit

相关内容