让 GUI 程序在启动时启动

让 GUI 程序在启动时启动

我有一个在树莓派上为 debian 编写的 C 程序,它要求用户输入一个数字 1-4,然后将其存储在配置文件中。仅当配置文件丢失时才会发生这种情况。我想在启动时运行这个程序。问题是,我可以让它在启动时运行,但没有运气让终端窗口显示出来,以便我可以看到它。我尝试编辑 /etc/rc.local 并在其中添加命令。我尝试过编辑 crontab。我已经尝试了“export display=:0 && command”的所有技巧。有什么建议么?

编辑:

这是我在 /etc/rc.local 中实际运行的命令:

x-terminal-emulator --command=/opt/vc/src/hello_pi/initialConfig/./initialConfig.bin --display=:0

该程序使用 scanf() 捕获键盘输入并显示反馈。

答案1

在启动过程中您将无法运行任何 X 窗口终端。您所在的运行级别没有运行 X 服务器。因此,您可以在您的程序中执行类似的操作/etc/rc.local,然后收集用户的输入,然后用它调用您的可执行文件。

#!/bin/sh
INPUT_STRING=hello
while [ "$INPUT_STRING" != "bye" ]
do
  echo "Please type something in (bye to quit)"
  read INPUT_STRING
  echo "You typed: $INPUT_STRING"
done

myexec $INPUT_STRING

这只是一个示例,您需要更改它以满足您的需求。

答案2

我终于弄明白了。在您的用户主目录中,您必须在路径 /.config/lxsession/LXDE/ 中创建一个名为 autostart 的文件,然后将登录后要执行的任何命令添加到自动启动文件中。

相关内容