{"title": "\u8bf7\u7231\u7528Screen", "update_time": "2015-09-13 11:58:29", "tags": "screen", "pid": "177", "icon": "linux.png"}
## Screen是什么 Screen是一个非常好用的Linux工具,同时它很好地弥补了PuTTY这个ssh终端没有多个标签的功能。 ## Screen安装 ``` yum install -y screen ``` ## Screen配置 一个不错的screen配置文件如下: ``` #保存在home下.screenrc # 屏幕缓冲区4096行 defscrollback 4096 # 下标签设置 hardstatus on hardstatus alwayslastline hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %{..Y} %m/%d %C%a" termcapinfo rxvt 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' termcapinfo xterm ti@:te@ termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' #关闭闪屏 vbell off #关闭screen的startup message startup_message off ``` 配置文件比较简单,将它保存在家目录的.screenrc下,然后执行screen,就可以看到效果。 要是screen下方显示主机名标签,需要在目标主机添加一下配置文件,/etc/sysconfig/bash-prompt-screen内容是如下 ``` #!/bin/bash echo -n -e "\033k`uname -n`\033\\" ``` 并增加可执行权限 ``` chmod +x /etc/sysconfig/bash-prompt-screen ``` 另外一种显示提示符的方法是设置环境变量。加到.bashrc里 ``` if [ "$TERM" == "screen" ] ; then PROMPT_COMMAND='echo -ne "\033k`uname -n`\033\\"' fi ``` ## Screen快捷键 常用的screen快捷键: * Ctrl+a,然后按c :创建新的窗口 * Ctrl+a,然后按数字 :切到相应的数字对应的窗口 * Ctrl+a,然后按\" :列出所有的screen窗口,然后通过上下键选择, Ctrl+a 对于screen窗口数大于10个的情况非常实用,因为窗口数大于10个时,无法通过Ctrl+a然后按数字切换了。 ## 再谈为什么使用Screen 有人可能对screen不屑,“我用SecureCRT已经有标签功能,screen这样的工具就不需要了” 但是作为一个系统管理员,肯定常常会遇到执行一个较长时间的命令的情况,这时要是笔记本忽然断网,那可能导致命令执行到一半就挂了。 导致不必要的麻烦。如果使用screen,这时你就可以screen恢复,即登录到服务器后,screen -r 即可恢复到之前断网时的屏幕