-
1
创建,
1. screen命令,创建一个执行shell的全屏窗口。键入exit退出自动切换到前一个窗口。
2. screen命令后跟你要执行的程序,如screen vi test.c,退出vi将退出该窗口/会话。
3. 在screen会话中创建新的窗口。在当前screen窗口中键入C-a c(Ctrl+a,之后再按c键)。
-
2
选项,
-r 连接会话
-d 断开会话
-t 会话title
-S 命名会话(screen -ls会看到)
-wipe 清除该死掉会话
更多选项请看screen --help
-
3
实例,
可以不中断screen窗口中程序的运行而暂时断开(detach)screen会话,并在随后时间重新连接(attach)该会话,重新控制各窗口中运行的程序。
[jawidx@fedev n-5]$ screen -S screenname //指定窗口名称
[jawidx@fedev ~]$ 在screen窗口键入C-a d中断(C-a k会杀掉screen会话)
[jawidx@fedev n-5]$ screen -ls
There are screens on:
16234.pts-112.fedev (Attached)
4031.pts-455.fedev (Detached)
26764.pts-455.fedev (Detached)
6331.pts-455.fedev (Detached)
26679.pts-345.fedev (Detached)
8987.screenname (Attached)
6 Sockets in /tmp/uscreens/S-jawidx.
[jawidx@fedev n-5]$ screen -r screenname //可用8987代替会话名,对于Attached的会话,需要先screen -d之后才能screen -r。
[jawidx@fedev ~]$ //继续刚才的工作
END
键绑定
-
1
因为键盘上键入的信息是直接发送给当前screen窗口,默认情况下,screen窗口管理器接收以C-a开始的命令。这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character)。可以通过C-a ?来查看所有的键绑定。Screen也允许你使用-e选项设置自己的命令字符和转义字符,其格式为:-exy x为命令字符,y为转义命令字符的字符。
常用的键绑定有:
C-c a,在当前screen窗口中键入后,screen 在该会话内生成一个新的窗口并切换到该窗口。
C-a ?显示所有键绑定信息
C-a w显示所有窗口列表
C-a C-a切换到之前显示的窗口
C-a c创建一个新的运行shell的窗口并切换到该窗口
C-a n切换到下一个窗口
C-a p切换到前一个窗口(与C-a n相对)
C-a 0..9切换到窗口0..9
C-a a发送 C-a到当前窗口
C-a d暂时断开(detach)当前screen会话,但不中断screen窗口中程序的运行
C-a k杀掉当前窗口
C-a [进入拷贝/回滚模式
C-a A给窗口起名字
C-a "查看
END
高级
-
1
共享Screen会话,
打开一个连接,screen -S sharing -t one
打开另一个连接,screen -x -r sharing -p one
在同一screen中的用户,将会看现相同的输入或显示任何。
-
2
锁定会话,
C-a s 锁定会话,虽然屏幕上看不到反应,但输入都会被Screen中的进程接收到。
C-a q 可以解锁一个会话。
C-a x 锁定会话,会话需要输入Screen所属用户密码才能访问。
-
3
分屏,
C-a S 水平分屏
C-a | 垂直分屏,低版本不支持
C-a <tab>在各个区块间切换
C-a X 关闭当前焦点所在的屏幕区块(并不会真的关闭)
C-a Q 关闭除当前区块之外其他的所有区
-
4
C/P模式
C-a <Esc>或者C-a [可以进入copy/paste模式,
c/p模式下有很多类似vi的操作,譬如使用/进行搜索,使用y快速标记一行,使用w快速标记一个单词等。
一般情况下,按空格设置一个开头标记,结尾位置按空格设置第二个标记,两个标记之间的部分储存在c/p的buffer中,并退出c/p模式。在正常模式下,可以使用C-a ]将储存在buffer中的内容粘贴到当前窗口。
-
5
配置,
Screen提供了丰富强大的定制功能,可以在Screen的默认两级配置文件/etc/screenrc和$HOME/.screenrc中指定