'script / dev / null'是做什么的?


21

每次我以root su用户身份登录VM并登录到用户帐户,并尝试使用screen它时都会引发错误:

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

一个Stack Overflow帖子说我需要使用script /dev/null它来修复它,并且它可以工作,但是仍然不能解释为什么我需要输入script /dev/null。我想了解它的作用以及为什么要键入它。


2
> Stack Overflow帖子说 –如果您还添加指向该帖子的链接(也许在评论中),可能会有所帮助。
törzsmókus

例如,它可能是stackoverflow.com/a/44244425/340790
JdeBP

Answers:


27

您无法打开/dev/pts/0它,因为它是根用户拥有的,与另一个用户结盟后,您将无法再通过它的路径来打开它,但是您仍然可以通过它的已打开的句柄来使用它。从父进程。

script /dev/null 将创建另一个由当前用户拥有的pty。

无论如何,该错误/限制似乎已经在screen(例如4.99.0)的最新版本中得到了修复,该错误/限制将通过SCM_RIGHTSunix域套接字上的辅助消息将句柄正确发送到当前终端,而不是仅发送名称。终端并让screen服务器尝试打开它(并失败)。与相同tmux

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.