linux – 为什么我不能附加屏幕会话

前端之家收集整理的这篇文章主要介绍了linux – 为什么我不能附加屏幕会话前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个屏幕会话运行我想:退出,但我不能,因为当我尝试重新连接时,我得到一个错误,说它无法打开我的终端.我确信我可以杀死守护进程或其他东西,但我需要学习“正确”的方式,以及实际发生的事情.
daniel@DELIRIUM:~/server1/bin/plugins$screen -list
 There is a screen on:
        1424.pts-0.DELIRIUM     (06/23/2011 01:18:14 PM)        (Detached)
 1 Socket in /var/run/screen/S-daniel.

 daniel@DELIRIUM:~/server1/bin/plugins$screen -r 1424
 Cannot open your terminal '/dev/pts/0' - please check.

什么是插座?你越愚蠢就越好.

解决方法

由于某种原因,您没有自己的TTY.您是否使用su从其他用户更改为该用户?通常,TTY归最初登录该终端的人所有.

有一个巧妙的技巧来解决这个问题(除了最初登录用户更改/ dev / pts / 0文件的权限),bsdutils包有一个名为script的程序,当运行时,它会像键盘记录器一样运行,保存您键入的内容和打印的程序.它启动另一个shell并为该shell分配另一个伪节点以记录所有这些,因此如果你运行脚本/ dev / null,它将创建一个具有适当权限的新伪节点,并开始将其上的所有内容记录到/ dev / null.然后,您将能够使用屏幕重新连接您的会话.

至于“套接字”,这是/ var / run / screen / S-username中命名管道文件(也称为FIFO)的屏幕术语,例如

prw------- 1 derf derf 0 Jun 23 22:42 30029.pts-0.server

当您第一次启动屏幕时,会创建此管道文件,以便连接您正在使用的屏幕进程,以查看程序实际运行的后台屏幕进程(通常重命名为SCREEN).当您运行screen -r时,您正在运行的屏幕进程打开此管道以与后台屏幕进程通信.

猜你在找的Linux相关文章