在虚拟会话之间快速切换(屏幕?)

zzz*_*zzz 21 linux session gnu-screen

我希望在一个腻子窗口中几乎没有虚拟会话,并在它们之间快速切换。这样做的最佳方法是什么?screen? 我知道我可以分离ctrl+ad然后重新连接到不同的会话,但这似乎需要大量输入。

Mat*_*hew 28

只是为了扩展 Ansgar 所说的内容,以防您对 gnu screen 不太熟悉,在单个屏幕会话中拥有多个“窗口”可能会完成您的需求。

ctrl+ a,c将在您的活动屏幕会话中创建一个新的“窗口”。您可以在多个窗口之间切换用(如安斯加尔所示)ctrl+ an并为下一个窗口,ctrl+ ap前一个窗口。

ctrl+ a"将为您提供所有打开的窗口的列表。

使用这些简单的快捷方式可以让您快速轻松地在不同终端之间切换,无需使用多个屏幕会话即可实现您的目标。

如果您将以下行添加到 ~/.screenrc 中,它将始终显示您打开的窗口以及选择了哪个窗口,因此您无需通过记住来跟踪您所在的窗口。

hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
Run Code Online (Sandbox Code Playgroud)

这是我喜欢使用的 hardstatus 行,但它是完全可定制的(请参阅手册页或在谷歌搜索“gnu screen hardstatus”)。

你可以用它做很多其他的事情(例如命名不同的打开窗口),所以值得阅读一些教程。

以下是我通过快速搜索找到的几个:

http://news.softpedia.com/news/GNU-Screen-Tutorial-44274.shtml

http://www.ibm.com/developerworks/aix/library/au-gnu_screen/

当然还有最有用的:

# From your terminal:
$ man screen
Run Code Online (Sandbox Code Playgroud)

希望有帮助。

马修


Ans*_*ers 2

是的,screen这很可能是可行的方法。Ctrl+ an将带您到下一个窗口,Ctrl+ ap到上一个窗口。Ctrl+ a, 0..9将允许您切换到特定屏幕。