在su上使用另一个用户的屏幕

所以,如果我这样做:

su -c 'screen -dmS screenname script to run' - user to run as 

它不会工作。 如果从根开始执行屏幕命令,那么这里没有问题。

如果我做:

 su - user screen 

我得到:

 Cannot open your terminal '/dev/pts/0' - please check. 

哪里不对?

编辑:我一直在寻找,似乎无法find任何这个问题的好办法。

我会去做最好的事情:以root身份运行屏幕。

原因是,当你login的时候,你会得到一个tty,你的情况目前叫/ dev / pts / 0。 您是唯一可以访问该tty的人,否则其他用户可能会在工作时混淆会话。 (Root,当然也有权访问,因为root始终可以访问所有内容。)

当你找别人的时候,你仍然保留自己的tty – 因为那是你的东西将被展示的地方。 但是现在你想让其他的用户能够接pipe你的tty并开始展示他们自己的东西。

如果你相信服务器上的其他用户,或者至less是你要起诉的其他用户,那么你可以使你的tty可写,或者把你自己和其他用户添加到一个组中,并使其成为可写组。 或者你可以自己启动屏幕,然后从内部启动屏幕。

有一个更好的窍门 :

 su - user script /dev/null screen 

你可以这样运行你的屏幕:

脚本-q -c“screen -RD”/ dev / null