Answers:
创建一个小的脚本,它将引发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
有关如何执行此操作的更多信息。
您为什么不尝试tilda
或guake
,两者均可在ubuntu存储库中找到。尽管他们没有明确地执行您要执行的操作,但我确定他们是您正在寻找的东西,但不知道它的存在。;)
编辑:好的,我有点含糊,更多信息如下:
来自维基百科:
Tilda是GTK +终端仿真器。它的设计灵感来自Quake等计算机游戏中的游戏机,当按下某个键(通常是波浪号)时,它会从屏幕顶部向下滑动,而当再次按下该键时,它会向上滑动。
运行Tilda的速度可能比使用键盘快捷键启动新终端的速度更快,因为该程序已加载到内存中。这对于经常发现自己为特殊任务打开和关闭终端的人很有用。
guake
确实是同一回事,我注意到的唯一区别是我无法通过ctrl + click使其打开http链接,这让我很烦
另一个选择:启动或切换。该脚本依靠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快捷方式。
| head -n1
在搜索gnome-terminal窗口后添加一个,以防止发现多个窗口时出错