Dalam panduan ini, kita akan melihat apa itu Layar GNU dan penggunaan dasar perintah Layar dengan contoh di sistem operasi Linux dan Unix.
Apa itu Layar GNU?
Layar GNU adalah multiplexer terminal (manajer jendela). Seperti namanya, Layar menggandakan terminal fisik di antara beberapa shell interaktif, sehingga kami dapat melakukan tugas yang berbeda di setiap sesi terminal.
Semua sesi layar menjalankan program mereka sepenuhnya independen. Jadi, program atau proses yang berjalan di dalam sesi layar akan tetap berjalan meskipun sesi tersebut secara tidak sengaja ditutup atau terputus.
Misalnya, saat memperbarui Ubuntu server melalui SSH, perintah Layar akan terus menjalankan proses peningkatan jika sesi SSH Anda dihentikan karena alasan apa pun.
Layar GNU memungkinkan kita untuk dengan mudah membuat beberapa sesi layar, beralih di antara sesi yang berbeda, menyalin teks antar sesi, melampirkan atau melepaskan dari sesi kapan saja dan seterusnya.
Layar GNU adalah salah satu alat baris perintah penting yang harus dipelajari dan digunakan oleh setiap admin Linux di mana pun diperlukan.
Mari kita lihat bagaimana mengelola beberapa sesi Terminal menggunakan perintah Screen dengan contoh di Linux.
Instal Layar GNU di Linux
Layar GNU tersedia di repositori default sebagian besar sistem operasi Linux.
Untuk menginstal GNU Screen di Arch Linux, EndeavourOS, Manjaro Linux, jalankan:
$ sudo pacman -S screen
Di Debian, Ubuntu, Linux Mint:
$ sudo apt-get install screen
Di Fedora, RHEL, CentOS. AlmaLinux, Rocky Linux:
$ sudo dnf install screen
Atau,
$ sudo yum install screen
Pada CentOS 8, Layar tidak tersedia di repositori resmi. Jadi, Anda perlu mengaktifkan [EPEL]
repositori dan kemudian instal layar.
$ sudo dnf install epel-release
$ sudo dnf install screen
Di SUSE/openSUSE:
$ sudo zypper install screen
Mari kita lanjutkan dan lihat beberapa contoh perintah layar.
Contoh Perintah Layar
Pintasan awalan default untuk semua perintah di Layar adalah Ctrl+a
. Anda harus sering menggunakan pintasan ini saat menggunakan Layar. Jadi, ingat saja pintasan keyboard ini.
Buat sesi Layar baru
Mari kita membuat sesi Layar baru dan melampirkannya. Untuk melakukannya, ketik perintah berikut di terminal:
screen
Sekarang, jalankan program atau proses apa pun di dalam sesi ini. Proses atau program yang sedang berjalan akan tetap berjalan meskipun Anda terputus dari sesi ini.
Melepas dari sesi Layar
Untuk melepaskan dari dalam sesi layar, tekan Ctrl+a dan d . Anda tidak perlu menekan kedua kombinasi tombol secara bersamaan. Tekan pertama Ctrl+a lalu tekan d . Setelah melepaskan dari sesi, Anda akan melihat output seperti di bawah ini.
[detached from 29149.pts-0.sk]
Di sini, 29149 adalah ID layar dan pts-0.sk adalah nama sesi layar. Anda dapat melampirkan, melepaskan, dan mematikan sesi Layar menggunakan ID layar atau nama sesi masing-masing.
Buat sesi bernama
Anda juga dapat membuat sesi layar dengan nama kustom pilihan Anda selain nama pengguna default seperti di bawah ini.
screen -S ostechnix
Perintah di atas akan membuat sesi layar baru dengan nama "xxxxx.ostechnix" dan segera pasang. Untuk melepaskan dari sesi saat ini, tekan Ctrl+a diikuti oleh d .
Memberi nama sesi layar dapat membantu ketika Anda ingin menemukan proses mana yang berjalan di sesi mana. Misalnya, saat menyiapkan tumpukan LAMP di dalam sesi, Anda cukup menamainya seperti di bawah ini.
screen -S lampstack
Buat sesi terpisah
Terkadang, Anda mungkin ingin membuat sesi, tetapi tidak ingin melampirkannya secara otomatis. Dalam kasus seperti itu, jalankan perintah berikut untuk membuat sesi terpisah bernama "senthil" :
screen -S senthil -d -m
Atau, segera:
screen -dmS senthil
Perintah di atas akan membuat sesi yang disebut "senthil", tetapi tidak akan dilampirkan padanya.
Mencantumkan sesi Layar
Untuk membuat daftar semua sesi yang sedang berjalan (terlampir atau terlepas), jalankan:
screen -ls
Contoh keluaran:
There are screens on: 29700.senthil (Detached) 29415.ostechnix (Detached) 29149.pts-0.sk (Detached) 3 Sockets in /run/screens/S-sk.
Seperti yang Anda lihat, saya memiliki tiga sesi lari dan semuanya terpisah.
Jika tidak ada sesi layar yang berjalan, Anda akan mendapatkan output seperti di bawah ini.
No Sockets found in /run/screen/S-sk.
Lampirkan ke sesi Layar
Jika Anda ingin melampirkan sesi kapan saja, misalnya 29415.ostechnix , cukup jalankan:
screen -r 29415.ostechnix
Atau,
screen -r ostechnix
Atau, cukup gunakan ID layar:
screen -r 29415
Untuk memverifikasi apakah kami terhubung dengan sesi yang disebutkan di atas, cukup daftarkan sesi terbuka dan periksa.
screen -ls
Contoh keluaran:
There are screens on: 29700.senthil (Detached) 29415.ostechnix (Attached) 29149.pts-0.sk (Detached) 3 Sockets in /run/screens/S-sk.
Seperti yang Anda lihat pada output di atas, saat ini kami dilampirkan ke 29415.ostechnix sidang. Untuk keluar dari sesi saat ini, tekan ctrl+a, d.
Buat sesi bertingkat
Ketika kita menjalankan perintah "screen", itu akan membuat satu sesi untuk kita. Namun, kita dapat membuat sesi bersarang (sesi di dalam sesi).
Pertama, buat sesi baru atau lampirkan ke sesi yang dibuka. Saya akan membuat sesi baru bernama "bersarang".
screen -S nested
Sekarang, tekan Ctrl+a dan c di dalam sesi untuk membuat sesi lain. Ulangi saja ini untuk membuat sejumlah sesi Layar bersarang. Setiap sesi akan diberi nomor. Nomor akan dimulai dari 0 .
Anda dapat pindah ke sesi berikutnya dengan menekan Ctrl+n dan pindah ke sebelumnya dengan menekan Ctrl+p .
Berikut adalah daftar pintasan Keyboard penting untuk mengelola sesi bersarang.
- Ctrl+a ” - Cantumkan semua sesi
- Ctrl+a 0 - Beralih ke nomor sesi 0
- Ctrl+a n - Beralih ke sesi berikutnya
- Ctrl+a p - Beralih ke sesi sebelumnya
- Ctrl+a S - Pisahkan wilayah saat ini secara horizontal menjadi dua wilayah
- Ctrl+a l - Pisahkan wilayah saat ini secara vertikal menjadi dua wilayah
- Ctrl+a T - Tutup semua sesi kecuali sesi saat ini
- Ctrl+a X - Tutup sesi saat ini
- Ctrl+a \ - Matikan semua sesi dan hentikan Layar
- Ctrl+a ? - Tampilkan ikatan kunci. Untuk keluar dari ini, tekan ENTER.
Kunci sesi
Layar memiliki opsi untuk mengunci sesi layar. Untuk melakukannya, tekan Ctrl+a dan x . Masukkan kata sandi Linux Anda untuk mengunci layar.
Screen used by sk <sk> on ubuntuserver. Password:
Sesi logging
Anda mungkin ingin mencatat semuanya saat Anda berada dalam sesi Layar. Untuk melakukannya, cukup tekan Ctrl+a dan H .
Atau, Anda dapat mengaktifkan logging saat memulai sesi baru menggunakan -L parameter.
screen -L
Mulai sekarang, semua aktivitas yang Anda lakukan di dalam sesi akan direkam dan disimpan dalam file bernama screenlog.x di direktori $HOME Anda. Di sini, x adalah angka.
Anda dapat melihat konten file log menggunakan cat perintah atau aplikasi penampil teks apa pun.
Bacaan yang disarankan:
- Cara Merekam Semua yang Anda Lakukan Di Terminal
Sesi Layar Mulai Otomatis
Sesi Layar mulai otomatis akan sangat membantu saat menjalankan proses yang berjalan lama melalui SSH. Jika Anda kehilangan konektivitas jaringan karena alasan apa pun, proses akan tetap berjalan di dalam sesi Layar di sistem jarak jauh dan Anda dapat menyambungkannya kembali saat jaringan kembali online. Untuk mengetahui cara memulai layar secara otomatis saat memulai sistem, lihat tautan berikut.
- Cara Memulai Otomatis Sesi Layar Di Linux Saat Masuk
Periksa Apakah Anda seorang sesi Layar atau tidak
Seperti yang mungkin Anda perhatikan, sesi normal dan sesi Layar akan terlihat persis sama. Anda tidak akan melihat indikasi yang jelas apakah Anda berada di dalam sesi Layar atau sesi normal. Untuk mengetahui apakah Anda sedang dalam sesi Layar atau tidak, ikuti langkah-langkah yang diberikan pada tautan di bawah ini.
- Cara Memeriksa Apakah Anda Sedang Di Layar Sesi Atau Tidak di Linux
Sesi Layar Pembunuh
Jika sesi tidak diperlukan lagi, matikan saja. Untuk mematikan sesi terpisah bernama "senthil":
screen -r senthil -X quit
Atau,
screen -X -S senthil quit
Atau,
screen -X -S 29415 quit
Jika tidak ada sesi terbuka, Anda akan melihat output berikut:
$ screen -ls No Sockets found in /run/screens/S-sk.
Untuk detail lebih lanjut, lihat halaman manual.
$ man screen
Ada juga utilitas baris perintah serupa bernama "Tmux" yang melakukan pekerjaan yang sama seperti yang dilakukan Layar GNU. Untuk mengetahui lebih lanjut tentangnya, lihat panduan berikut.
- Contoh Perintah Tmux Untuk Mengelola Beberapa Sesi Terminal