请爱用Screen

     2015年09月13日       江南兔子哥       运维笔记->系统管理       screen 

Screen可以实现多屏

Screen是一个非常好用的Linux工具,同时它很好地弥补了PuTTY这个ssh终端没有多个标签的功能。

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,请立马yum install -y screen
screen运行后,窗口标签的效果图如下:
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窗口,然后通过上下键选择,这样对于screen窗口数大于10个的情况非常实用,因为窗口数大于10个时,无法通过Ctrl+a然后按数字切换了。

再谈为什么使用Screen

有人可能对screen不屑,“我用SecureCRT已经有标签功能,screen这样的工具就不需要了”
但是作为一个系统管理员,肯定常常会遇到执行一个较长时间的命令的情况,这时要是笔记本忽然断网,那可能导致命令执行到一半就挂了。导致不必要的麻烦。如果使用screen,这时你就可以screen恢复,即登录到服务器后,screen -r 即可恢复到之前断网时的屏幕