Layar atau layar GNU adalah terminal multiplexer. Dengan ini, Anda dapat menjalankan sejumlah aplikasi berbasis konsol, shell perintah interaktif, aplikasi berbasis kursus, dll. Anda dapat menggunakan layar untuk tetap menjalankan program setelah Anda secara tidak sengaja menutup terminal, atau bahkan setelah Anda logout dan kemudian lanjutkan di mana pun Anda berada.
Contoh praktisnya adalah saat Anda menjalankan tugas pada mesin Linux jarak jauh tempat Anda memiliki sesi ssh. Sering kali Anda melihat sesi ssh ini dihentikan dan Anda tidak dapat bekerja lagi. Inilah utilitas layar untuk membantu melanjutkan sesi.
Bagaimana cara kerja layar?
Ketika screen dipanggil, itu membuat satu jendela dengan shell di dalamnya (atau perintah yang ditentukan) dan kemudian keluar dari jalan Anda sehingga Anda dapat menggunakan program seperti biasa. Kemudian, kapan saja, Anda dapat membuat jendela baru (layar penuh) dengan program lain di dalamnya (termasuk lebih banyak shell), mematikan jendela saat ini, melihat daftar jendela yang aktif, menyalin teks antar jendela, beralih antar jendela, dll. .
Layar mengelola sesi terdiri dari satu atau lebih jendela masing-masing berisi shell atau program lain. Selanjutnya, layar dapat membagi tampilan terminal menjadi beberapa wilayah , masing-masing menampilkan konten jendela. Semua jendela menjalankan program mereka sepenuhnya independen satu sama lain. Program terus berjalan ketika jendela mereka saat ini tidak terlihat dan bahkan ketika seluruh sesi layar terlepas dari terminal pengguna. Ini praktis untuk mencegah sesi ssh timeout yang tidak disengaja.
Sekarang mari kita periksa bagaimana menggunakan utilitas ini di Linux.
1) Aktifkan jendela baru
Jika perintah layar belum ada di sistem Anda, Anda dapat menginstalnya dengan perintah di bawah ini.
Di Debian
# apt-get install screen
Di Centos
# yum install screen
Anda dapat memulai layar hanya dengan mengetik layar pada prompt perintah. Perintah layar ini akan memulai jendela baru di dalam layar.
# screen
Anda dapat memulai jendela baru di dalam layar dan juga memberi nama pada jendela tersebut, misalnya di atas. Itu menciptakan sesi dengan diidentifikasi dengan nama itu. Nama tersebut dapat digunakan untuk dilampirkan kembali pada tahap selanjutnya.
# screen -S aloft
Perhatikan bahwa Anda dapat melakukan semua pekerjaan Anda seperti berada di lingkungan CLI normal.
2) Buat daftar semua proses layar
Karena kami dapat memulai jendela baru di dalam layar, dimungkinkan untuk menampilkan layar yang sedang dibuka termasuk yang berjalan di latar belakang. Ini akan mencantumkan semua sesi layar yang ada.
# screen -ls
There is a screen on:
10437.aloft (Attached)
1 Socket in /var/run/screen/S-root.
3) Perintah utama layar
Dimungkinkan untuk beroperasi dengan layar dengan menggunakan beberapa perintah. Kami akan membuat daftar di bawah perintah utama yang lebih berguna.
Ctrl-a
diikuti olehc
:membuat jendela baruCtrl-a
diikuti olehw
:menampilkan daftar semua jendela yang sedang dibukaCtrl-a
diikuti olehA
:ganti nama jendela saat ini. Nama tersebut akan muncul ketika Anda akan mencantumkan daftar jendela yang dibuka denganCtrl-a
diikuti olehw
.Ctrl-a
diikuti olehn
:pergi ke jendela berikutnyaCtrl-a
diikuti olehp
:pergi ke jendela sebelumnyaCtrl-a
diikuti dengan Ctrl-a:kembali ke jendela terakhir yang digunakan.Ctrl-a
diikuti dengan angka dari 0 hingga X:buka windows n° X.Ctrl-a
diikuti oleh"
:pilih jendela untuk melanjutkan.Ctrl-a
diikuti olehk
:tutup jendela saat ini (bunuh)Ctrl-a
diikuti olehS
:membagi jendela saat ini secara horizontal. Untuk beralih antar jendela, lakukanCtrl-a
diikuti olehTab
.Ctrl-a
diikuti oleh|
:membagi jendela saat ini secara vertikalCtrl-a
diikuti olehd
:melepaskan sesi layar tanpa menghentikannyaCtrl-a
diikuti olehr
:pasang kembali sesi layar terpisahCtrl-a
diikuti oleh[
:memulai mode salinCtrl-a
diikuti oleh]
:rekatkan teks yang disalin
4) Tampilkan parameter layar
Anda dapat membuat daftar semua parameter layar untuk bantuan. Untuk melakukannya, ketik Ctrl-a
diikuti dengan karakter ?
. Ini akan menampilkan daftar semua perintah.
5) Melepaskan sesi
Keuntungan terbaik dari perintah layar adalah kemungkinan untuk melepaskan sesi layar. Anda dapat memulai sesi layar pada satu komputer di kantor, melepaskan sesi dari terminal lokal, pulang, masuk ke komputer kantor kami dari jarak jauh dan memasang kembali sesi layar ke terminal komputer rumah kami. Selama waktu jeda, semua pekerjaan di komputer kantor Anda terus dijalankan. Fungsi ini digunakan untuk mencegah hilangnya data yang terjadi secara tiba-tiba saat koneksi ssh terputus.
Untuk memahami dengan baik apa yang kita bicarakan, mari kita ambil contoh. Kami meluncurkan proses penginstalan.
Sekarang kita akan melepaskan layar dengan Ctrl-a
diikuti oleh d
. Kita bisa mengeceknya dengan perintah di bawah ini.
# screen -ls
There is a screen on:
12449.win (Detached)
1 Socket in /var/run/screen/S-root.
Dimungkinkan untuk melepaskan layar dengan screen -d
perintah diikuti dengan id layar atau namanya. Ini berarti Anda perlu membuka jendela atau konsol lain untuk melepaskan sesi jika konsol saat ini sedang dalam proses. Anda harus terlebih dahulu membuat daftar layar terlampir saat ini.
# screen -ls
There is a screen on:
13686.win200 (Attached)
1 Socket in /var/run/screen/S-root.
Sekarang di terminal baru, masukkan perintah di bawah ini.
# screen -d 13686
atau bisa pakai nama
# screen -d win200
Anda akan memiliki output seperti di bawah ini yang menunjukkan bahwa layar terlepas.
[remote detached from 13686.win200]
6) Pasang kembali sesi
Setelah Anda melepaskan layar, Anda dapat memasangnya kembali dengan perintah. Biasanya sesi layar Anda masih berfungsi sehingga semua proses Anda tidak dihentikan. Sebelum memasang kembali sesi, Anda perlu membuat daftar sesi seperti di atas, lalu pilih sesi yang akan dipasang kembali.
# screen -r 13686
atau Anda dapat menggunakan
# screen -r win200
Anda dapat melihat bahwa setelah memasang kembali sesi, jendela menunjukkan akhir dari proses yang telah selesai. Artinya, Anda dapat mengerjakan ssh dan melepaskan sesi yang akan Anda pasang kembali di rumah untuk melanjutkan proses kerja tanpa kehilangan apa pun.
7) Buat shell interaktif baru
Jika Anda memiliki beberapa pekerjaan yang harus dilakukan dan Anda tidak ingin kehilangan pekerjaan Anda, Anda dapat membuat shell interaktif baru. Anda dapat dengan mudah membuka beberapa shell interaktif (bernomor dari 0 hingga X) di satu jendela terminal. Saat Anda memulai sesi baru, Anda akan berada di shell 0 .
Untuk melakukan ini, Anda perlu membuat jendela baru di dalam jendela yang ada dengan Ctrl-a
diikuti oleh c
. Anda akan memiliki sesuatu seperti di bawah ini.
Anda dapat melihat layar 3 di bagian atas tangkapan layar yang menunjukkan bahwa kita berada di layar ketiga. Di bagian bawah kita juga bisa melihat 3
8) Beralih di antara jendela layar
Bila Anda telah membuka lebih dari satu jendela layar, untuk beralih di antara setiap jendela, tekan Control-a
diikuti dengan space
atau nomor cangkang. Misalnya, untuk beralih ke shell nomor 1, tekan Control-a
lalu 1
. Misalnya, kita akan pindah ke layar pertama.
Bagian atas dan bawah tangkapan layar menunjukkan bahwa kita berada di layar pertama.
9) Membagi jendela
Untuk memiliki pandangan global tentang pekerjaan Anda, Anda mungkin perlu membagi jendela alih-alih memiliki banyak jendela. Ctrl-a
diikuti oleh S
atau |
membagi layar Anda secara horizontal atau vertikal. Dimungkinkan untuk mengulangi operasi tanpa batas. Untuk memindahkan jendela lain, gunakan Ctrl-a
diikuti oleh Tab
.
Saat kursor berada di jendela bawah, Anda dapat membuat jendela baru (Ctrl-a
diikuti oleh c
) atau panggil jendela yang ada (Ctrl-a
diikuti dengan angka).
Untuk menutup jendela yang terbelah, gunakan Ctrl-a
diikuti oleh X
(Perhatikan bahwa ini adalah karakter huruf besar).
10) Sambungkan kembali ke sesi ssh yang terputus
Saat pertama kali masuk,
- jalankan layar untuk memulai sesi layar. Anda mendapatkan shell lain, jalankan perintah di dalamnya.
# screen -S remote_session
- Setelah selesai, lepaskan sesi layar lalu logout ke ssh
[detached from 20995.remote_session]
- Anda dapat membuat daftar semua sesi layar terlebih dahulu
# screen -ls
There are screens on:
20995.remote_session (Detached)
14331.daby (Attached)
14134.mom (Detached)
3 Sockets in /var/run/screen/S-root.
- Hubungkan kembali ke sesi layar Anda dan lanjutkan pekerjaan Anda
# screen -d -r remote_ression
Perintah layar paling sering digunakan untuk sesi ssh karena membantu melanjutkan pekerjaan Anda setelah pemutusan sambungan tanpa kehilangan proses yang sedang berlangsung.
11) Gulir ke atas di jendela layar
Karena layar mengambil alih pengelolaan program jarak jauh, Anda tidak dapat menggunakan fitur gulir emulator terminal saat menjalankan layar. Anda harus menggunakan perintah Layar untuk mengakses buffer scrollback.
- Gunakan
Ctrl-a
diikuti olehescape
- Tekan tombol
Up
danDown
tombol panah atauPgUp
danPgDn
tombol untuk menggulir hasil sebelumnya.
Anda dapat melihat di mana kursor saya pada tangkapan layar. Setiap terminal virtual memiliki buffer scrollback sendiri.
12) Lihat pemilik setiap sesi layar
screen -ls
atau screen -list
perintah hanya menampilkan sesi layar Anda sendiri bahkan untuk root. Sejauh yang saya tahu itu bagus untuk layar itu sendiri.
Jika Anda ingin melihat sesi layar mana yang telah dimulai oleh pengguna yang melihat di setiap direktori pengguna di /var/run/screen/
.
# ls -lR /var/run/screen
/var/run/screen:
total 0
drwx------ 2 patrick patrick 60 Jun 17 20:47 S-patrick
drwx------ 2 root root 100 Jun 17 19:39 S-root
/var/run/screen/S-patrick:
total 0
srwx------ 1 patrick patrick 0 Jun 17 20:47 21941.pat_session
/var/run/screen/S-root:
total 0
srw------- 1 root root 0 Jun 9 16:45 14134.mom
srwx------ 1 root root 0 Jun 9 01:07 14331.daby
srwx------ 1 root root 0 Jun 17 20:46 20995.remote_session
13) Berbagi sesi layar dengan satu akun
Anda dapat meminta dua orang masuk ke akun yang sama dari lokasi yang jauh. Mereka dapat dengan mudah berbagi sesi layar (jadi apa yang diketik yang satu dilihat orang lain dan sebaliknya). Untuk melakukan ini:
- Buat sesi layar bernama:
# screen -d -m -S share_session
- Lampirkan ke sesi layar di jendela terminal Anda
# screen -x share_session
- Minta orang lain (masuk ke akun yang sama) juga melampirkan sesi layar
# screen -x share_session
Anda akan memiliki output yang sama persis ditampilkan di lokasi lain. Segala sesuatu yang akan muncul di terminal Anda juga akan muncul di terminal pengguna lain.
14) Sesi layar kunci
Dimungkinkan untuk mengunci sesi layar tanpa mengunci Anda pengguna sesi normal. Ini berarti Anda dapat meninggalkan komputer Anda dan memastikan tidak ada orang yang akan melakukan operasi yang tidak sah. Untuk melakukan ini, gunakan perintah Ctrl-a
diikuti oleh x
(Perhatikan bahwa ini adalah karakter huruf kecil).
Screen used by root <root> on centos-01.
Password:
15) Hentikan sesi layar
Setelah selesai dan ingin keluar dari screen session, Anda dapat menggunakan perintah Ctrl-a
diikuti oleh k
. Anda akan dimintai konfirmasi.
Anda juga dapat menggunakan perintah keluar. Jika Anda ingin menyimpan proses yang sedang berlangsung, Anda cukup melepaskan sesi layar Anda sebelum mengakhiri sesi.
Kesimpulan
Utilitas layar dapat memantau jendela untuk aktivitas atau ketidakaktifan. Ini bagus jika Anda mengunduh file besar, mengkompilasi, atau menunggu keluaran. Pada saat itu, jika diperlukan, Anda bahkan dapat memulai beberapa proses dari komputer menggunakan perintah layar dan melepaskannya setelah selesai.