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 :
Flag | Deskripsi | Contoh |
-ls | Lists the current screen sessions | screen -ls |
-aS | Create and names a screen session which include all capabilities | screen -aS screen name |
-R | Create new screen with specific name | screen -R screen name |
-r | Resume a detached screen session | screen -r (name|pid) |
-x | Attach to an attached screen session | screen -x (name|pid) |
-d | Detach an attached screen session | screen -d (name|pid) |
-m | Start an new screen session in detached mode and run $command | screen -d -m $command |
-DR | Force disconnect of current user and reconnect with your user | screen -DR |
-wipe | Removes 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 :
key | binding |
? | Menampilkan daftar perintah kunci (key binding) |
“ | melihat list screen yang aktif |
c | membuat terminal screen baru |
n | berpindah ke tugas screen berikutnya (next) |
p | berpindah ke tugas screen sebelumnya (previous) |
d | keluar dan menyimpan tugas screen |
a | berpindah ke screen yang barus saja digunakan |
A | mengganti nama tugas screen saat ini |
H | membuat 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