美文网首页
linux多屏管理工具(一)screen

linux多屏管理工具(一)screen

作者: jiaxiaolei | 来源:发表于2017-09-05 12:04 被阅读946次

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
$ 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 )之后,不能永久保存。

image.png
  • 配置方案3:
$ vim .screenrc

hardstatus on
hardstatus alwayslastline
hardstatus string “%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a

标签页没有颜色高亮,并且只显示当前window.

image.png

我自己的配置:

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"

image.png

缺点是只有 编号:

image.png

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 + “:双引号。列出所有的窗口,也可以在状态栏观察到。

![image.png](https://img.haomeiwen.com/i1079652/c1bdd21176c2ca5c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


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,即恢复访问你之前打开的诸多窗口。并且可以多人共享屏幕。
举例:

$ screen -x 21657.uop

screen -t <window_name>: 新建名字为name的窗口。在当前的session 中新建一个window。不同于 `ctrl+a+c`建立的带有缺省值的window.
exit:退出当前的窗口
ctrl a + K:kill当前窗口

扩展阅读:

使用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

相关文章

网友评论

      本文标题:linux多屏管理工具(一)screen

      本文链接:https://www.haomeiwen.com/subject/xfsujxtx.html