2014-03-07 35 views
3

如何获取我的shell脚本运行的终端的窗口ID?从shell中获取终端的X11窗口ID

背景: 我需要编写一个脚本来根据运行的虚拟桌面来执行某些操作。要获得虚拟桌面(不是当前桌面,我可以在脚本运行时更改它),我需要运行脚本的终端的窗口标识。如果脚本未从终端运行,它将失败并显示错误。

+0

我知道很少X11'的',但是运行'env'在我的终端,我发现了一个环境变量'WINDOWID',显示在不同的选项卡相同数量在同一个终端中,但在另一个终端中有不同的号码。也许这就是你需要的? – Evert

+0

另外:http://stackoverflow.com/questions/20580897/get-x-window-id-from-process-in-bash – Evert

+0

@Evert这是一个答案(你的第一个评论关于环境变量),你可以移动这是一个答案。然后我会给你一个大剔。 –

回答

7

我知道很少X11的,但运行在我的终端env命令,我发现了一个环境变量WINDOWID,显示在同一终端的不同选项卡相同的号码,但在另一端不同的号码。也许这就是你需要的?

它似乎是一个Xterm的事情(也可能是任何终端,它模拟了Xterm行为的xterm(1)手册页只是说:

环境

Xterm sets several environment variables: 
    ... 
    WINDOWID 
     is set to the X window id number of the xterm window. 

一些其他可能相关问题与答案: