Panduan Lengkap Perintah GNU Screen di Linux
GNU Screen adalah terminal multiplexer yang memungkinkan Anda membuat, mengelola, dan mempertahankan beberapa sesi shell dari satu jendela terminal. Ketika Anda melepaskan diri dari sesi Screen, setiap proses yang berjalan di dalamnya terus dieksekusi — bertahan dari pemutusan SSH, gangguan jaringan, dan penutupan terminal — dan tetap dapat diakses sepenuhnya saat Anda terhubung kembali.
Bagi siapa pun yang mengelola server jarak jauh melalui SSH, kemampuan tunggal ini menghilangkan seluruh kelas risiko operasional: koneksi yang terputus tidak lagi membunuh migrasi database yang sedang berjalan, pekerjaan kompilasi berjam-jam, atau proses pemantauan log secara langsung.
Mengapa GNU Screen Tetap Relevan dalam Administrasi Linux Modern
Alat seperti tmux telah mendapatkan popularitas, tetapi Screen dikirimkan sebagai paket default atau hampir default di hampir setiap distribusi Linux enterprise dan image server minimal. Ketika Anda SSH ke mesin bare-metal atau instance VPS Hosting yang baru disediakan, Screen hampir selalu tersedia tanpa instalasi tambahan apa pun. Jejak memorinya yang rendah dan kepatuhan POSIX menjadikannya pilihan pragmatis di lingkungan yang terbatas atau terkunci.
Kemampuan inti sekilas:
- Persistensi sesi: Proses bertahan dari pemutusan terminal, batas waktu SSH, dan crash sisi klien
- Multiplexing jendela: Beberapa jendela shell independen di dalam satu sesi
- Berbagi sesi: Dua pengguna dapat terhubung ke sesi yang sama secara bersamaan untuk debugging kolaboratif
- Akses konsol serial: Screen dapat terhubung langsung ke perangkat `/dev/ttyS*` untuk manajemen server out-of-band
- Startup yang dapat di-skrip: File konfigurasi `.screenrc` memungkinkan lingkungan multi-jendela yang sepenuhnya otomatis saat diluncurkan
GNU Screen vs. tmux: Memilih Multiplexer yang Tepat
Kedua alat menyelesaikan masalah inti yang sama tetapi dengan filosofi desain yang berbeda. Tabel di bawah ini mencakup perbedaan yang penting dalam lingkungan produksi.
| Fitur | GNU Screen | tmux |
|---|
| — | — | — |
|---|
| Ketersediaan default | Sudah terinstal di sebagian besar distro | Memerlukan instalasi eksplisit |
|---|
| File konfigurasi | `~/.screenrc` | `~/.tmux.conf` |
|---|
| Pemisahan panel (horizontal/vertikal) | Terbatas (hanya vertikal melalui region) | Pemisahan panel penuh dan fleksibel |
|---|
| Berbagi sesi | Multi-attach native | Multi-attach native |
|---|
| Skrip / otomasi | Injeksi perintah `screen -X` | `tmux send-keys`, API yang kaya |
|---|
| Jejak memori | Sangat rendah | Rendah |
|---|
| Dukungan perangkat serial | Ya (`screen /dev/ttyS0`) | Tidak |
|---|
| Kustomisasi status bar | Sedang (hardstatus) | Sangat fleksibel |
|---|
| Mode salin | Gaya vi | Gaya vi atau emacs |
|---|
| Ekosistem plugin | Tidak ada | Aktif (TPM) |
|---|
| Kasus penggunaan ideal | Server minimal, konsol serial, lingkungan lama | Workstation pengembang, tata letak kompleks |
|---|
Panduan praktis: Pada Dedicated Server headless yang menjalankan pekerjaan latar belakang jangka panjang, kesederhanaan dan ketersediaan universal Screen menjadikannya pilihan dengan hambatan lebih rendah. Untuk pengembang yang membutuhkan panel terpisah dan status bar yang kaya, tmux lebih unggul.
Menginstal GNU Screen
Screen sudah terinstal di sebagian besar distribusi. Verifikasi dengan:
“`bash
screen –version
“`
Jika tidak ada, instal menggunakan manajer paket yang sesuai:
Debian / Ubuntu:
“`bash
sudo apt-get update && sudo apt-get install screen
“`
CentOS / RHEL 7:
“`bash
sudo yum install screen
“`
CentOS Stream / RHEL 8+ / AlmaLinux / Rocky Linux:
“`bash
sudo dnf install screen
“`
Fedora:
“`bash
sudo dnf install screen
“`
Arch Linux:
“`bash
sudo pacman -S screen
“`
Alpine Linux (umum dalam container):
“`bash
apk add screen
“`
Setelah instalasi, tidak diperlukan daemon atau layanan. Screen beroperasi sepenuhnya sebagai proses user-space.
Memulai Sesi Screen
Sesi Dasar
“`bash
screen
“`
Ini membawa Anda ke sesi baru dengan shell standar. Antarmukanya tidak dapat dibedakan dari terminal normal hingga Anda menggunakan prefiks perintah Screen.
Sesi Bernama (Direkomendasikan)
“`bash
screen -S session_name
“`
Selalu beri nama sesi Anda dalam produksi. Sesi tanpa nama hanya diidentifikasi oleh PID-nya, yang membuat penghubungan kembali rawan kesalahan ketika beberapa sesi sedang berjalan.
Tips konvensi penamaan: Gunakan nama deskriptif yang mencerminkan beban kerja — `screen -S db-migration`, `screen -S log-monitor`, `screen -S build-php82`. Ini memberikan manfaat ketika Anda kembali ke server setelah beberapa jam pergi.
Memulai Sesi dan Langsung Menjalankan Perintah
“`bash
screen -S backup-job bash -c 'rsync -avz /data/ user@remote:/backup/ && echo DONE'
“`
Sesi tetap ada bahkan setelah perintah selesai, memungkinkan Anda memeriksa output nanti.
Memulai Sesi dalam Mode Terlepas
“`bash
screen -dmS headless-job ./long_running_script.sh
“`
Flag `-dm` membuat sesi dan langsung melepaskannya. Ini adalah pola yang benar untuk meluncurkan pekerjaan latar belakang dari cron atau skrip deployment — proses berjalan di dalam sesi Screen bernama yang dapat dipulihkan tanpa memerlukan terminal interaktif.
Prefiks Perintah: Memahami Ctrl+A
Setiap pintasan keyboard Screen dimulai dengan urutan escape `Ctrl+A`. Penekanan tombol ini memberi tahu Screen bahwa karakter berikutnya adalah perintah, bukan input untuk program yang sedang berjalan. Memahami model ini sangat penting sebelum menghafal pintasan individual.
Jika Anda menjalankan program di dalam Screen yang sendirinya menggunakan `Ctrl+A` (misalnya, beberapa editor teks atau pustaka `readline`), Anda dapat mengirim `Ctrl+A` literal ke program dalam dengan menekan `Ctrl+A` dua kali (`Ctrl+A, Ctrl+A`).
Melepaskan dan Menghubungkan Kembali Sesi
Melepaskan dari Sesi yang Sedang Berjalan
“`
Ctrl+A, D
“`
Sesi terus berjalan di latar belakang. Anda dikembalikan ke shell induk. Tidak ada proses di dalam sesi yang terganggu.
Menampilkan Semua Sesi
“`bash
screen -ls
“`
Contoh output:
“`
There are screens on:
14231.db-migration (Detached)
14089.log-monitor (Attached)
13901.build-php82 (Detached)
3 Sockets in /var/run/screen/S-deploy.
“`
Status `Attached` berarti terminal lain saat ini terhubung ke sesi tersebut. `Detached` berarti sesi sedang berjalan tetapi tidak ada terminal yang terhubung.
Menghubungkan Kembali ke Sesi Tertentu
“`bash
screen -r db-migration
“`
Atau berdasarkan PID:
“`bash
screen -r 14231
“`
Paksa-Hubungkan ke Sesi yang Sudah Terhubung
Jika sesi menampilkan `Attached` tetapi Anda perlu mengambil alihnya (misalnya, setelah koneksi SSH yang basi membiarkannya terkunci):
“`bash
screen -d -r log-monitor
“`
Flag `-d` secara paksa melepaskan koneksi lain sebelum menghubungkan kembali Anda. Ini adalah teknik pemulihan penting ketika sesi SSH sebelumnya mati tanpa melepaskan diri dengan bersih.
Multi-Attach: Dua Pengguna pada Sesi yang Sama
“`bash
screen -x session_name
“`
Kedua terminal melihat output yang identik secara real time. Ini sangat berharga untuk debugging berpasangan atau panduan server terpandu bersama rekan — kedua pihak mengamati dan dapat berinteraksi dengan shell yang sama.
Mengelola Jendela dalam Sesi
Satu sesi Screen dapat berisi jumlah jendela yang tidak terbatas. Setiap jendela adalah shell (atau proses) yang independen.
Membuat Jendela Baru
“`
Ctrl+A, C
“`
Navigasi Antar Jendela
| Pintasan | Aksi |
|---|
| — | — |
|---|
| `Ctrl+A, N` | Jendela berikutnya |
|---|
| `Ctrl+A, P` | Jendela sebelumnya |
|---|
| `Ctrl+A, 0–9` | Langsung ke jendela berdasarkan nomor |
|---|
| `Ctrl+A, "` | Daftar interaktif semua jendela |
|---|
| `Ctrl+A, '` | Prompt untuk memasukkan nomor atau nama jendela |
|---|
Mengganti Nama Jendela
“`
Ctrl+A, A
“`
Ketik nama baru dan tekan Enter. Nama jendela yang bermakna ditampilkan di bilah hardstatus, membuat navigasi jauh lebih cepat dalam sesi dengan banyak jendela.
Menutup Jendela
Ketik `exit` atau tekan `Ctrl+D` di shell jendela. Ketika jendela terakhir dalam sesi ditutup, sesi berakhir.
Membagi Layar menjadi Region
Screen mendukung pembagian terminal menjadi beberapa region yang terlihat, masing-masing menampilkan jendela yang berbeda secara bersamaan.
Bagi Secara Horizontal (atas/bawah)
“`
Ctrl+A, S
“`
Bagi Secara Vertikal (kiri/kanan)
“`
Ctrl+A, |
“`
Catatan: Pembagian vertikal memerlukan Screen 4.1.0 atau lebih baru.
Berpindah Antar Region
“`
Ctrl+A, Tab
“`
Menetapkan Jendela ke Region
Setelah memindahkan fokus ke region, gunakan `Ctrl+A, "` untuk memilih jendela mana yang akan ditampilkan di sana.
Menghapus Region
“`
Ctrl+A, X (remove current region)
Ctrl+A, Q (remove all regions except current)
“`
Perbedaan penting: Menghapus region tidak menutup jendela yang berjalan di dalamnya. Jendela terus berjalan; Anda hanya berhenti menampilkannya di split tersebut.
Salin dan Tempel (Mode Scrollback)
Screen mempertahankan buffer scrollback untuk setiap jendela. Untuk mengaksesnya:
“`
Ctrl+A, [
“`
Ini memasuki mode salin. Navigasi menggunakan tombol gaya vi:
- `h`, `j`, `k`, `l` — pindahkan kursor
- `Ctrl+F` / `Ctrl+B` — halaman maju / mundur
- `/` — cari ke depan
- `?` — cari ke belakang
- `Space` — tandai awal seleksi
- `Space` (lagi) — tandai akhir dan salin ke buffer
Untuk menempel teks yang disalin:
“`
Ctrl+A, ]
“`
Buffer scrollback default adalah 100 baris. Untuk pemantauan log server, tingkatkan ini secara signifikan di `.screenrc` (dibahas di bawah).
Mengunci Sesi Screen
“`
Ctrl+A, X
“`
Sesi langsung terkunci dan meminta kata sandi pengguna Unix Anda sebelum mengizinkan akses. Gunakan ini saat meninggalkan terminal yang terhubung ke server sensitif — ini lebih cepat daripada menutup koneksi SSH dan menghubungkan kembali.
Mengirim Perintah ke Sesi Tanpa Menghubungkan
Flag `-X` memungkinkan Anda menyuntikkan perintah Screen ke sesi yang sedang berjalan dari luar:
“`bash
screen -S db-migration -X stuff "tail -f /var/log/mysql/error.logn"
“`
Perintah `stuff` mengirim penekanan tombol ke jendela aktif dari sesi bernama. `n` mensimulasikan penekanan Enter. Teknik ini digunakan dalam skrip otomasi deployment untuk berinteraksi dengan sesi Screen yang berjalan lama tanpa memerlukan penghubungan manusia.
Mengonfigurasi Screen dengan .screenrc
File `~/.screenrc` dibaca saat startup dan mengontrol perilaku default Screen. File `.screenrc` yang dibuat dengan baik mengubah Screen dari multiplexer dasar menjadi lingkungan yang benar-benar ergonomis.
Buat atau edit:
“`bash
nano ~/.screenrc
“`
Konfigurasi .screenrc Produksi yang Direkomendasikan
“`bash
Disable the startup message
startup_message off
Set scrollback buffer to 10,000 lines (critical for log monitoring)
defscrollback 10000
Enable UTF-8
defutf8 on
Set default shell
shell -$SHELL
Visual bell instead of audible
vbell on
Hardstatus bar: shows hostname, window list, and current time
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
Bind F2 to create a new window
bindkey -k k2 screen
Change escape key to Ctrl+B (useful if Ctrl+A conflicts with other tools)
escape ^Bb
Auto-detach on hangup signal (critical for SSH session drops)
autodetach on
Disable flow control (prevents Ctrl+S from freezing the terminal)
defflow off
“`
Direktif `autodetach on` tidak dapat dinegosiasikan untuk penggunaan SSH. Tanpanya, jika koneksi SSH Anda terputus secara tak terduga (bukan karena Anda menekan `Ctrl+A, D`), Screen mungkin mengakhiri sesi alih-alih melepaskannya. Dengan `autodetach on`, sinyal SIGHUP (dikirim saat SSH memutuskan koneksi) memicu pelepasan bersih daripada penghentian sesi.
`defflow off` mencegah frustrasi umum karena tidak sengaja menekan `Ctrl+S` dan tampaknya membekukan terminal. Banyak administrator membuang waktu berjam-jam untuk memecahkan masalah terminal yang “beku” yang sebenarnya hanya dalam jeda kontrol aliran XON/XOFF.
Kasus Penggunaan Produksi Praktis
Menjalankan Migrasi Database dengan Aman
“`bash
screen -S db-migrate
Inside the session:
php artisan migrate –force 2>&1 | tee /var/log/migration-$(date +%F).log
Detach: Ctrl+A, D
Reattach later to check progress:
screen -r db-migrate
“`
Jika koneksi SSH terputus di tengah migrasi, proses terus berlanjut. Anda menghubungkan kembali dan menemukan proses masih berjalan atau selesai dengan output lengkap yang tersimpan di log dan buffer scrollback.
Memantau Beberapa File Log Secara Bersamaan
“`bash
screen -S monitoring
Window 0: nginx access log
tail -f /var/log/nginx/access.log
Ctrl+A, C — new window
Window 1: application error log
tail -f /var/log/app/error.log
Ctrl+A, C — new window
Window 2: system messages
journalctl -f
“`
Navigasi antar jendela dengan `Ctrl+A, "` untuk melihat log mana yang menghasilkan aktivitas.
Skrip Deployment Otomatis dengan Screen
“`bash
#!/bin/bash
screen -dmS deploy bash -c '
git pull origin main &&
composer install –no-dev &&
php artisan config:cache &&
systemctl reload php8.2-fpm &&
echo "Deployment complete at $(date)" >> /var/log/deploy.log
'
echo "Deployment started in background screen session 'deploy'"
echo "Monitor with: screen -r deploy"
“`
Pola ini sangat berguna pada VPS dengan cPanel di mana Anda mungkin mengelola beberapa deployment aplikasi dari satu shell administratif.
Akses Konsol Serial
“`bash
screen /dev/ttyS0 115200
“`
Screen berfungsi ganda sebagai emulator terminal serial. Ini adalah teknik standar untuk mengakses konsol server fisik, switch jaringan, atau perangkat tertanam melalui koneksi serial — tanpa memerlukan minicom atau picocom.
Kesalahan Umum dan Cara Menghindarinya
Sesi Screen bersarang: Jika Anda SSH dari sesi Screen di Mesin A ke Mesin B dan memulai Screen di sana, Anda sekarang memiliki dua lapisan penanganan `Ctrl+A`. Sesi Screen dalam menangkap `Ctrl+A` sebelum yang luar melihatnya. Untuk mengirim `Ctrl+A` ke sesi luar, tekan `Ctrl+A, Ctrl+A`. Untuk menghindari kebingungan, ubah tombol escape sesi dalam di `.screenrc`-nya menggunakan `escape ^Bb`.
Sesi mati tidak dibersihkan: Jika Screen crash atau host melakukan reboot secara tidak bersih, file socket mungkin tetap ada di `/var/run/screen/` atau `~/.screen/`, menampilkan sesi sebagai `Dead`. Bersihkan dengan:
“`bash
screen -wipe
“`
Sesi milik root vs. pengguna: Sesi Screen yang dimulai sebagai root tidak dapat dihubungkan kembali oleh pengguna non-root, dan sebaliknya. Jika Anda `sudo su` di dalam sesi Screen dan kemudian melepaskan diri, hubungkan kembali sebagai root atau melalui `sudo screen -r`.
Ketidakcocokan variabel `TERM`: Beberapa aplikasi di dalam Screen berperilaku tidak benar karena `TERM` diatur ke `screen` atau `screen-256color` daripada `xterm-256color`. Jika aplikasi TUI merender dengan tidak benar, periksa dengan `echo $TERM` dan timpa di `.screenrc` dengan `term xterm-256color` jika diperlukan.
Kelelahan buffer scrollback: Scrollback default 100 baris tidak memadai untuk pemantauan log serius apa pun. Selalu atur `defscrollback 10000` atau lebih tinggi di `.screenrc` pada server yang digunakan untuk administrasi aktif.
Referensi Cepat: Perintah Screen Penting
| Aksi | Perintah / Pintasan |
|---|
| — | — |
|---|
| Mulai sesi baru | `screen` |
|---|
| Mulai sesi bernama | `screen -S name` |
|---|
| Mulai sesi terlepas | `screen -dmS name` |
|---|
| Daftar sesi | `screen -ls` |
|---|
| Hubungkan kembali berdasarkan nama | `screen -r name` |
|---|
| Paksa hubungkan kembali | `screen -d -r name` |
|---|
| Multi-attach | `screen -x name` |
|---|
| Lepaskan | `Ctrl+A, D` |
|---|
| Jendela baru | `Ctrl+A, C` |
|---|
| Jendela berikutnya | `Ctrl+A, N` |
|---|
| Jendela sebelumnya | `Ctrl+A, P` |
|---|
| Daftar jendela | `Ctrl+A, "` |
|---|
| Ganti nama jendela | `Ctrl+A, A` |
|---|
| Bagi horizontal | `Ctrl+A, S` |
|---|
| Bagi vertikal | `Ctrl+A, | ` |
|---|
| Pindah antar region | `Ctrl+A, Tab` |
|---|
| Masuk mode salin/gulir | `Ctrl+A, [` |
|---|
| Tempel buffer | `Ctrl+A, ]` |
|---|
| Kunci sesi | `Ctrl+A, X` |
|---|
| Matikan jendela saat ini | `Ctrl+A, K` |
|---|
| Matikan seluruh sesi | `Ctrl+A, ` |
|---|
| Kirim perintah ke sesi | `screen -S name -X stuff "cmdn"` |
|---|
| Bersihkan sesi mati | `screen -wipe` |
|---|
Konteks Deployment: Screen pada Lingkungan Hosting Terkelola
Screen beroperasi di tingkat shell, membuatnya kompatibel dengan lingkungan Linux apa pun di mana Anda memiliki akses SSH. Ini mencakup server bare-metal, Dedicated Server, dan instance VPS Hosting standar. Screen tidak tersedia di lingkungan shared hosting di mana akses SSH dibatasi atau tidak ada.
Untuk beban kerja yang melibatkan pemrosesan latar belakang persisten — seperti inferensi model yang dipercepat GPU, pra-pemrosesan dataset besar, atau pekerjaan batch yang berjalan lama — menggabungkan Screen dengan lingkungan GPU Hosting memberi Anda sumber daya komputasi dan persistensi sesi yang diperlukan untuk mengelola pekerjaan berjam-jam secara andal.
Jika infrastruktur Anda mencakup layanan yang menghadap web bersama pemrosesan latar belakang, memadukan pekerjaan backend yang dikelola Screen dengan SSL Certificates yang diamankan dengan benar pada endpoint publik Anda memastikan seluruh tumpukan — baik lapisan aplikasi yang terlihat maupun backend administratif — beroperasi dengan kontrol keamanan yang sesuai.
Matriks Keputusan: Kapan Menggunakan Screen
Gunakan Screen ketika:
- Anda membutuhkan persistensi sesi pada server di mana hanya Screen yang tersedia
- Anda mengakses konsol serial atau perangkat tertanam
- Anda menjalankan satu proses berdurasi panjang dan tidak memerlukan panel terpisah
- Anda berada di sistem berbasis Alpine atau BusyBox minimal
- Anda perlu berbagi sesi dengan administrator lain secara real time
Pertimbangkan tmux sebagai gantinya ketika:
- Anda memerlukan pemisahan panel horizontal dan vertikal yang fleksibel
- Anda menginginkan ekosistem plugin untuk peningkatan status bar
- Anda membangun lingkungan workstation pengembang dengan tata letak kompleks
- Tim Anda telah menstandarisasi manajemen konfigurasi tmux
Jangan gunakan keduanya (gunakan systemd atau supervisor sebagai gantinya) ketika:
- Tujuannya semata-mata untuk menjalankan layanan latar belakang yang harus bertahan dari reboot
- Anda tidak memerlukan akses interaktif ke proses yang sedang berjalan
- Proses harus restart secara otomatis saat gagal
Daftar Periksa Poin Teknis Utama
Sebelum mengandalkan Screen dalam lingkungan produksi, verifikasi hal-hal berikut:
- `autodetach on` ada di `~/.screenrc` — tanpanya, pemutusan SSH dapat mematikan sesi
- `defscrollback` diatur minimal 5000 baris untuk beban kerja yang banyak log
- `defflow off` diatur untuk mencegah pembekuan `Ctrl+S` yang tidak disengaja
- Semua sesi yang berjalan lama diberi nama (`-S flag`) — jangan pernah mengandalkan identifikasi hanya berdasarkan PID
- Anda mengetahui perintah pemulihan `screen -d -r` untuk sesi yang terhubung secara basi
- Socket sesi mati dibersihkan secara berkala dengan `screen -wipe`
- Jika menjalankan sebagai beberapa pengguna, Anda memahami batas kepemilikan sesi root/pengguna
- Variabel `TERM` diverifikasi jika aplikasi TUI merender dengan tidak benar di dalam Screen
- Untuk pekerjaan latar belakang yang sepenuhnya otomatis, `screen -dmS` digunakan daripada `nohup` atau `&` biasa, memberi Anda sesi yang dapat dipulihkan dan diperiksa
FAQ
Apakah GNU Screen bertahan dari reboot server?
Tidak. Sesi Screen disimpan dalam memori sebagai proses. Reboot server penuh mengakhiri semua sesi Screen dan proses anaknya. Untuk proses yang harus bertahan dari reboot, gunakan unit systemd atau supervisor proses seperti Supervisor. Screen adalah alat yang tepat untuk persistensi interaktif di seluruh pemutusan koneksi, bukan di seluruh reboot.
Apa perbedaan antara `screen -r` dan `screen -x`?
`screen -r` menghubungkan kembali ke sesi yang terlepas — ini gagal jika sesi sudah terhubung di tempat lain. `screen -x` menghubungkan ke sesi terlepas dari status koneksinya saat ini, memungkinkan dua terminal berbagi sesi yang sama secara bersamaan. Gunakan `-x` untuk debugging kolaboratif; gunakan `-r` untuk penghubungan kembali standar.
Bagaimana cara menggulir ke atas di dalam jendela Screen?
Masuk ke mode salin dengan `Ctrl+A, [`, lalu gunakan tombol panah, `Page Up`/`Page Down`, atau navigasi gaya vi (`Ctrl+F`, `Ctrl+B`). Tekan `Escape` atau `q` untuk keluar dari mode salin. Pastikan `defscrollback` di `.screenrc` diatur cukup tinggi untuk mempertahankan riwayat yang Anda butuhkan.
Bisakah Screen digunakan tanpa hak akses root?
Ya. Screen berjalan sepenuhnya sebagai pengguna yang memanggilnya. Tidak diperlukan hak akses root untuk membuat, menghubungkan, atau mengelola sesi. File socket disimpan di direktori per-pengguna (biasanya `/var/run/screen/S-username/`). Satu-satunya pengecualian adalah jika Screen itu sendiri tidak terinstal — instalasi memerlukan akses manajer paket, yang biasanya memerlukan root atau sudo.
Mengapa sesi Screen saya menampilkan “Attached” padahal tidak ada yang terhubung?
Ini biasanya terjadi ketika koneksi SSH terputus tanpa mengirim SIGHUP yang bersih — misalnya, karena batas waktu jaringan daripada logout eksplisit. Sesi mempertahankan status `Attached`-nya karena Screen tidak pernah menerima sinyal pemutusan. Gunakan `screen -d -r session_name` untuk secara paksa melepaskan koneksi hantu dan menghubungkan kembali dengan bersih.
