有没有办法让“屏幕”会话继续重新启动?

我正在使用Screen实用程序,并希望在机器重新启动时保留会话。 如果不可能的话,你可以推荐屏幕其他select,以保留重新启动之间的会话。

如果有问题,我正在使用Ubuntu Server 10.04(Lucid Lynx)。

我有几个会话通过屏幕打开。 当机器重新启动时,所有这些会话都会丢失,我必须重新打开它们。 我想find一种方法来保存这些屏幕会话。

首先,让我们澄清一些重要的事情:

  1. 涉及多less台机器? 换句话说,你是连接到远程机器还是本地机器上的所有东西?
  2. 如果涉及到远程机器,哪台机器重新启动:是服务器还是客户机?

如果涉及到一台机器,或者如果服务器正在重新启动,那么你几乎是运气不好。

如果您正在login到远程计算机,但需要重新启动本地计算机,则只要在远程计算机上而不是本地计算机上运行屏幕就没有问题。 我意识到这对于任何经验丰富的(即使是有点经验的)用户来说都是显而易见的,但是我提到它以防万一它可能会有所帮助。

还有一种可能性(再次,这是否对你有帮助取决于你的情况)是在虚拟机上用屏幕运行机器。 假设它是一个远程物理服务器,需要重新启动,但是它有一个客户操作系统(例如)VMware。 您可以暂停客户操作系统,并在硬件重新启动后重新启动它。 这一切都取决于为什么你需要重新启动,这是没有指定,以及多less控制你的机器,是否你愿意去所有的麻烦。

没有简单的解决scheme,可能没有任何解决scheme可以为您工作。 但是好运。

如果你login到很多机器上,在所有的远程机器上分别运行屏幕看起来可能太痛苦了。 在这种情况下,有一个中间机器运行屏幕是有用的,它可以有许多屏幕窗口,每个屏幕窗口都login到另一个远程机器。 只要中间机器保持运转,你可以重新启动你自己的本地机器(或者把它装进包里,晚上带回家,等等),屏幕一直在中间机器上运行。 (显然,如果任何一台远程机器出现故障,您将失去与该机器的连接,但是其他屏幕会话没问题。)

但是,大多数情况下,您指的是远程机器或唯一一台正在重新启动的机器,在这种情况下,没有简单的方法来实现。 CryoPID起初听起来很有希望,但是它的网站却说它不适用于屏幕。

但还有一个有前途的select值得探讨。 (它是否会为你工作,很大程度上取决于你正在尝试做什么。)在github.com上查看: https : //github.com/skoneka/screen-session/tree/master/ScreenSession/

你不能。 当然不在同一台机器上

在一些罕见的情况下,这是可能的(见CryoPID或CryoPID2 ),但一般来说这是困难的,所以不能这样做。

而不是使用屏幕,使用一个小的Virtualbox虚拟机,并在里面工作。 然后,您可以hibernate,重启主机,然后唤醒虚拟机(就像closures和重新打开笔记本电脑的盖子一样)。 SSH连接到远程主机可能不会持续这种方法,我不认为这是可以保证的。

在所有这一切,屏幕本身是相当边缘的。 不是你想要“保存”的屏幕,而是屏幕会话中的环境,不pipe它们是什么。

你似乎build议保存一个屏幕会话将涵盖它内部的SSH进程和各种。 屏幕内部运行的并不是屏幕的任何事情,而这些都是很难“保存”的事情……如果可以实现的话,那将是什么意思。