Apakah ada cara untuk digunakan mosh
tanpa melepaskan scrollback lokal?
Pada dasarnya, dalam beberapa keadaan, roaming IP memang berguna dan dibutuhkan, tetapi emulasi terminal tambahan dan prediksi kunci tampaknya hanya akan menghilangkan garis buffer scrollback lokal dan riwayat sesi.
Jawaban:
Filippo Valsorda memiliki solusi untuk OS X yang menggabungkan iTerm 2, tmux, dan mosh .
Solusinya menggunakan satu jendela / tab untuk terhubung ke shell jarak jauh. Shell selamat dari terputusnya sambungan (mis., Kegagalan koneksi, perubahan IP, reboot laptop) dan mendukung scrollback dengan touchpad, copy-paste, dan warna.
Peringatan adalah bahwa Anda harus membangun mosh dari sumber, menggulirkan lebih sedikit cairan dari aslinya, dan klik-seret diteruskan, jadi Anda harus menahan Opsi untuk memilih.
ITerm
Dalam pengaturan Profil Terminal, Aktifkan pelaporan mouse xterm dan atur Laporkan Terminal Jenis ke xterm-256color .
tmux
Tetapkan
~/.tmux.conf
pada server sebagai berikut. Dengan pengaturan ini, jika Anda mencoba melampirkan dan tidak ada sesi, yang baru dibuat. Pengaturan ini juga memungkinkan interaksi mouse (dan dengan demikian menggulir touchpad).Catatan: Pada tmux yang lebih baru (yaitu> 2.1), seperti yang dilaporkan oleh
tmux -V
, berbagai opsi mouse (mouse-resize-pane, mouse-mode, dll.) Telah ditulis ulang menjadi satu opsimouse
, jadi Anda harus mengubah baris kedua di atas keset-window-option -g
mouseon
sebagai gantinya.Scroll mouse ini juga akan berfungsi ketika Anda berada dalam mode scroll keyboard (mis Ctrl- bkemudian [), dijelaskan dalam artikel Cara menggulir di tmux .
mosh
Bangunan stabil mosh sudah tua dan tidak mendukung pelaporan mouse (dan pengguliran touchpad). Untuk menginstal versi terbaru, lakukan hal berikut:
OS X (klien Anda)
Linux / UNIX (server)
Sekarang, untuk terhubung, cukup ketikkan yang berikut:
sumber
Emulasi terminal dipanggang cukup dalam ke dalam desain mosh , jadi, tidak. Mosh bekerja dengan meminta masing-masing klien dan server mempertahankan ide lokalnya tentang seperti apa tampilan layar saat ini, dan itu mengharuskan server melakukan emulasi terminal. Ini adalah cara klien dapat menyegarkan konten layar setelah beberapa lama dan kehilangan beberapa data.
Saya pikir aplikasi dengan fitur roaming IP mosh tetapi tanpa emulasi terminal akan menjadi aplikasi yang sangat berbeda (tapi lebih sederhana). Untuk aplikasi seperti itu, kehilangan data (termasuk ketika klien tidak aktif untuk beberapa waktu) akan mengakibatkan hilangnya atau kerusakan konten layar. Ini adalah batasan yang dapat diterima jika pengguna menggunakan aplikasi yang tidak terlalu penting (mis. Shell) atau aplikasi yang memiliki fitur pengecatan ulang (mis.
vi
Menggunakan Control-L).Para pelaksana Mosh sedang merencanakan dukungan scrollback dalam aplikasi , untuk menebus fakta bahwa terminal lokal Anda tidak dapat melakukannya lagi. Saya kira ini harus bekerja sedikit seperti
screen
buffer scrollback: dikontrol oleh penekanan tombol, bukan scrollbar dan mouse.sumber
Eternal Terminal ( https://mistertea.github.io/EternalTerminal/ ) adalah alternatif untuk Mosh yang mendukung scrollback asli dan masih memungkinkan roaming IP. ET tidak melakukan prediksi pengetikan, jadi mungkin tidak cocok jika Anda memiliki koneksi latensi yang tinggi (jika Anda ssh-ing ke drone atau dari ponsel), tetapi secara pribadi ET melakukan semua yang saya inginkan dan mendukung scrollback.
sumber
Hapus tanda centang "Gulir layar alternatif" di Terminal-> Preferences-> Profil-> Keyboard memperbaikinya untuk saya.
sumber