是否可以获取当前 gnome-terminal 会话的现有标题?我知道如何放标题,但我该如何得到是吗?Google 让我失望了,而且 gnome 文档中也没有提到任何类似的东西。非常感谢。
编辑:不涉及安装外部包(如xdotools
、xprop
或)的解决方案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
默认安装)
或者仅使用xprop
和awk
:
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME | awk -F\" '{ print $2 }'
解释:
使用以下命令获取活动窗口(行)
xprop
:xprop -root _NET_ACTIVE_WINDOW
提取窗口
id
(这是该行的最后一个字符串):awk '{ print $NF }'
然后通过生成的代码生成带有窗口名称的行
id
:xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME
最后,将生成的行按分隔符 分割
"
,生成第二部分:awk -F\" '{ print $2 }'
编辑
或者,反过来,只使用xprop
和cut
,正如@Hannu所建议的(稍微快一点):
xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f2) _NET_WM_NAME | cut -d'"' -f2