如何从 Linux 控制台启动 Wayland 应用程序?

如何从 Linux 控制台启动 Wayland 应用程序?

对于 X11,我可以从 Linux 控制台或通过 SSH(或 shell 脚本等)启动应用程序

DISPLAY=:0 application

并且可能需要确保应用程序找到身份验证文件或使用类似命令xhost

但是如何从 Wayland 会话之外启动 Wayland 程序?我只找到了有关如何从控制台启动 Wayland 合成器的信息,但没有提示如何在 Wayland 会话内启动应用程序以及如何选择使用哪个会话(如果有多个会话)。


X11 等效项:

我想在现有会话中启动一个程序。

  • 我已登录,例如使用 lightdm 进入 KDE 或 GNOME 会话。
  • 我的用户可以访问相应的X11 cookie。
  • 我切换到 Linux 控制台,例如按 Ctrl-Alt-F3
  • 我跑DISPLAY=:0 xmessage "Hello!"
  • 我切换回 X11 会话,例如,当 X-Server 在 VT 7 上使用时按 Ctrl-Alt-F7。
  • 我看到了 xmessage 对话框并可以与其交互。

这适用于每个 X11 程序,因为程序的行为就像从终端仿真器启动一样,只是变量DISPLAY不会像在 X11 会话中那样在 Linux shell 上自动设置。

定义DISPLAY变量后,程序使用与在 X11 会话中启动的程序相同的 unix 套接字和其他 IPC 机制,并且不必知道不是从图形应用程序启动的。

答案1

Wayland 的等效方法是设置WAYLAND_DISPLAY环境变量。例如,当我env | grep WAYLAND_DISPLAY在 Wayland 下的终端中运行时,我看到WAYLAND_DISPLAY=wayland-1

通过 SSH,我可以运行WAYLAND_DISPLAY=wayland-1 grim来捕获 Wayland 显示内容的屏幕截图。

相关内容