Ctrl+Shift+T没反应需先确认终端类型:GNOME Terminal支持该快捷键(dconf配置),XTerm不支持标签页,Konsole逻辑不同;tmux前缀键冲突应改~/.tmux.conf而非系统快捷键。
终端里按 Ctrl+Shift+T 没反应?先确认用了哪个终端
绝大多数 Linux 桌面默认终端(GNOME Terminal、Konsole、XTerm)热键逻辑不统一,
在 GNOME Terminal 里开新标签页,但在 XTerm 里压根没绑定——它甚至不支持标签页。别急着改配置,先用
看父进程名,或者直接在终端标题栏右键看“关于”。不同终端改法完全不同,混用配置只会白忙。
GNOME Terminal 自定义快捷键:改的是 dconf,不是 ~/.bashrc
GNOME Terminal 的快捷键由 GSettings(底层是 dconf)控制,改 shell 配置文件完全无效。常见错误是把
或
命令塞进
,那只能影响 readline 行为(比如上下箭头),跟新建标签、复制粘贴这些窗口级操作无关。
查当前快捷键:
设为
:
注意单引号和转义:
是 Ctrl,
要显式写,
才对应
改完不用重启终端,但已有窗口要手动刷新(关掉重开或执行
)
tmux 里想用 Ctrl+b 当前缀?别碰系统快捷键,改 tmux.conf 就行
很多人在终端里配了
却发现按了没反应,其实是被桌面环境劫持了——GNOME 默认把
绑定为“打开终端”,而
在某些输入法或远程桌面场景下会被吞掉。tmux 的前缀键纯属会话内行为,只和
有关。
设置前缀为
:
(写入
后 reload:
)
避免冲突:别用
、
这类被 shell 占用的组合键
如果用了
,记得检查输入法是否拦截(特别是 fcitx5,默认会吃掉)
全局快捷键(比如 Alt+Tab 切应用)和终端快捷键根本不在一个层
终端快捷键只在终端窗口获得焦点时生效;而
、
这类是桌面环境(GNOME/KDE/XFCE)的全局快捷键,走的是 Wayland/X11 的 compositor 层,和终端程序本身无关。想让某个命令(比如快速启动
)全局触发,得去桌面设置里配“自定义快捷键”,绑定到命令
或
,而不是在终端里改。
容易忽略的一点:Wayland 下部分全局快捷键无法被终端捕获(比如
切 tty),因为权限模型更严格;X11 下则可能被 xbindkeys 这类工具覆盖,优先级混乱时表现诡异。
Ctrl+Shift+Tps -o comm= -p $PPIDbindstty~/.bashrcdconf read /org/gnome/terminal/legacy/keybindings/new-tabCtrl+Tdconf write /org/gnome/terminal/legacy/keybindings/new-tab "'t'" 't' Ctrl+Shift+Tgsettings reload org.gnome.terminal.legacyCtrl+bCtrl+Alt+TCtrl+b~/.tmux.confCtrl+aset -g prefix C-a~/.tmux.conftmux source-file ~/.tmux.confCtrl+cCtrl+zCtrl+SpaceAlt+TabSuper+Dhtopgnome-terminal -- htopalacritty -e htopCtrl+Alt+F2