Я запускаю інтерактивну програму прокльонів на екрані сесії на досить слабкому обладнання. Більшу частину часу екран знімається. Чи є в цій програмі спосіб виявити цю ситуацію і в основному припинити малювати на екрані?
Я запускаю інтерактивну програму прокльонів на екрані сесії на досить слабкому обладнання. Більшу частину часу екран знімається. Чи є в цій програмі спосіб виявити цю ситуацію і в основному припинити малювати на екрані?
Відповіді:
Існує сценарій irssi під назвою, screen_away
який встановлює ваш статус відключення залежно від того, доданий екран чи ні. Це працює так:
Кожна оболонка, що працює на екрані, STY
змінна середовища буде встановлена на ім'я сокета. Ви можете бігти, screen -ls
щоб отримати шлях, де зберігаються всі сокети:
$ 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.
Перевірте біт виконання /var/run/screen/.../$STY
. Якщо він встановлений, екран додається; інакше він відокремлений. З висновку видно, що два мої три екрани додаються, і тут встановлені відповідні біти виконання:
$ 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
Ви також можете просто тримати перевірки виведення screen -ls
для рядка , яка містить $STY
, і подивитися , якщо він закінчується (Attached)
або (Detached)
, але це вимагає запуску screen
знову і знову