在 Crostini 上的 XRDP 会话期间(通过 xorg)绕过 X 转发到侍酒师

在 Crostini 上的 XRDP 会话期间(通过 xorg)绕过 X 转发到侍酒师

在我的 Pixelbook 上,我使用 XRDP 来 RD 进入xorgXFCE 会话。除了在 Chrome OS ( DISPLAY=:0) 而非 XFCE ( )中启动的远程桌面会话中调用的某些 Linux 应用程序运行良好之外DISPLAY=:10,它主要影响 GNOME 应用程序,但也影响一些 XFCE 应用程序。

我有限的理解是 Crostini 转发xwaylandsommelier,然后传递到 Wayland 服务器以在 Chrome 操作系统上渲染,尽管我对具体细节非常模糊。现在看来,当在远程桌面会话中调用时,该应用程序仅在无法在 XFCE 中呈现时才会传递到 Chrome 操作系统,通常至少会出现以下常见错误消息:

(app.name:xxxx): Gtk-WARNING **: Loading IM context type 'xim' failed
xkbcommon: ERROR: Key "<CAPS>" added to modifier map for multiple modifiers; 
Using Mod3, ignoring Lock

我想做的是让 XFCE 上调用的应用程序在 XFCE 中启动,这仅适用于某些应用程序,以及 Chrome 操作系统上调用的应用程序在 Chrome 操作系统中启动,它已经这样做了,我想保持这种方式 (IE,而不完全禁用sommelier)。我尝试过,但没有成功:

  • 运行为DISPLAY=:10 <executable>.应用程序要么仍然在 Chrome 操作系统上启动,并显示相同的错误消息,要么完全无法启动。
  • 禁用 Wayland:不知道如何,因为没有显示管理器正在运行(lightdm 已禁用)。
  • 作为 XVNC 会话连接:同样的问题仍然存在。

下面的示例屏幕截图,任何建议表示赞赏。

xterm 在 xfce 中启动; xfce4-terminal 在 Chrome 操作系统中推出

catfish 会生成错误消息并在 Chrome 操作系统中启动; Firefox 在 xfce 中启动没有错误

答案1

使用GDK_BACKEND=x11环境变量强制使用 X11 而不是 Wayland。要设置为持久 X 会话环境变量,请export GDK_BACKEND=x11添加~/.config/xfce/xinitrc 以 开头的代码xfce4-session

相关内容