当前位置:  开发笔记 > 编程语言 > 正文

什么是GNU Screen?

如何解决《什么是GNUScreen?》经验,为你挑选了1个好方法。

什么是GNU Screen?



1> dbr..:

什么是GNU Screen?大!

嗯,一个稍微有用的答案:它允许您在一个终端中运行多个控制台应用程序或命令.有点像标签式终端模拟器.事实上,这正是它的原因(只是没有使用常规的GUI工具包)

它为什么这么棒?很简单,您可以在屏幕会话中运行程序(运行screen并运行默认shell,运行screen myapp并在会话中运行myapp),按ctrl+ a(屏幕控制序列)然后按d(ctrl+ a,d)分离.

该程序在后台继续运行,与之不同的是mycmd &,您可以运行screen -r以重新连接会话,一切都在您离开时.您可以向命令发送输入,如果它是一个curses UI,一切仍然可以像它是一个"真正的"终端一样工作.

它非常受控制台IRC客户端的欢迎 - 您可以运行(比如说)screen irssi并从可以通过SSH连接的任何地方重新连接会话.

一些有用的命令:

ctrl+ a,c在会话中创建一个新的虚拟终端(或"窗口")

ctrl+ a,nctrl+ a,p通过多个窗口周期

ctrl+ a,1选择窗口1,ctrl+ a,4选择窗口4,依此类推

ctrl+ a,ctrl+ a在最后两个活动窗口之间轻弹

ctrl+ a,shift+ a(大写a)允许您重命名当前窗口

ctrl+ a,`(对我来说,那是shift+ 2- 引号)列出了窗口,你可以使用箭头并选择一个.对于"标签栏"设置也很有用,我将在一秒钟内列出

我偶然发现了一些其他有用的东西:

-U启动屏幕时使用该标志,以便它支持Unicode(例如,screen -xU)

-x标志允许您多次重新连接同一会话.(-r断开现有连接)

您可以使用状态栏执行有趣的操作.我有我的设置显示[ hostname ][ 0-$ bash (1*$ irssi) ][16/09 9:32](在主机名上运行,它有两个窗口.这是由我的.screenrc中的hardstatus行设置的(在答案的最后)

startup_message off
vbell off
hardstatus alwayslastline
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}]%{=y C}[%d/%m %c]%{W}'

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有