screen 算是比较早的多屏管理工具。后来有了byobu(ubuntu专用),对screen做了封装;再后来版本升级,byobu以及screen都不好用。再后来有了tmux,byobu 底层都改用tmux。
也用过tmux, tmux 的快捷键和screen不一样,最明显的是screen中的命令提示符ctrl+a
在tmux中改成了ctrl+b
;
linux command 中的回到行首(ctrl+a)和行尾(ctrl+e)的命令,在screen和tmux中都做了变动,回到行首要使用 ctrl+a+a, 回到行尾现在还没找到;
screen中非常好用的屏幕上翻(ctrl+a+[), 在tmux中也不好用。
最近因为工作的原因,团队中使用screen。顺便把screen的东西整理一下。
对于那些没有接触过scren的人来说,直接用tmux就可以了。因为tmux是未来的趋势。
tmux的相关阅读:
http://www.jianshu.com/p/fa79a45a5182
- 安装screen
#centos 下安装
$ yum install screen -y
配置
- 配置方案1:
$ vim /etc/screenrc
# 下标签设置
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'
- 配置方案2:(最喜欢的一种)
$ vim /etc/screenrc
altscreen on
caption always "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%H %Y-%m-%d %c %p"
配置完screenrc 之后。 通过screen -S session_name, 在新建立的session 中就可以看到小便签。
唯一的问题是:
修改window名字(ctrl+a,shit+a set windows's title )之后,不能永久保存。
- 配置方案3:
$ vim .screenrc
hardstatus on
hardstatus alwayslastline
hardstatus string “%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a
标签页没有颜色高亮,并且只显示当前window.
我自己的配置:
altscreen on
hardstatus on
hardstatus alwayslastline
caption always "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%H %Y-%m-%d %c %p"
可以满足我的需求...【最新推荐】
altscreen on
hardstatus on
hardstatus alwayslastline
caption always "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%H %Y-%m-%d %c %p"
缺点是只有 编号:
screen 的使用:
$ man screen
screen:第一次使用的时候,输入screen,即新建了一个session,然后默认有一个shell窗口,下面会有状态栏显示窗口的名称,通常是“0 bash”。
ctra a + A:假如你想重命名这个窗口,按ctra a,然后A,就可以重命名
ctrl a + c:新建窗口
ctrl a + n or p:切换窗口,n next,p previous
ctrl a + <数字>: 切换到指定下标号的window.
ctrl a + ': 单引号。 出现 "Switch to window:" 的提示,可以通过window编号或window name 进行切换;
ctrl a + “:双引号。列出所有的窗口,也可以在状态栏观察到。
screen -S name:新建一个session 名字为name
ctra a + d:使得当前的session detached,这个是很重要的一个命令,这个命令使得你临时退出了该session,而下次可以进行重新连接
screen -ls:想进行重新连接的时候,你需要知道你的screen session是哪一个,然后使用screen -r id命令,ls列出了所有的screen session的id,当然假如你使用screen -S name创建的session的话,会有一个名字,更便于记忆
举例:
$ screen -ls
There are screens on:
26080.cmdb (Attached)
7309.mpc (Detached)
21657.uop (Detached)
13808.cmdb-mpc (Detached)
4 Sockets in /var/run/screen/S-root.
screen -r id/name:重新连接screen session id/name,即恢复访问你之前打开的诸多窗口
screen -x id/name:重新连接screen session id/name,即恢复访问你之前打开的诸多窗口。并且可以多人共享屏幕。即:不同的人可以同时链接terminal, 在terminal上的操作可以共享。
举例:
$ screen -x 21657.uop
screen -t <window_name>: 新建名字为name的窗口。在当前的session 中新建一个window。不同于 ctrl+a+c
建立的带有缺省值的window.
exit:退出当前的窗口
ctrl a + K:kill当前窗口
修改已存在的 screen session 的名称:
----------------
$ screen -S old_session_name -X sessionname new_session_name
修改已存在的 screen session 名称
http://ju.outofmemory.cn/entry/361166
https://unix.stackexchange.com/questions/27780/how-to-rename-a-gnu-screen-session/334558#334558
简介:
修改已存在的 screen session 名称
扩展阅读:
===========
使用tmux替代screen
http://www.opstool.com/article/253
简介:
screen作为一个老牌的终端屏幕管理软件完全满足我的日常需求,唯一的缺憾是screen没有分屏的功能(NOTE: tmux, screen都在演变,了解到的情形是screen4.2 支持横向和纵向分屏)。tmux是这样一款软件,它包含了99%的screen功能,而且它具有屏幕分屏的功能。
通过修改tmux的配置,调整快捷键,理论上screen用户可以无缝切换到tmux。
[从Tmux 转到GNU Screen]
http://www.cnblogs.com/bamanzi/p/switch-tmux-to-gnu-screen.html
简介:
“这山看着那山高”,有人更喜欢tmux,有人更喜欢screen.
我的经验是:对于大多数人来说,screen简单,够用;
screen vs tmux
https://www.v2ex.com/t/81911
简介:
v2ex上的问题质量越来越低了..
screen使用技巧
http://blog.csdn.net/dra120126/article/details/12776653
简介
其中关于下标签的设置很有用。
Linux之screen命令详解
http://blog.chinaunix.net/uid-16728139-id-4172307.html
linux screen 命令详解
http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html
Screen可以实现多屏
http://www.opstool.com/article/177
简介:
主要提供了 screenrc 配置文件的修改。
Linux screen标题显示screen id(即pid)
http://blog.csdn.net/wangzuxi/article/details/43638757
### [screen用法小记](http://liaofeng-xiao.iteye.com/blog/1757267)
http://liaofeng-xiao.iteye.com/blog/1757267
Screen会话命令 Linux
https://www.cnblogs.com/ywl925/p/3604530.html
简介:
# NOTE 常见的操作,还是比较全面的