Pintasan tombol fungsi di Putty / MinTty dan Tmux / Byobu


18

Sebagai lurker lama di Stack Exchange, saya telah menemukan jawaban untuk sebagian besar masalah saya tanpa perlu banyak membuat akun. Tapi hari ini saya benar-benar bingung dengan masalah ini, jadi saya mencari bantuan.

Saya baru-baru ini menemukan Byobu, sebuah frontend untuk Tmux yang menggunakan tombol Fn untuk tugas-tugas umum. Ini adalah berkah nyata untuk melakukan banyak tugas melalui SSH ke server linux jarak jauh dari PC Windows yang harus saya gunakan di tempat kerja.

Saat ini, saya menggunakan gnome-terminal melalui terowongan SSH karena baik Putty maupun MinTTY (terminal default dengan Cygwin) sepertinya mengirim kode kunci yang salah untuk tombol fungsi.

Saya bertanya-tanya apakah ada cara untuk memetakan kembali kode melarikan diri tertentu sehingga setidaknya satu terminal berbasis windows saya dapat bekerja dengan baik dengan Tmux. (Saya kira saya hanya bisa mempelajari kombinasi tombol Ctrl + b / Ctrl + a, tetapi melakukan kombinasi tombol diikuti oleh tombol lain tidak benar-benar menganggap saya sebagai ergonomis.)

Di Putty, pengaturan Terminal> Keyboard> "Tombol fungsi dan tombol" ke "XtermR6" tampaknya mendorong urutan escape yang benar untuk tombol Fn secara normal, tetapi pengubah Shift dan Ctrl rusak. Saya dapat menggunakan vim untuk mencari tahu kode apa yang sedang dikirim oleh masing-masing terminal. Sementara itu, saya pikir saya mungkin telah mencari kombinasi tmux yang dicari dalam kode sumbernya , tapi saya tidak yakin:

Key              Tmux Expects    Gnome-Terminal   PuTTY    MinTTY
Normal F3:                       ^[0R             ^[0R     ^[0R
Ctrl+F3          "\033[13^"      ^[01;5R          ^[0R     ^[[1;5R
Shift+F3         "\033[13$"      ^[01;2R          ^[[25~   ^[[1;2R
Ctrl+Shift+F3    "\033[13@"      ^[01;6R          ^[[25~   ^[[1;6R

Sejauh ini, MinTTY terlihat seperti kandidat terbaik, tetapi itu memberi saya masalah yang sama sekali berbeda di mana byobu mengabaikan 95% dari penekanan tombol Fn, meneruskannya langsung ke aplikasi klien. Saya dapat menjalankan cat -v dan mengirim spam kunci F2 (jendela baru), dan itu akan mencetak "^ [0Q" empat atau lima kali sebelum tiba-tiba memunculkan jendela baru.

Jika ada yang punya saran, itu akan diterima. Sebagian besar barang yang saya temukan di internet mengatakan untuk mengubah jenis terminal, tetapi saya sudah mencoba setiap kombinasi dari masing-masing dua program.

Terima kasih!


3
Urutan yang Anda daftarkan untuk tmux hanyalah urutan rxvt -style modified-key yang dikenali. tmux juga mengenali urutan (tidak diubah ) yang ditentukan oleh entri terminfo TERM (misalnya kf3dari TERM apa pun yang Anda gunakan saat memasang ke tmux ) serta urutan kunci-kunci xterm- gaya yang dimodifikasi dari xterm-keys.c. Jadi, urutan yang Anda laporkan dari Gnome-Terminal dan MinTTY (meskipun escape + nol di sekuens Anda harusnya escape + letter-ohs (alias SS3) harus dikenali oleh tmux , tetapi itu hanya akan melewati mereka jika Anda memiliki xterm-keysopsi diaktifkan
Chris Johnsen

Jawaban:


1

Saya memiliki masalah yang sama dengan Putty dan layar (saya tidak bisa menggunakan Ctrlpengubah). Solusi yang saya temukan adalah KiTTY - cabang dari Putty, yang lebih baik dipertahankan (pembaruan terakhir dari 2015/06/02 22:02). Masalah saya dengan Ctrlkunci telah hilang.

Secara default, Kitty menggunakan tombol Fn untuk pintasannya sendiri, tetapi Anda bisa mengonfigurasinya dengan cara lain , sehingga tombol Fn akan dikirim ke aplikasi Anda.


0

Saya menggunakan BYOBU sendiri dengan cara yang sama. Saya hanya menggunakan cygwin hari ini karena F2, 3,4 dan F6 hanya bekerja untuk saya dan hanya itu yang saya benar-benar khawatirkan. Namun, ketika saya menggunakan dempul, saya paling sukses dengan pengaturan 'Tombol fungsi dan keypad' diatur untuk meniru VT100 +

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.