如何让 X Server 保持打开状态?

如何让 X Server 保持打开状态?

我目前正在为带触摸板的 Raspberry Pi 编写一个带有 GUI 的应用程序。目前,每当我将新的二进制文件从具有开发环境的 PC 传输到 pi 时,我都必须将键盘插入 pi 并使用 启动应用程序startx /path/to/binary。一段时间后,这变得有点烦人,所以我希望能够通过 ssh 从开发 PC 启动 gui。

我已经知道如果已经有 X Server 正在运行,如何远程启动它。不幸的是,到目前为止这对我没有帮助,因为我无法使 X Server 保持打开状态,因为一旦客户端程序终止,它就会立即终止。但我不想运行桌面或窗口管理器,因为我只需要单个应用程序窗口。

现在回答我的问题。如何让 X Server 保持打开状态?到目前为止是否有我忽略的选项或其他解决方法?或者对于我的问题是否有更好的解决方案,但完全不相关?

答案1

也许在你的末尾添加一个半无限睡眠.xinitrc,例如sleep 5000000?请注意&,该命令末尾没有字符。

通常,您可以在此处放置窗口管理器或会话管理器命令,但您说您不需要其中之一,因此您需要另一个长时间运行的程序来保持 Xserver 处于活动状态。

睡眠将消耗零资源。

答案2

您可以自动重新启动 X 服务器,而不是尝试保持 X 服务器打开。在你的 Pi 上运行

while :; do startx /path/to/binary; done

这样,每当您更新二进制文件时,您都可以终止它,并且 X 服务器将使用新的二进制文件重新启动。

如果您需要能够停止此操作,您可以添加一个条件,例如

until [ -f /tmp/stop ]; do startx /path/to/binary; done

每当你想退出循环时,

touch /tmp/stop

然后终止你的程序——它不会重新启动。

相关内容