我经常使用终端来快速输入命令,然后将其留在后台,这样我在工作时就会打开 20 多个终端会话。这是因为只需使用快捷键并输入命令即可,非常快捷。
有没有办法设置快捷键,以便我调出最后一个终端窗口而不是创建一个新的终端窗口?
答案1
我已将终端固定在 Unity 启动器侧栏的第 10 位。这样,我可以按Super+0来“单击”启动器图标,将最新的终端窗口置于顶部。
如果您觉得将其放在启动器中没问题(前 10 个位置之一,否则它将不会获得快捷方式!),那么它将会起作用。
答案2
我用瓜克我对此非常满意。按 F12,会出现一个终端窗口,再次按 F12,它会消失但仍在后台运行。另外:看起来真的很酷。
答案3
您可以将下面的脚本放在组合键下。如果按下组合键,终端窗口将完全消失。再次按下它,它们将再次弹出,与你之前的状态完全相同。
您只需(一次)在终端窗口名称中添加标识字符串(大多数情况下,终端窗口具有相同的名称)
使用它
安装xdotool
和wmctrl
:
sudo apt-get install xdotool
sudo apt-get install wmctrl
- 将脚本复制到一个空文件中,另存为
hide_terminal.py
- 在 head 部分,设置终端窗口名称的标识字符串
通过组合键运行它:
python3 /path/to/hide_terminal.py
剧本
#!/usr/bin/env python3
import subprocess
import os
home = os.environ["HOME"]
hidden_windowid = home+"/.window_id.txt"
get = lambda cmd: subprocess.check_output(cmd).decode("utf-8")
# --- set the identifying string in the terminal window's name below (you mentioned "Terminal"
window_idstring = "Special_window"
# ---
def execute(cmd):
subprocess.check_call(cmd)
w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if window_idstring in l]
if len(w_id) !=0:
for w in w_id:
execute(["xdotool", "windowunmap", w])
with open(hidden_windowid, "a") as out:
out.write(w+"\n")
else:
try:
with open(hidden_windowid) as read:
for w in [w.strip() for w in read.readlines()]:
try:
execute(["xdotool", "windowmap", w])
except subprocess.CalledProcessError:
pass
with open(hidden_windowid, "wt") as clear:
clear.write("")
except FileNotFoundError:
pass
答案4
我正在使用gnome-shell
“下拉终端”扩展,默认快捷方式是,TAB
但它很容易更改。