Menggunakan Linux Screen di CentOS

Apa itu Screen?

Linux screen merupakan aplikasi terminal yang dikembangkan oleh GNU project yang berfungsi sebagai terminal multiplexing. Dengan kata lain, Screen membagi terminal fisik ke dalam beberapa virtual session yang tetap tersimpan dan berjalan di background. Cara kerjanya adalah pada saat anda bekerja pada terminal dengan menggunakan Screen, maka pekerjaan yang dikerjakan pada session tersebut akan tetap berjalan meskipun terminal sudah tertutup. Kemudian saat session screen tersebut dpanggil kembali, maka terminal akan menampilkan kondisi terakhir dari pekerjaan yang sedang dikerjakan pada session screen tersebut.

Instalasi

Pada dasarnya Screen sudah terinstal di semua distro Linux. Gunakan command berikut untuk mengetahui apakah screen sudah terinstall atau belum :

$ screen –version

Jika sudah terinstall maka akan muncul versi dari screen tersebut :

screen version 4.01.00devel (GNU) 2-May-06

Apabila belum, gunakan command berikut untuk menginstall screen :

$ yum -y install screen

Sintak Perintah

Sebelum membahas cara menggunakan perintah screen, mari kita mulai dengan meninjau sintaks dasar :

# screen [flag] [screen name]
  • [flag] – opsi atau arguman yang digunakan dalam menjalankan command screen
  • [screen name] – nama dari session screen yang ingin dijalankan

Flag Pada Screen

Berikut ini beberapa flag pada screen yang sering digunakan :

FlagDeskripsiContoh
-lsLists the current screen sessionsscreen -ls
-aSCreate and names a screen session which include all capabilitiesscreen -aS screen name
-RCreate new screen with specific namescreen -R screen name
-rResume a detached screen sessionscreen -r (name|pid)
-xAttach to an attached screen sessionscreen -x (name|pid)
-dDetach an attached screen sessionscreen -d (name|pid)
-mStart an new screen session in detached mode and run $commandscreen -d -m $command
-DRForce disconnect of current user and reconnect with your userscreen -DR
-wipeRemoves all dead screen sessions. (Sessions that are unreachable)screen -wipe

Perintah Kunci dalam Screen (Key Binding)

Saat berada dalam session screen, gunakan tombol kombinasi ctrl+a untuk mengaktifkan beberapa fungsi perintah kunci (Key Binding) berikut ini :

keybinding
?Menampilkan daftar perintah kunci (key binding)
melihat list screen yang aktif
cmembuat terminal screen baru
nberpindah ke tugas screen berikutnya (next)
pberpindah ke tugas screen sebelumnya (previous)
dkeluar dan menyimpan tugas screen
aberpindah ke screen yang barus saja digunakan
Amengganti nama tugas screen saat ini
Hmembuat sesi log anda ke file teks biasa

Contoh

Apabila anda ingin membuat sebuah terminal dengan identitas tertentu ketikkan command berikut :

$ screen -R satria-screen

Command diatas akan membuat sebuah screen session baru bernama satria-screen. Dan apabila ingin melihat sesion screen yang aktif pada Terminal (pada kondisi masih berada dalam session screen ‘satria-screen’) kita jalankan command berikut :

$ screen -ls
There are screens on:
        16932.satria-screen        (Attached)
        27138.codger-update-rpm    (Detached)
2 Sockets in /var/run/screen/S-root.

Output dari command diatas menunjukkan ada 2 buah sesi screen pada terminal kita dan untuk satria-screen saat ini sedang ter-attached. Untuk men-detached session screen yang aktif gunakan perintah kunci ctrl+a d . Maka akan kita akan kelaur dari session screen. Untuk melihat kembali status screen gunakan command berikut :

$ screen -ls
There are screens on:
        16932.satria-screen        (Detached)
        27138.codger-update-rpm    (Detached)
2 Sockets in /var/run/screen/S-root.</code></pre>

Apabila kita sudah keluar dari session screen (Detach) dan ingin masuk kembali (Attach) jalankan command berikut :

$ screen -r satria-screen

Kita juga bisa re-Attach ke dalam screen yang masih dalam status ter-Attach dengan command berikut :

screen -x satria-screen

Ini sangat berguna untuk masuk kembali saat koneksi SSH kita terputus, sedangkan kita belum men-Detach screen terahir yang sedang digunakan.

Apabila kita ingin menutup session screen yang sedang berjalan cukup ketikkan exit pada session yang berjalan :

$ exit

Secara otomatis screen yang berjalan akan tertutup dan kita kembali ke terminal awal. Apabila kita ingin menutup session screen yang ada pada background proses tanpa masuk dahulu ke session screennya, jalankan command berikut :

$ screen -X -S 27138.codger-update-rpm quit

Command tersebut akan menutup screen bernama codger-update-rpm. Apabila anda ingin menutup seluruh session screen yang berjalan, jalankan command berikut :

$ pkill screen

atau :

$ killall screen

Kesimpulan

Sebagai system administrator terkadang kita harus mengerjakan proses atau script yang panjang dan lama pada sebuah jendela terminal SSH. Namun sayangnya ketika koneksi SSH terputus maka proses yang sedang dijalankan juga ikut terputus dan harus dijalanka kembali dari awal. Dengan menggunakan screen kita dapat membuat terminal yang akan tetap berjalan di background, sehingga apabila SSH session kita terputus maka pekerjaan yang kita jalankan pada screen tersebut tetap berjalan dan dapat dipanggil kembali.

Referensi

Mengenal Screen Command di Linux – Linuxnoobs Blog

Cara Lengkap Untuk Install Linux Screen dan Menggunakannya (hostinger.co.id)

Mengenal “screen” di linux (gemaroprek.com)

Can’t resume screen, says I am already attached? – Unix & Linux Stack Exchange

How to Use the Screen Command in Linux | Liquid Web

How to use the Linux screen command to keep your remote processes running – TechRepublic