使用快捷键Ctrl-Alt-T聚焦现有终端


16

我倾向于经常使用终端,

所以我想知道是否有一种方法可以使Ctrl+ Alt+ T聚焦现有终端(如果有),否则创建一个新终端?

Answers:


24

创建一个小的脚本,它将引发GNOME Terminal:

echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

或者,如果您要检查终端是否已在运行,请使用:

echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

这将创建具有以下内容的脚本〜/ raiseterminal.sh:

if ps aux | grep "[g]nome-terminal" > /dev/null                                                                                                                                                                                
 then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)                                                                                                                                            
 else gnome-terminal&                                                                                                                                                                                                          
fi          

打开首选项以设置自定义键盘快捷键,并将命令设置为/home/$USER/raiseterminal.sh,但请确保将$ USER更改为您的实际用户名。

如果您只想在特定屏幕或桌面上举起终端机,请参阅xdotool search --help有关如何执行此操作的更多信息。

还有其他各种方法可以与其他窗口管理器更好地配合使用。


您可以| head -n1在搜索gnome-terminal窗口后添加一个,以防止发现多个窗口时出错
ggalmazor

8

您为什么不尝试tildaguake,两者均可在ubuntu存储库中找到。尽管他们没有明确地执行您要执行的操作,但我确定他们是您正在寻找的东西,但不知道它的存在。;)

编辑:好的,我有点含糊,更多信息如下:

来自维基百科

Tilda是GTK +终端仿真器。它的设计灵感来自Quake等计算机游戏中的游戏机,当按下某个键(通常是波浪号)时,它会从屏幕顶部向下滑动,而当再次按下该键时,它会向上滑动。

运行Tilda的速度可能比使用键盘快捷键启动新终端的速度更快,因为该程序已加载到内存中。这对于经常发现自己为特殊任务打开和关闭终端的人很有用。

guake 确实是同一回事,我注意到的唯一区别是我无法通过ctrl + click使其打开http链接,这让我很烦


1

我的版本(=

运行/引发任何应用程序的脚本:

PID=$$
xdotool search --class $1 | while read line
do
  echo "$line"
  if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
    then
    kill $PID
    exit
  fi
done
## Launch the program if we reach here
$1 & disown

例如

sh ~/raise.sh chromium

0

尝试

sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'

进入系统设置-Keyborad,添加自定义快捷方式,然后在其中粘贴wmctrl命令。有用。

gnome-terminal- *字符串来自哪里

wmctrl -xl

0

另一个选择:启动或切换。该脚本依靠wmctrl来检查窗口是否已经打开。如果是这样,脚本将切换到现有脚本,并优先使用当前桌面上的现有窗口。否则,将启动一个新窗口。该脚本由Vaughn Dickson发布

#!/bin/sh

terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
    $terminal_exec &
else
    # search for existing terminals on current desktop
    current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
    term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
    if [ -n "$term_on_this_desk" ]; then
        wmctrl -i -a $term_on_this_desk
    else
        # no terminals on current desktop, so just open the first one we find
        wmctrl -x -a $terminal_wm_class
    fi;
fi;

将此脚本放在主文件夹的bin文件夹中,并使其可执行。然后在“键盘快捷方式(设置-键盘)”下,在“启动程序”部分下禁用“启动终端”的现有热键:单击它,然后按Backspace禁用当前分配。然后,在“自定义快捷方式”部分中,通过单击+图标创建新的自定义快捷方式。填写脚本名称作为“命令”,并为其指定Ctrl+ Alt+ t快捷方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.