如果您已经有一个打开的终端,那么有没有办法让Ctrl++打开终端选项卡,而不是另一个终端窗口?AltT
我已经将我的偏好设置为在选项卡中打开新终端。(如果没有打开终端,我仍然希望按键绑定可以打开一个终端。)
答案1
这是我所做的并且效果非常好。
gnome-terminal
如果您已更改首选项,请将其更改为默认首选项。
因此,将Ctrl+ Shift+设置t为打开新选项卡的快捷方式。我们需要
xdotool
(大约 30KB)通过以下方式安装它:sudo apt install xdotool
现在创建一个文件(例如,在您的主目录中名为
.custom-terminal-key.sh
),并在其中输入以下几行(感谢 Jacob Vlijm):#!/bin/bash if [[ "$(xprop -id "$(xdotool getactivewindow)" WM_CLASS)" == *"gnome-terminal"* ]]; then sleep 0.1 xdotool key ctrl+shift+t elif ! pgrep 'gnome-terminal'; then gnome-terminal fi
每次运行它时,如果有任何打开的话
gnome-terminal
,它将模拟一个Ctrl++键绑定,否则它会运行。Shifttgnome-terminal
Ctrl最后,我们改变++的默认行为,而不是每次按下这些键时都打开终端,Alt而是t运行我们的脚本。
gsettings set org.gnome.desktop.default-applications.terminal exec '/home/USER/.custom-terminal-key.sh'
USER
用你的真实改变用户名。不要忘记赋予我们的脚本可执行位:
chmod +x ~/.custom-terminal-key.sh
我们完了。
回滚
每当你改变主意时只需运行:
gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'
删除我们的脚本rm ~/.custom-terminal-key.sh
并且xdotool
:sudo apt remove xdotool
。
答案2
这是一个在 Ubuntu 22 上对我有用的简单方法:
wm-ctrl
使用以下方式安装依赖项sudo apt install wmctrl
- 编写一个脚本
.custom-terminal-key.sh
并将其放在您的主目录下~
:
#!/bin/bash
win_id=$(wmctrl -l | grep "Terminal" | awk '{print $1}')
if [ -n "$win_id" ]; then
wmctrl -ia "$win_id"
else
gnome-terminal &
fi
- 允许使用以下方式执行文件
chmod +x .custom-terminal-key.sh