You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过X-forwarding启动远程X应用并实现Gnome窗口分组

问题原因

Gnome Shell 通过窗口的 WM_CLASS 属性与 .desktop 条目匹配,实现多窗口合并归类,你当前的配置缺失了窗口匹配相关的字段。


解决步骤

  1. 获取远程应用的正确WM_CLASS值
  • 本地终端执行 xprop WM_CLASS,此时鼠标会变成十字形,点击你已经启动的远程Emacs窗口
  • 终端会输出类似 WM_CLASS(STRING) = "emacs", "Emacs" 的结果,第二个双引号里的内容(示例里是Emacs)就是后续要用到的匹配值,Pycharm同理操作获取对应值
  1. 修改 .desktop 文件,新增匹配配置
    修改后的完整配置如下:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=MYemacs
Comment=emacs on dev box
Exec=ssh -X -T rhost 'emacs'
Icon=/usr/share/icons/hicolor/48x48/apps/emacs.png
Terminal=false
# 新增下面两行
StartupWMClass=Emacs
StartupNotify=false

其中StartupWMClass后面填你上一步拿到的第二个WM_CLASS值即可,StartupNotify=false的作用是避免启动时出现无意义的长时间加载转圈动画。

  1. 生效配置
  • 若.desktop文件放在用户目录~/.local/share/applications/下,执行 update-desktop-database ~/.local/share/applications/
  • 若放在系统目录/usr/share/applications/下,执行 sudo update-desktop-database /usr/share/applications/
  • 按Alt+F2输入r回车重启Gnome Shell,之后重新启动应用即可看到多个窗口被合并到同一个图标下。

内容的提问来源于stack exchange,提问作者amh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:54:03