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?
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?
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 berlari screen -ls
untuk mendapatkan jalur tempat semua soket disimpan:
$ screen -ls
There are screens on:
11824.pts-24.mmrozek (Attached)
2306.ssh (Detached)
6615.chat (Attached)
3 Sockets in /var/run/screen/S-mmrozek.
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:
$ ls -l /var/run/screen/S-mmrozek/
total 0
prwx------ 1 mmrozek mmrozek 0 Oct 5 13:04 11824.pts-24.mmrozek
prw------- 1 mmrozek mmrozek 0 Sep 23 23:45 2306.ssh
prwx------ 1 mmrozek mmrozek 0 Oct 5 12:43 6615.chat
Anda juga bisa terus memeriksa output screen -ls
untuk baris yang berisi $STY
, dan melihat apakah itu berakhir (Attached)
atau (Detached)
, tetapi itu membutuhkan berjalan screen
berulang-ulang