Gnome 终端:如何获取现有标题?

Gnome 终端:如何获取现有标题?

是否可以获取当前 gnome-terminal 会话的现有标题?我知道如何标题,但我该如何得到是吗?Google 让我失望了,而且 gnome 文档中也没有提到任何类似的东西。非常感谢。

编辑:不涉及安装外部包(如xdotoolsxprop或)的解决方案wmctrl是首选。

答案1

如果 xdotool安装:

sudo apt-get install xdotool

并假设当前会话的窗口在前面(因为需要输入命令),只需运行:

xdotool getactivewindow getwindowname

如何在不安装其他软件的情况下获取当前会话的标题

如果如果您不想安装任何额外程序,则可以使用:

xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME | awk -F\" '{ print $2 }'

xprop默认安装)

或者仅使用xpropawk

xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME | awk -F\" '{ print $2 }'

解释:

  1. 使用以下命令获取活动窗口(行)xprop

    xprop -root _NET_ACTIVE_WINDOW
    
  2. 提取窗口id(这是该行的最后一个字符串):

    awk '{ print $NF }'
    
  3. 然后通过生成的代码生成带有窗口名称的行id

    xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME
    
  4. 最后,将生成的行按分隔符 分割",生成第二部分:

    awk -F\" '{ print $2 }'
    

编辑

或者,反过来,只使用xpropcut,正如@Hannu所建议的(稍微快一点):

xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f2) _NET_WM_NAME | cut -d'"' -f2

相关内容