我有几台机器为个人用户启动屏幕会话。我通过运行
su news -c "screen -d -m -S news /usr/local/bin/newstask"
通常情况下,我可以使用
screen -r news/newstask
然而,在一台机器上,这会产生一个错误:
# screen -r news/newstask
There is a screen on:
2341.newstask (07.08.2016 11:28:33) (Private)
There is no screen to be attached matching newstask.
奇怪的是,会话显示为“(私人)”。
通常,它们被标记为“(多,分离)”。从另一台机器:
# screen -ls news/
There are several suitable screens on:
8973.newstask (07.08.2016 11:16:46) (Multi, detached)
1864.newsclient (07.08.2016 03:03:23) (Multi, detached)
1850.newsserver (07.08.2016 03:03:23) (Multi, detached)
3 Sockets in /var/run/screen/S-news.
这些会话被标记为“私人”的原因可能是什么?我该如何将其附加到这些会话中?或者我该如何避免会话被标记为私人?
谢谢。
答案1
也许这https://superuser.com/questions/193798/is-it-possible-to-make-a-screen-session-private就是你点击的内容。GNU Screen 可以有密码保护的会话。
答案2
默认情况下,screen
不允许您连接到其他用户的会话。要做到这一点,您必须使用命令multiuser
和addacl
(请参阅screen(1)
手册页)。
在您的情况下,假设您希望用户root
能够从用户访问屏幕news
,您必须将这些行添加到~news/.screenrc
:
multiuser on
addacl root