GNU/Linux >> Belajar Linux >  >> Linux

Contoh Perintah Layar Untuk Mengelola Beberapa Sesi Terminal

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

Linux
  1. Berbagi Sesi Terminal Linux Dengan Tmux dan Layar

  2. Gunakan Perintah Layar untuk Mengelola Sesi Terminal di Ubuntu 20.04

  3. 8 Contoh Perintah Linux TR

  1. 10 Contoh Perintah Cat untuk Mengelola File di Linux / UNIX

  2. 20 Contoh Perintah Zypper untuk Mengelola Paket di SUSE Linux

  3. Contoh Perintah diskutil Terminal Mac

  1. Cara Menggunakan Layar GNU untuk Mengelola Sesi Terminal di Linux

  2. 7 Contoh Perintah Linux df

  3. Bagaimana cara memulai beberapa sesi layar secara otomatis?