it-swarm-ko.tech

tmux 접두사를 Super에 어떻게 바인딩합니까?

나는 심지어 Ctrl+b 매우 emacs 같지만 요점을 이해합니다. 다른 현명하게 사용하지 않는 키의 단일 키 누름에 바인딩 할 수 있는지 궁금합니다. 즉 Super_L (왼쪽 창 키라고도합니다. 터미널에서 Super_L start xev라고하는 이유는이 키를 누릅니다)

21
xenoterracide

Super_L는 X 키심입니다. Tmux는 터미널에서 실행됩니다. 키 심을 문자 시퀀스로 변환하는 것은 터미널 에뮬레이터에 달려 있습니다. 따라서 터미널 에뮬레이터와 tmux를 모두 구성해야합니다.

Tmux 문서를 보면 접두사는 선택적 수정자가있는 알려진 키 이름 일 수 있습니다. 따라서 사용하지 않는 키 조합 (예 : M-F12)에 tmux 접두사를 설정하고 M-F12를 누를 때 단말기가 Super_L에 대한 문자 시퀀스를 보내도록 할 수 있습니다. . 조금 더 작업하면 키보드에없는 키를 사용할 수 있습니다 (tmux는 F13에서 F20까지를 키 이름으로 허용하지만 terminfo에서 선언해야합니다).

터미널 에뮬레이터 쪽에서는 Super_L 키 시퀀스 \e\e[24~ (M-F12의 경우) 또는 \e[34~ (F20) (여기서 \e는 이스케이프 문자). 이를 수행하는 방법은 터미널 에뮬레이터에 따라 다릅니다 (일부는이를 수행 할만큼 충분히 구성 할 수 없습니다). xterm을 사용하면 X 리소스를 통해 수행됩니다.

! Make Super_L act as Meta+F12
XTerm.VT100.translations:       #override \
    <Key>Super_L:  string("\033\033[24~")

Super_L가 일반적으로 수정 자이며 수정자가 아닌 경우 수정 자 키가 항상 작동하는 것은 아니라는 문제가 발생할 수 있습니다. Super_L가 수정자가되는 것을 원하지 않는 경우 수정자를 제거하거나 (혼동이 덜할 정도로) 물리적 키에 대해 다른 키 심을 사용할 수 있습니다. 이것은 xmodmap (구식이고 이해하기 쉬움), xkb (현대적이고 제대로 문서화되지 않았으며 강력하고 복잡한 방법)를 통해 또는 데스크탑 환경의 GUI 구성 도구를 통해 수행 될 수 있습니다.

사용자 지정 수정 자 키에 접두사를 설정할 수 없었지만 Metacity와 함께 Gnome에서 사용자 지정 수정 자 키와 함께 tmux 바인딩을 정의 할 수있었습니다. 예를 들어 Mod4 +를 매핑하려면kMod4 +j 현재 패널로 각각 위아래로 이동하려면 :

gconftool-2 --set /apps/metacity/keybinding_commands/command_1 --type string "tmux select-pane -D"
gconftool-2 --set /apps/metacity/keybinding_commands/command_2 --type string "tmux select-pane -U"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_1 --type string "<Mod4>j"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_2 --type string "<Mod4>k"

이를 통해 예를 들어 Windows 키와 함께 tmux 바인딩을 사용할 수 있습니다. 이러한 행을 따라있는 것은 전역 키보드 단축키 (Compiz, KWin 등)를 정의 할 수있는 모든 창 관리자에서 작동합니다.

2