我正在非常弱的硬件上的屏幕会话中运行交互式诅咒程序。大多数时候,屏幕是分离的。有没有办法让这个程序检测到这种情况,并基本上停止在屏幕上绘画?
答案1
有一个名为 irssi 的脚本screen_away
根据屏幕是否连接来设置您的离开状态。它的工作原理如下:
每个在屏幕内运行的 shell 都会有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
您还可以继续检查包含 的行的输出,并查看它是否以or$STY
结尾,但这需要一遍又一遍地运行(Attached)
(Detached)
screen