您的位置:首页 > 其它

【转】GNU Screen的使用方法

2011-12-02 15:08 134 查看

基本命令

GNU Screen大致功能相当于控制台的“窗口管理器”。为了向GNUScreen发送命令,你必须配置一个特殊的组合键来将普通按键和命令按键区别开来,默认情况下这个组合键是
Ctrl+A
,在文档中写做
^A


^A c        新建虚拟控制台
^A w        查看虚拟控制台列表
^A A        重命名虚拟控制台


想要关闭当前虚拟控制台时,只需要键入exit来退出运行在当窗口中的shell或者其他进程即可。

在虚拟控制台之间切换

^A 
      移动到号码为n的虚拟控制台
^A [SPACE]  移动到下一个虚拟控制台
^A p        移动到上一个虚拟控制台

拷贝模式

GNUScreen可以进入一个叫做“拷贝模式”的操作界面,在这种情况下,你可以使用光标在整个虚拟控制台自由的移动,并且可以像在Vi编辑器中那样进行搜索和拷贝操作。

^A [        进入拷贝模式
[SPACE]     标记拷贝内容;移动光标到需要拷贝内容的起始位置,按SPACE;再移动到终止位置,再次按SPACE结束拷贝
^A ]        从拷贝缓冲区中粘贴内容

连接和分离

GNUScreen在运行开始后可以一直维持一个“对话”(Session),当你仅仅想离开这个会话而不希望会话内容结束的话,你可以进行“分离”(Detach)操作。这样可以让系统保持会话,并维持会话中的运行内容不会结束。当你再次想回到之前保存的会话时,可以“连接”(attach)到会话上去。

^A d        分离
在对话型shell中
screen -ls          查看screen的进程
screen -r [进程ID]   回到screen进程
screen -d [进程ID]   远程分离
screen -x [进程ID]   多重连接;在这种情况中,这个“对话”(Session)可以被多个客户端链接

其它

一些这些技巧可能不是特别常用,详细的使用方法请查看手册
manscreen


分割画面

^A S        将画面分割为平行分割为2个
^A [TAB]    移动到下一个屏幕分割区域中
^A Q        将现在光标所在的屏幕区域扩展到整个控制台上
^A X        将其他屏幕区域扩展到控制台上

这里有个小技巧,你可以在
~/.screenrc
中设置如下两种方式中的任何一个,让screen的窗口分割作成Vim风格或者Emacs风格。

Vim风格

bind n split
bind j focus
bind 1 only
bind q remove

Emacs风格

bind 2 split
bind o focus
bind 1 only
bind 0 remove

改变控制台的字符编码

^A :encoding (utf8|euc|gb2312)

在控制台的状态栏显示窗口标题

hardstatus alwayslastline "%w"

或者,使用下面的方法,将活动窗口的标题设置成为蓝色,同时显示时钟。

hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: