使 GNU 屏幕在重启后存活

fue*_*zig 19 reboot gnu gnu-screen

我经常使用 GNU 屏幕。我觉得很烦人,每次必须重新启动服务器时,我都会丢失所有会话(即使我事先知道,我也需要重新设置所有内容)。

我在网上搜索了如何让屏幕在重启后幸存下来的可能性,但没有找到适合我的方法。我发现的一些方法存在缺陷:

  • CryoPID:似乎已经死了,自 2005 年起承诺支持屏幕
  • DMCTP:setuid() 有问题,对我不起作用(我承认我没有很努力地尝试)
  • 一些试图从头开始重新创建会话的脚本;你仍然失去了你的历史,我认为环境变量也没有正确设置(当我尝试时它没有显示所有会话)

也许有人知道一些更好的过程冷冻机?这似乎是最有希望的方式。

chi*_*gsy 13

没有办法以您想要的方式保存屏幕会话。我所做的是接下来最好的事情:脚本化 autossh 以连接到我的服务器并按照我喜欢的方式设置我的装备。

爱它。

本地连接断开,我等待,它又恢复了,这是我的工作(我使用嵌套屏幕)。服务器关闭或重新启动,我等待,然后回到我的默认位置。这给了我想要的连续性的感觉。

无论如何,我多年前在屏幕列表中问过这个确切的问题。

简介: 不为银幕求永生。而是学习复活。

这是 .screenrc 配置的主要内容:

有一个例子,rscreen,在我修改成econnect程序的autossh包中。

--esc 参数是将远程屏幕转义设置为不同的东西(我的转义是`)

#add much much more scrollback
defscrollback 10000

# make some default windows

screen -t ADMIN     1
chdir /Users/chiggsy/Sites/
screen -t SITES    2
chdir /Users/chiggsy/src/
screen -t SRC 3
chdir
screen -t FERGUS  4 /Users/chiggsy/bin/econnect --host host.example.com --port 50000 --esc g --user sol
screen -t LAEG 5  /Users/chiggsy/bin/econnect --host host.example2.com --port 505000  --esc g --user invictus

screen -t ROOT      0   sudo su -m
Run Code Online (Sandbox Code Playgroud)