Panduan singkat ini menjelaskan cara memeriksa apakah Anda berada di Layar sesi atau tidak di Linux. Seperti yang mungkin Anda perhatikan, saat Anda meluncurkan Tmux sesi, Anda jelas akan melihat detail sesi, seperti nama SHELL saat ini, nama host dan tanggal dan waktu saat ini, di bilah status di bagian bawah seperti yang ditunjukkan pada gambar di bawah ini.
Detail sesi Tmux
Tetapi Anda tidak akan melihat detail seperti itu saat Anda berada di dalam sesi Layar. Berikut adalah tampilan sesi layar pada sistem Ubuntu saya:
Sesi layar
Dapatkah Anda melihat perbedaannya? Sesi layar dan sesi normal akan persis sama. Mari kita jalankan perintah "screen -ls" ke daftar sesi layar yang sedang berjalan.
$ screen -ls
Contoh keluaran:
Membuat daftar sesi layar
Lihat? Saya berada di dalam sesi Layar, tetapi sepertinya sesi normal. Tidak ada indikasi di bilah status di bagian bawah. Bagaimana Anda tahu apakah Anda bekerja di dalam sesi Layar atau tidak? Itulah yang akan kita temukan sekarang.
Periksa Apakah Anda Ada di Sesi Layar Atau Tidak di Linux
Ada beberapa cara untuk memverifikasi apakah kita berada dalam sesi Layar. Di sini saya telah memberikan tiga metode.
Metode 1 - Menggunakan perintah "echo"
Untuk memeriksa apakah Anda berada dalam sesi Layar atau tidak, cukup jalankan perintah berikut:
$ echo $STY
Jika Anda berada di dalam sesi Layar, Anda akan melihat output seperti di bawah ini.
18704.pts-0.ostechnix
Berikut cara lain untuk memeriksa apakah Anda berada di sesi Layar:
$ echo $TERM
Anda akan melihat istilah "layar" dalam keluaran.
Contoh keluaran:
screen.xterm-256color
Periksa Apakah Anda Sedang Dalam Sesi Layar Di Linux
Jika tidak ada sesi layar yang berjalan, Anda tidak akan melihat apa pun untuk perintah pertama. Dan untuk perintah kedua, tidak akan ada istilah "layar" di output. Cukup keluar atau lepaskan dari sesi layar dan jalankan kembali perintah di atas. Anda akan melihat output seperti di bawah ini.
Periksa sesi layar
Lihat? Kami tidak berada di dalam sesi Layar.
Dua perintah di atas hanya akan berfungsi jika Anda sedang menjalankan sesi layar di sistem lokal Anda. Ini tidak akan berfungsi jika Anda memulai sesi Layar di sistem lokal dan kemudian mengakses beberapa sistem lain di jaringan melalui SSH.
Dalam hal ini, Anda dapat menggunakan metode kedua yang diberikan di bawah ini.
Metode 2 - Menggunakan kunci awalan Layar
Untuk memeriksa apakah kita sedang dalam sesi Layar atau tidak, cukup tekan Ctrl+a lalu Ctrl+t kunci. Ini akan menunjukkan waktu dan nama host jika Anda berada di sesi Layar.
Lihat demo berikut.
Periksa apakah Anda berada di sesi Layar menggunakan kunci awalan Layar
Seperti yang Anda lakukan pada output di atas,
- Pertama, saya memulai sesi Layar dan menekan tombol Ctrl+a dan Ctrl+t untuk memeriksa apakah saya sedang dalam sesi Layar.
- Kemudian saya lepas dari sesi Layar dengan menekan Ctrl+a dan d .
- Dan akhirnya saya menyambungkan kembali ke sesi Layar dan menekan Ctrl+a dan Ctrl+t untuk memeriksa lagi apakah saya dalam sesi Layar.
Metode ini akan berhasil jika Anda menggunakan SSH meskipun Anda memiliki SSH di tempat lain.
Metode 3 - Menggunakan perintah Caption
Jika Anda tidak suka menekan tombol setiap saat, Anda dapat menambahkan kode berikut di ~/.screenrc Anda mengajukan. Jika file ini tidak tersedia, buat saja.
$ nano ~/.screenrc
Tambahkan kode:
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
Simpan dan tutup file.
Mulai sekarang, setiap kali Anda meluncurkan sesi Layar, Anda akan melihat bilah pemberitahuan kecil (dengan menyertakan nama host, waktu dan tanggal, Beban sistem, dll.,) di bagian bawah jendela Terminal seperti yang ditunjukkan di bawah ini.
Screen session on ubuntuserver (system load: 0.00 0.00 0.00) Sat 22.02.2020 12:37
Tampilkan detail sesi Layar di bagian bawah jendela Terminal Menggunakan perintah Caption
Bilah notifikasi ini akan hilang setelah Anda keluar dari sesi Layar.
Metode 4 - Setel prompt Bash yang berbeda untuk sesi Layar
Ini adalah cara lain untuk membuat sesi Layar mudah dikenali dengan menambahkan beberapa baris kode di ~/.bashrc mengajukan. Sebenarnya ini bukan metode yang disarankan . Ini dapat menyebabkan banyak masalah yang tidak perlu jika shell lain seperti zsh mewarisi shell Anda saat ini. Ini hanya untuk tujuan pendidikan saja. Gunakan dengan risiko Anda sendiri!
Pertama, buat cadangan ~/.bashrc Anda saat ini berkas:
$ cp ~/.bashrc ~/.bashrc.bak
Cukup atur nama prompt Bash yang berbeda untuk sesi normal dan Layar seperti yang Anda inginkan seperti di bawah ini. Misalnya saya telah menambahkan baris berikut di ~/.bashrc . saya berkas.
if [ -z $STY ] then PS1="This is normal session:~$ " else PS1="This is Screen session:~$ " fi
Keluar dan masuk kembali. Nama prompt Terminal Anda akan berubah sesuai pengaturan Anda saat Anda beralih antara sesi normal dan layar.
Setel prompt Bash yang berbeda untuk sesi Layar
Sekali lagi, Ini bukan praktik yang baik untuk mengubah nama prompt Bash. Sebagai gantinya, cukup gunakan salah satu metode sebelumnya untuk memeriksa apakah Anda berada di sesi Layar atau tidak.
Bacaan terkait:
- Cara Menyesuaikan Bash Prompt Di Linux
Semoga membantu.