GNU/Linux >> Belajar Linux >  >> Linux

Cara Memeriksa Apakah Anda Ada di Sesi Layar Atau Tidak Di Linux

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.


Linux
  1. Bagaimana cara menghentikan proses layar di linux?

  2. di konsol linux, cara TIDAK membungkus keluaran

  3. Bagaimana saya tahu saya menjalankan di dalam layar linux atau tidak?

  1. Cara memeriksa versi Redhat

  2. Cara Memeriksa Zona Waktu di Linux

  3. Bagaimana Mengetahui Distribusi Linux Yang Anda Gunakan?

  1. Cara Memeriksa Riwayat Masuk Linux

  2. Cara Menemukan Shell Yang Anda Gunakan di Linux

  3. Di linux, bagaimana Anda memeriksa apakah sebuah disk terfragmentasi?