如何使屏幕-R附加到最小的独立会话中?


16

我在debian lenny上使用屏幕,我想使用该-R选项。来自man screen

   -R   attempts  to  resume  the  youngest  (in  terms  of creation time)
        detached screen session it finds.  If successful, all  other  com‐
        mand-line  options  are  ignored.   If no detached session exists,
        starts a new session using the specified options, just  as  if  -R
        had  not been specified.

但是,当我运行screen -R它时,它实际上并没有附加到最小的分离会话中。相反,它抱怨有“几个合适的屏幕”,我需要选择其中一个。

我想念什么吗?如何按照广告宣传进行这项工作?


1
Note: Time-based session selection is a Debian addition.==>您是使用screenDebian 的默认值还是自己编译?
2010年

@Jan Claeys:我首先尝试了Debian lenny二进制文件,然后从git://git.savannah.gnu.org/screen.git的最新资源构建屏幕。行为是相同的。
Wim Coenen 2010年

Answers:


18

尝试使用screen -RR

例:

$ screen -ls
There are screens on:
    5958.pts-3.sys01    (08/26/2010 11:40:43 PM)    (Detached)
    5850.pts-1.sys01    (08/26/2010 11:40:35 PM)    (Detached)
2 Sockets in /var/run/screen/S-sdn.

请注意,屏幕5958是最小的屏幕。使用screen -RR连接到屏幕5958。有关这些-RR选项的说明,请参见文档-d -RR

   -d -RR  Reattach a session and if necessary detach or  create  it.  Use
           the first session if more than one session is available.

我经常使用的另一个技巧是为-S屏幕添加标签/标签。然后,您可以使用该标签重新附加标签,而不必记住列表变得笨拙时每个屏幕上发生的情况。

示例(vim和curl的启动屏幕):

$ screen -dm -S curl
$ screen -dm -S vim 
$ screen -list

There are screens on:  
    11292.vim       (08/27/2010 12:02:53 AM)        (Detached)
    11273.curl      (08/27/2010 12:01:42 AM)        (Detached)

注意:该-dm选项仅用于启动分离屏幕

然后,以后您可以使用标签轻松地重新连接curl

# screen -R curl

是不是screen -D -RRscreen -d -RR
niutech '16

为了节省一些时间,也可以使用Shift键screen -rr
Fmstrat '18年

0

我在gnome-terminal中使用screen -R,正如您所说,如果同时运行2个会话,则gnome-terminal立即退出。

我通过运行解决了

sh -c "screen -R || screen -D -RR"

就像您期望的那样工作。


或简单的“屏幕为RR”的建议由大卫:d
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.