Jadi saya adalah penggemar berat multiplexer seperti GNU Screen dan Tmux , tetapi bahkan menggunakan Screen selama bertahun-tahun sekarang saya masih mengakui bahwa ada banyak hal yang tidak saya ketahui (dan saya hanya menggunakan Tmux selama beberapa bulan jadi ini lebih buruk. ).
Konfigurasi dan tip serta trik apa yang Anda gunakan pada perangkat lunak tersebut (keduanya atau masing-masing, tidak masalah)?
Saya menggunakan ini sebagai konfigurasi layar saya (saya pikir saya mengadaptasi ini dari default Ubuntu screenrc
):
shell -$SHELL
startup_message off
defscrollback 1000
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''
termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007'
Ini konfigurasi sederhana untuk menjaga bilah status tampil dengan beberapa warna, tetapi saya yakin bahwa ada lebih banyak hal yang dapat saya lakukan dengan layar dan Tmux dan akan senang mengetahuinya.
gnu-screen
tmux
coredump
sumber
sumber
zombie qr
menjaga jendela tetap terbuka meskipun proses mati dan memungkinkanq
untuk menutupnya ataur
menghidupkan kembali proses. Berguna untuk verifikasi perangkat lunak.Jawaban:
Ini mungkin agak sederhana untuk kerumunan ini, tetapi saya merasa berguna untuk menambahkan ini ke akhir. Profil, sehingga ketika saya login jarak jauh melalui ssh, saya bisa membaca MOTD, lalu beralih ke layar.
sumber
Saya punya ini di .bashrc saya. Jika Anda tidak menjalankan layar, fungsi ini hanya memanggil
ssh
seperti biasa ketika dijalankan. Jika Anda menjalankan layar bagian dalam (dan Anda belum mengubah default$TERM
), pertama-tama set nama jendela ke host jarak jauh (bersama dengan parameter opsional apa pun). Sangat berguna untuk melacak koneksi jarak jauh ketika Anda memiliki banyak yang terbuka, yang sering terjadi dalam pekerjaan kami.Saya juga menggunakan
bind ^A windowlist -b
untuk akses mudah ke daftar jendela (cukup ketuk ctrl-A dua kali).Dukungan ssh-agent mudah untuk semua windows:
Kemudian di jendela mana pun Anda melakukan ssh-add hanya sekali ketika Anda memulai sesi baru.
Terakhir, ketika melampirkan sesi layar jauh dari dalam sesi layar lain, Anda dapat menggunakan
screen -x -e ^Vv
untuk mengatur urutan kontrol ke CTRL-V (misalnya). Ini menghindari keharusan untuk rantai CTRL-As untuk mengontrol sesi jarak jauh.sumber
Anda dapat mempertimbangkan byobu , yang pada dasarnya adalah kumpulan dari ratusan tips, trik, konfigurasi, keybindings, skrip status, dan praktik terbaik yang berorientasi
screen
dan sekitartmux
.sumber
Meskipun saya mulai menggunakan tmux untuk panel, saya masih menggunakan layar untuk multiplex windows. tmux seharusnya memiliki fungsi ini, tetapi menukar panel dari satu jendela ke jendela lainnya tidak intuitif bagi saya, juga tidak dapat dua pemirsa tmux yang terpasang melihat jendela yang berbeda dalam daemon yang sama (perilaku layar-x), sehingga solusi layar-dalam-tmux. Ini adalah dua ikatan tmux.conf yang membutuhkan waktu paling lama untuk mencari tahu dan saya gunakan setiap hari.
Pertama, ikat M (ctrl-b shift-M), matikan tmux antara mouse-pane-picker dan mouse highlight / copy. Anda masih dapat menyalin / menempel dalam mode pane-pick, tetapi Anda harus menahan shift (dan jika Anda terbiasa dengan hal itu, salin / tempel dalam aplikasi lain akan membuat Anda sedikit sengsara, izinkan saya memberi tahu Anda). Makro juga membuatnya jelas secara visual mode mana yang saat ini dipilih.
Yang kedua, ikat CL (ctrl-b ctrl-l), akan mengambil tata letak 4 panel dan mengubahnya menjadi tata letak pilihan saya. Sering kali, saya akan menemukan saya menekan ctrl-d di panel yang saya pikir ada di dalam layar untuk menutupnya, tetapi sebaliknya tidak ada sesi layar dan menutup panel. Karena tata letak saya adalah v-split, h-split, v-split dan beberapa pengubahan ukuran, jika saya secara tidak sengaja menutup jendela mana pun kecuali yang terakhir, itu menjadi menyakitkan (tidak ada permainan kata-kata) untuk menutup panel perantara di antara panel yang saya perlukan untuk membuat ulang dan yang terakhir, lalu buat ulang dan ubah ukuran panel, dan akhirnya pasang kembali setiap sesi layar yang mungkin harus saya lepaskan saat membunuh panel. Dengan makro ini, saya dapat membuat panel baru, ctrl-b {(bind default untuk swap-pane -U) sampai kembali dalam urutan yang benar, lalu tekan makro dan semuanya kembali normal. Layout pilihan saya kemungkinan tidak sama dengan milik Anda,
list-windows
perintah untuk mendapatkan string tata letak seperti di bawah ini.Jika itu terlalu naif untuk selera Anda, selalu ada tuxuxator untuk manajemen panel.
sumber