Solusi 1:
(Dicuri dari "Bagaimana saya tahu apakah saya ada di layar?" di StackOverflow dan ditulis oleh pengguna jho. P.S. Anda tidak dapat memilih duplikat di seluruh situs StackExchange.)
Centang $STY
. Jika nol, Anda berada di terminal "asli". Jika berisi sesuatu, itu adalah nama layar tempat Anda berada.
Jika Anda tidak ada di layar:
[email protected] ~ $ echo $STY
[email protected] ~ $
Jika Anda berada di layar:
[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71
Jika Anda menggunakan tmux sebagai pengganti layar, centang juga $TMUX
. Untuk menambahkan ini ke prompt Anda, tambahkan berikut ini ke ~/.bashrc
Anda :
if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi
Solusi 2:
Cari $STY
yang memberikan detail bahwa screen
gunakan untuk berkomunikasi dengan dirinya sendiri; $WINDOW
kemudian akan menjadi screen
saat ini nomor jendela.
Solusi 3:
Pemeriksaan sederhana yang biasanya saya gunakan adalah dengan menekan Ctrl -a :
-
Jika kursor melompat ke awal baris , saya tidak di dalam sesi layar.
-
Jika tidak terjadi apa-apa , saya tahu bahwa Saya ada di dalam sesi layar dan saya baru saja menggunakan tombol kontrol layar. Saya kemudian menekan a (melompat ke awal baris), w (tampilkan jendela layar saat ini) atau jalankan beberapa perintah layar "tidak berbahaya" lainnya untuk kembali ke prompt perintah.
(Tentu saja, ini hanya berfungsi jika Anda sedang menjalankan bash atau perangkat lunak lain yang "melompat ke awal baris" atau melakukan sesuatu yang sama tidak berbahayanya saat menekan Ctrl-a.)
Solusi 4:
Nah, paling waktu (tidak ada upaya seseorang untuk mengacaukan sesuatu) TERM
Anda akan disetel ke screen
(atau setidaknya sebutkan screen
di suatu tempat).
Solusi mudah untuk masalah ini adalah menjalankan layar di mana saja. Jangan tinggalkan rumah tanpanya, kataku.
Solusi 5:
Saya menyimpan ini di .bashrc
saya :
PS1='[\[email protected]\h \W'
if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
PS1="$PS1]$"
Ini tidak mudah, tetapi setiap kali saya membuat layar baru, itu menempatkan nomor jendela di prompt. Jika saya tidak menjalankan screen
, tidak ada nomor.