我正在尝试以非我登录用户的身份使用屏幕。该命令以以下内容开始:
sudo -u user /usr/bin/screen -A -m -d -S screen ./nice_command
为了重新连接我正在使用screen -x screen
,但它总是说:
没有要连接的屏幕 匹配的屏幕
我的错误是什么?
编辑:
screen -x user/22969.screen
There is a screen on:
22969.screen (12/13/2011 11:37:43 PM) (Private)
答案1
由于您已su -u user
执行操作来获取 screen 会话,因此它现在属于user
。
您需要执行操作sudo -u user screen -x screen
来附加到它。
screen -x user/[pid].screen
或者如果屏幕处于多用户模式并且您有权访问它,则指定它的路径( )。screen -ls user/
将为您提供有关会话的信息user
。
要使多用户屏幕工作,您需要启用它ctrl+a:multiuser on
并添加用户ctrl+a:acladd root
(或其他用户)。这在屏幕内完成。
屏幕还需要设置用户 ID chmod u+s $(which screen)
,并且屏幕套接字目录必须可读。(这几乎总是这种情况)。
(这里有很好的指南:http://aperiodic.net/screen/multiuser)