退出 SSH 后,Arch Linux 上的屏幕会话消失

退出 SSH 后,Arch Linux 上的屏幕会话消失

在 Arch Linux 上(我在一台专用服务器上,我的域名仅指向一个 IP),当我通过 SSH 连接到一个用户(例如,用户 mc)时,然后执行

screen -S test

(或 -dmS,产生的问题是相同的),运行一个命令,然后从中分离,然后退出我的 SSH 会话,并重新登录,屏幕会话消失。

screen -ls

返回

在 /run/screens/S-mc 中未找到套接字。

我可以重新连接到我的会话的唯一方法是我从未退出我的 SSH。

我该如何解决?

  • 我确实对 /run/screens/S-mc 有读/写权限
  • 我使用 Ctrl-A,D 退出屏幕会话
  • disown -a && exit给了我同样的问题
  • shopt huponexit返回“huponexit off”

没有 ~/.logout,而 ~/.bash_logout 是空的,有 3 行注释,告诉我这是 ~/.bash_logout 文件

ls -l /usr/bin | grep screen 

返回

lrwxrwxrwx 1 root root 12 Oct 31 2012 screen -> screen-4.0.3 
-rwsr-xr-x 1 root root 363672 Oct 31 2012 screen-4.0.3

答案1

原来我的 /run/utmp 文件已损坏。为了修复我的问题,我做了

cd /run/
>utmp
reboot

它又开始工作了。

答案2

我有同样的问题,但我发现消失的屏幕进程是在 root 上运行的。只需切换到 root sudo su,然后我就可以通过以下方式找到屏幕进程screen -ls

相关内容