我想在启动时启动 Qt 应用程序。该应用程序使用了 weston/wayland 桌面的一些功能,因此它应该在 weston 启动后立即在 weston 上启动。通常,我使用 SSH 连接到目标平台并使用以下命令启动应用程序:
systemctl stop weston
weston --tty=1
./QtApp
Run Code Online (Sandbox Code Playgroud)
如果我不杀死韦斯顿,也不用 TTY 启动它,我会收到以下错误:
Failed to create display
Run Code Online (Sandbox Code Playgroud)
我试图做的是设置一个启动脚本并将其集成到 systemd 中:
[Unit]
Description = Onyx Service
After = weston.service
Type = forking
[Service]
ExecStart = /bin/bash /opt/onyx-start
[Install]
WantedBy = multi-user.target
Run Code Online (Sandbox Code Playgroud)
但是,正如您所猜测的,这行不通。我需要设法在未使用 TTY 选项启动的现有 Weston 实例上启动应用程序。