在终端 linux 中启动时执行程序

Execute a program on boot in linux in terminal

我正在使用 Raspbian Debian jessie 在 raspberry Pi Model 2+ 上开发一个项目,这是我的问题 :/

所以我有一个使用 shell 脚本启动的程序(用 C++ 编写) (shell 脚本基本上会在崩溃时重新启动我的程序,这是无法解决的,因为它偶尔会因为我使用的硬件而失败***)

我在 google 上寻找有关如何在启动时启动程序的答案,发现我可以将所有内容作为脚本 @/etc/RC.local 放入 RC.local 中。 所以现在我有了这个:

sudo /home/pi/Morreels/launcher

在 rc.local 中,这将启动进程,因为我可以在登录后使用 killall launcher 终止它。 可悲的是我需要这个程序输出到终端所以这就是我被卡住的地方,我看到人们启动终端然后回显终端内程序的 运行 代码,但这不是一个肮脏的修复?

我觉得我的命令末尾应该有类似 -lx 的选项,让它输出到终端,不是吗?

可悲的是,关于这个我似乎没有找到任何东西,如果我应该使用上面提到的脏修复,我会喜欢一些帮助,因为我似乎没有让它工作...

为什么需要终端输出?当 rc 脚本是 运行 时,根本没有可用于将输出重定向到的终端。

也许日志文件可以帮助您?将输出重定向到 /var/log/morreels_launcher.log 例如然后检查这个文件而不是终端?

PS: rc 脚本中不需要 sudo。

如果您指的是文本终端:launcher > /dev/console(或 &> console 也重定向 stderr)。如果您指的是 X11 终端,则取决于 window 管理器。对于 gnome,主菜单中有一个 GUI,您可以使用它来配置 X11 启动应用程序。