Saya baru saja memperkenalkan layar GNU kepada seorang teman dan mereka mengalami kesulitan untuk membiasakannya. Itu membuat saya berpikir tentang hal-hal penting yang perlu dia ketahui tentang utilitas Layar yang sangat baik , hal yang sama yang menurut Anda bermanfaat untuk diajarkan kepada seseorang, seorang pemula, dari bawah ke atas. Apa sajakah analogi dan tip praktis untuk mengingat binding, dll.?
Itu akan luar biasa.
gnu-screen
Henry B
sumber
sumber
Jawaban:
Saya telah menggunakan
Screen
selama lebih dari 10 tahun dan mungkin menggunakan kurang dari setengah fitur. Jadi sudah pasti tidak perlu mempelajari semua fiturnya dengan segera (dan saya tidak akan merekomendasikan untuk mencoba). Perintah saya sehari-hari adalah:Saya pikir itu saja. Saya terkadang menggunakan fitur layar terbagi, tetapi yang pasti tidak setiap hari. Tip lainnya adalah jika layar sepertinya terkunci karena Anda menekan beberapa kombinasi tombol acak secara tidak sengaja, lakukan keduanya
^Q
dan^A ^Q
coba buka kuncinya.sumber
exit
). Jendela layar secara otomatis menutup setelah keluar dari shell terakhir di jendela.Saya tidak bisa terbiasa dengan layar sampai saya menemukan cara untuk mengatur 'bilah status' di bagian bawah layar yang menunjukkan 'tab' atau 'layar virtual' yang Anda gunakan dan yang lain ada. Ini pengaturan saya:
sumber
Ctrl+ A? - tunjukkan layar bantuan!
sumber
Jika teman Anda memiliki kebiasaan menekan
^A
untuk sampai ke awal baris di Bash, dia akan mengalami beberapa kejutan, karena^A
tombol perintah layar mengikat. Biasanya saya berakhir dengan layar beku, mungkin karena beberapa tombol acak yang saya tekan setelah^A
:-)Dalam kasus seperti itu saya coba
^A s
dan^A q
blokir / buka blokir pengguliran terminaluntuk memperbaikinya. Untuk pergi ke awal baris di dalam layar, urutan kuncinya adalah
^A a
.sumber
Anda dapat memetakan ulang kunci escape dari Ctrl+ Amenjadi kunci lain pilihan Anda, jadi jika Anda menggunakannya untuk hal lain, misalnya untuk pergi ke awal baris di bash, Anda hanya perlu menambahkan baris ke ~ /. file screenrc. Untuk membuatnya ^ b atau ^ B, gunakan:
Dari baris perintah, gunakan sesi nama untuk mengontrol beberapa sesi. Saya menggunakan satu sesi per tugas, masing-masing dengan banyak tab:
Saat menggunakan layar Anda hanya perlu beberapa perintah:
Referensi cepat yang sangat bagus dapat ditemukan di sini . Layak untuk menandai.
sumber
screen -e^oo
sehingga saya dapat menggunakan Ctrl + O untuk itu dan kemudian memulai yang dalamscreen -m
sehingga mereka memulai sesi baru.^A :
diikuti oleh\Bb
diikuti dengan Enter untuk mengatur kunci melarikan diri ke ^ B. Secara umum,^A :
memungkinkan Anda mengevaluasi perintah yang Anda.screenrc
pahami.Beberapa tip bagi mereka yang terbiasa dengan layar, tetapi yang cenderung tidak mengingat hal-hal yang mereka baca di halaman manual:
.screenrc
file Anda :Itu memberikan ctrl+ a shift+ 0 through 9untuk windows 10 hingga 19.
sumber
Ctrl+ Aadalah perintah dasarnya
Ctrl+ A N= pergi ke layar *** N *** ext
Ctrl+ A P= pergi ke layar sebelumnya *** P ***
Ctrl+ A C= *** C *** buat layar baru
Ctrl+ A D= *** Letakkan layar Anda
sumber
http://www.debian-administration.org/articles/34
Saya menulisnya beberapa tahun yang lalu, tetapi ini masih merupakan pengantar yang bagus yang mendapat banyak tanggapan positif.
sumber
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
Saya "harus" menambahkan ini: tambahkan
kepada Anda
.screenrc
, jika Anda - seperti saya - biasanya menggunakan jendela terpisah, sebagaiC-a S
jendela yang sebenarnya, tetapiC-a s
membekukannya. Jadi saya baru saja menonaktifkan pintasan freeze.sumber
^-Q
batal jika Anda menekan^-S
Ctrl+ aadalah kunci khusus.
Ctrl+ a d- [d] etach, biarkan program (irssi?) di latar belakang, pulanglah.
Ctrl+ a c[c] buat jendela baru Ctrl+ a 0-9peralihan antar jendela dengan nomor
screen -r - kembali ke sesi terpisah
Itu mencakup 90% kasus penggunaan. Jangan mencoba menampilkan semua fungsionalitas pada satu waktu.
sumber
screen
saya bingung tentang apa sebenarnya yang dimaksud dengan melepaskan dan memasang kembali layar. Kutipan : "... Anda dapat menjalankan tugas dalam waktu lama di konsol terpisah (seperti ssh pada mesin jarak jauh, sesi IRC,…) pada mesin tertentu, lepas dari sesi, berpindah dari satu lokasi fisik ke lokasi lain, sambungkan ke mesin melalui ssh dan pasang kembali ke sesi layar untuk terus bekerja. "Tidak terlalu penting tidak hanya terkait dengan layar, tetapi mengaktifkan 256 warna di terminal saya, Layar GNU dan Vim meningkatkan pengalaman layar saya secara besar-besaran (terutama karena saya membuat kode di Vim sekitar 8 jam sehari - ada beberapa skema warna yang bagus untuk mata).
sumber
Modifikasi pertama yang saya lakukan pada .screenrc adalah mengubah perintah escape. Tidak seperti kebanyakan dari Anda, saya tidak suka urutan Ctrl-A default karena interferensi dengan fungsionalitas mendasar di hampir setiap konteks lainnya. Di file .screenrc saya, saya menambahkan:
melarikan diri `e
Itu backtick-e.
Hal ini memungkinkan saya untuk menggunakan backtick sebagai tombol escape (misalnya untuk membuat layar baru, saya menekan backtick-c, melepaskan backtick-d, backtick-? Is help, backtick-backtick adalah layar sebelumnya, dll.). Satu-satunya cara itu mengganggu (dan saya harus menghentikan kebiasaan itu) adalah menggunakan backtick pada baris perintah untuk menangkap output eksekusi, atau menempelkan apa pun yang berisi backtick. Untuk yang pertama, saya telah memodifikasi kebiasaan saya dengan menggunakan konvensi BASH $ (command). Untuk yang terakhir, saya biasanya hanya membuka xterm lain atau melepaskan dari layar lalu menempelkan konten yang berisi backtick. Terakhir, jika saya ingin memasukkan backtick literal, saya cukup menekan backtick-e.
sumber
Ada beberapa pekerjaan menarik yang sedang dilakukan untuk mendapatkan pengaturan layar GNU yang baik yang terjadi secara default di versi Ubuntu Server berikutnya, yang termasuk menggunakan bagian bawah layar untuk menampilkan semua jendela serta detail mesin berguna lainnya (seperti jumlah pembaruan tersedia dan apakah mesin perlu di-boot ulang). Anda mungkin dapat mengambilnya
.screenrc
dan menyesuaikannya dengan kebutuhan Anda.Perintah paling berguna yang saya miliki
.screenrc
adalah sebagai berikut:Dengan cara ini saya selalu tahu jendela apa yang terbuka, dan apa yang sedang berjalan di dalamnya saat ini juga.
sumber
Saya menggunakan yang berikut ini untuk
ssh
:Lalu saya mengatur alias bash berikut:
Ini membuka layar baru untuk alias di atas dan jika menggunakan ssh, itu mengganti nama judul layar dengan nama host ssh.
sumber
Saya ingin menyiapkan sesi layar dengan nama deskriptif untuk windows. ^ a A akan memungkinkan Anda memberi nama pada jendela saat ini dan ^ a "akan memberi Anda daftar jendela Anda. Setelah selesai, lepaskan layar dengan ^ iklan dan pasang kembali dengan layar -R
sumber
Saya suka menggunakan
screen -d -RR
untuk membuat / melampirkan secara otomatis ke layar tertentu. Saya membuat fungsi bash untuk membuatnya lebih mudah ...Mereka membuat alias untuk
/usr/bin/screen -d -RR -S $name $command
. Misalnya, saya suka menggunakan irssi dalam sesi layar, jadi di .bashrc saya (di bawah fungsi itu), saya punya:Kemudian saya cukup mengetikkan
irc
terminal untuk masuk ke irssi. Jika layar 'irc' belum ada, maka itu dibuat dan / usr / bin / irssi dijalankan darinya (yang terhubung secara otomatis, tentu saja). Jika sudah berjalan maka saya hanya melampirkan kembali, secara paksa melepaskan contoh lain yang sudah terpasang padanya. Cukup bagus.Contoh lain adalah membuat alias layar sementara untuk perldocs saat saya menemukannya:
Opsi -a (harus menjadi argumen pertama) menambahkan alias layar ke .bashrc (jadi tetap ada) dan -d menghapusnya (ini berpotensi merusak, jadi gunakan dengan resiko sendiri). xD
Menambahkan:
Bash-isme lain yang menurut saya nyaman saat bekerja banyak dengan layar:
Dengan cara itu Anda dapat membuat daftar layar Anda dengan lebih sedikit penekanan tombol. Saya tidak tahu apakah
sls
bertabrakan dengan utilitas yang ada, tetapi tidak pada saat itu di sistem saya, jadi saya melakukannya.sumber
^ AA beralih kembali ke layar yang baru Anda gunakan.
sumber
Ctrl+ Aadalah karakter khusus yang hebat untuk orang-orang Unix, tetapi jika Anda menggunakan layar untuk berbicara dengan OpenVMS , maka tidak dapat ^ A akan membuat Anda botak sebelum waktunya.
Di VMS , jika Anda mengedit perintah DCL sebelum eksekusi dari buffer riwayat, mode Sisipkan tidak aktif (harus karena beberapa alasan saya tidak akan masuk ke sini) ... untuk menyalakannya sehingga Anda tidak Jika tidak mengetikkan perintah Anda secara berlebihan daripada spasi, Anda harus menekan `^ A.
sumber
screen -e ^Ll
untuk alasan serupa; Saya tidak bisa melupakan untuk mengetik ctrl-A untuk pergi ke awal baris di Emacs. Untungnya, ctrl-L adalah tombol yang jarang saya butuhkan, dan juga IMHO terhubung dengan baik dengan arti umumnya (gambar ulang / hapus layar)..screenrc
hasescape ^@^@
, yang menggunakan karakter null daripada control-A. Pada kebanyakan sistem, Anda dapat memasukkan karakter nol sebagai ruang kontrol, yang sangat mudah untuk diketik. (Saya memiliki sesi layar bersarang yang berjalan di dalam jendela di sesi utama saya; untuk yang itu saya milikiescape ^]^]
.)