分类: LINUX
2010-07-26 02:54:18
GNU Screen大致功能相当于控制台的“窗口管理器”。为了向GNU
Screen发送命令,你必须配置一个特殊的组合键来将普通按键和命令按键区别开来,默认情况下这个组合键是Ctrl+A
,在文档中写做^A
。
^A c 新建虚拟控制台
^A w 查看虚拟控制台列表
^A A 重命名虚拟控制台
想要关闭当前虚拟控制台时,只需要键入exit来退出运行在当窗口中的shell或者其他进程即可。
^A [n] 移动到号码为n的虚拟控制台
^A [SPACE] 移动到下一个虚拟控制台
^A p 移动到上一个虚拟控制台
GNU Screen可以进入一个叫做“拷贝模式”的操作界面,在这种情况下,你可以使用光标在整个虚拟控制台自由的移动,并且可以像在Vi编辑器中那样进行搜索和拷贝操作。
^A [ 进入拷贝模式
[SPACE] 标记拷贝内容;移动光标到需要拷贝内容的起始位置,按SPACE;再移动到终止位置,再次按SPACE结束拷贝
^A ] 从拷贝缓冲区中粘贴内容
GNU Screen在运行开始后可以一直维持一个“对话”(Session),当你仅仅想离开这个会话而不希望会话内容结束的话,你可以进行“分离” (Detach)操作。这样可以让系统保持会话,并维持会话中的运行内容不会结束。当你再次想回到之前保存的会话时,可以“连接”(attach)到会话 上去。
^A d 分离
在对话型shell中
screen -ls 查看screen的进程
screen -r [进程ID] 回到screen进程
screen -d [进程ID] 远程分离
screen -x [进程ID] 多重连接;在这种情况中,这个“对话”(Session)可以被多个客户端链接
一些这些技巧可能不是特别常用,详细的使用方法请查看手册man
screen
。
^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"