Saya menjalankan program kutukan interaktif dalam sesi layar pada perangkat keras yang cukup lemah. Sebagian besar waktu, layar terlepas. Apakah ada cara untuk program ini untuk mendeteksi situasi ini, dan pada dasarnya berhenti melukis di layar?
gnu-screen
Joachim Breitner
sumber
sumber
Jawaban:
Ada skrip irssi yang disebut
screen_away
yang menetapkan status Anda berdasarkan apakah layar terpasang atau tidak. Ini berfungsi seperti ini:Setiap shell yang berjalan di dalam layar akan memiliki
STY
variabel lingkungan diatur ke nama soket. Anda dapat berlariscreen -ls
untuk mendapatkan jalur tempat semua soket disimpan:Periksa bit eksekusi
/var/run/screen/.../$STY
. Jika diatur, layar terpasang; kalau tidak terlepas. Anda dapat melihat dari output di atas bahwa dua dari tiga layar saya terpasang, dan di sini bit eksekusi yang sesuai diatur:Anda juga bisa terus memeriksa output
screen -ls
untuk baris yang berisi$STY
, dan melihat apakah itu berakhir(Attached)
atau(Detached)
, tetapi itu membutuhkan berjalanscreen
berulang-ulangsumber