shell脚本返回kde桌面名称

shell脚本返回kde桌面名称

我已将 KDE 桌面的名称定义为工作站和本地计算服务器的名称。我想找到一种方法,当我在特定的命名桌面中打开 shell 时,它将在相应的计算机中打开 shell。

例如,以下是我的 KDE 桌面名称列表:

  • 我的世界
  • 铯1
  • 铯2

当我在“Cs1”窗口中打开 shell 时,我希望它在“Cs1”而不是我当前工作的计算机上打开 SSH 会话。

我想如果我可以检索我正在从(konsole)打开终端的 KDE 桌面的名称并使用它来调用我的远程登录 SSH 脚本,我就可以做到这一点。

通过 Google 搜索,我发现了如何找到我正在使用的窗口号 ( xprop -root | egrep '^_NET_CURRENT_DESKTOP'),但找不到任何告诉我如何检索窗口号的信息。姓名窗户的。我已经尝试过“qdbus”和“qdop”(包括图形 kdcop),但仍然找不到任何给我当前桌面名称的内容。

现在,我还要先说一下,我们使用的是旧版本的 RH5 (RedHatEnterpriseClient 5.6),而不是运行最新、最好的 KDE (KDE 3.54.el5_4.1)。


编辑:有评论问xprop -root | egrep '^_NET_DESKTOP_NAMES'显示什么。我在发布问题之前尝试过,但我得到以下结果,但我不知道如何处理该结果:

_NET_DESKTOP_NAMES(UTF8_STRING) = 0x41、0x55、0x4c、0x57、0x53、0x30、0x38、0x34、0x0、0x41、0x55、0x4c、0x43、0x53、0x32、0x31、0x31、 , 0x41, 0x55, 0x4c, 0x43, 0x53 , 0x32, 0x31, 0x32, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 0x33, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 34、0x0`

运行dcop kwin KWinInterface currentDesktop回报1

最后,在提交我的问题后,我发现了该网站上的另一篇文章以及wmctrl -d.我决定尝试一下。我发现我们wmctrl的系统中没有安装,所以我下载并编译了wmctrlwmctrl -d确实返回了我需要的所有信息,除了提取从wmctrl -d命令中获得的信息的麻烦之外。

有没有更简单的方法,使用dcop或其他什么?

答案1

控制面板

您可以使用以下命令以编程方式获取工作区/窗口的名称:

$ wmctrl -d
0  * DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  Workspace 1
1  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  
2  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A
3  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A

您还可以使用以下命令切换到另一个窗口:

$ wmctrl -s <workspace_name>

相关内容