`
liaofeng_xiao
  • 浏览: 126030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

screen用法小记

阅读更多
screen也是早就会用的工具,但发现近来一段时间不用,就知道^a^a和detach attach这些简单的命令了。同样的情况还有tmux、svn、git,学习的时候一是觉得知识简单,二十觉得经常在用,不可能忘掉。可知世事无常,好记忆总不如烂博客,于是吃一见长一智,来个亡羊补牢罢。

第一步,启动screen:
screen
或者启动时执行一条shell命令:
screen vim notification.py

启动选项:
screen -c: 指定screen配置文件,默认配置文件是~HOME/.screenrc
screen -d: detach screen, 在screen会话里使用,等同于^a d
screen -r [pid.sessionname]: resume a detached screen
screen -R: resume first appropriate screen session 
screen -e ^xy: 将ctrl+x设置为控制字符,如果输入ctrl+x,则认为输入了y(Set the command character to x, and the character generating a literal command character (when typed after the command character) to y. The defaults are C-a and a, which can be specified as ‘-e^Aa’),默认设置是 -e^Aa
screen -h num: 设置defscrollback,即滚动条缓冲区大小
screen -ls or -list: 显示所有的screen session
screen -wipe: 同screen -ls一样,但会清除已经死掉的session
screen -S sessionname: 设置sessionname
screen -v: print version information
screen -x: attach to a session which is already attached elsewhere (multi-display mode). Screen refuses to attach from within itself. But when cascading multiple screens, loops are not detected; take care.

screen配置:
screen配置来自三个地方:
1. 默认配置,来自~HOME/.screenrc和/usr/local/etc/screenrc文件
2. 通过指定配置文件获取配置: screen -c xxx
3. screen运行过程中通过colon交互式修改配置文件

缺省screen配置:
C-a ': 选择screen窗口,输入数字,回车确认
C-a ": 出现窗口列表,回车选择
C-a 0..9-: 选择0~9号窗口,或者-窗口
C-a c或者C-a C-a: 创建窗口
C-a d或者C-a C-d: detach screen
C-a k或者C-a C-k: kill current window
C-a n或者C-a C-n: switch to next window
C-a N: switch to window N, N is window index
C-a p或者C-a C-p: switch to previous window
C-a t或者C-a C-t: show load average and xref
C-a w或者C-a C-w: show windows list,等同于C-a "
C-a ?: show key bindings
C-a [: enter copy mode,空格键开始选择内容,再次空格选择完毕
C-a ]: paste,首先要进入insert模式


screen配置文件:
如果要想学习这部分内容,首先要能够看明白screen的各种命令选项,参考:http://www.gnu.org/software/screen/manual/screen.html#Command-Summary

配置文件参考:
#trun off the startup message                                                   
startup_message off                                                             
term linux                                                                      
                                                                                
defscrollback 40960                                                             
hardstatus alwayslastline                                                       
                                                                                
#terminal name                                                                  
shelltitle "$|bash"                                                             
                                                                                
#shutdown the noise                                                             
vbell off                                                                       
                                                                                
bind w windowlist -b                                                            
bind ^w windowlist -b                                                           
                                                                                
#initial apps to run                                                            
screen                                                                          
screen                                                                          
select 0                                                                        
                                                                                
escape ^aa

attrcolor u "-u B"                                                              
autodetach on                                                                   
                                                                                
#hardstatus string '%{= kG}[ %{G}%c:%s %{g}][%= %{= kw}%?%-Lw%?%{Y}%n*%f%t %{K}%?%+Lw%?%= %{kG}][ %{C}(F8)Screen (F9)Title (F10)Detach (F11)Prev (F12)Next %{kg}][%{kG} %l %Y/%m/%d %{kG}]'
hardstatus string '%{= kG}[ %{G}%c:%s %{g}][%= %{= kw}%?%-Lw%?%{Y}%n*%f%t %{K}%?%+Lw%?%= %{kG}][ %{C} %{kg}][%{kG} %l %Y/%m/%d %{kG}]'


小结一下吧:

screen的分屏给人很鸡肋的感觉,^a S后,通过^a tab切换,然后在用^a c创建新窗口。现在我的电脑还只支持横着分屏,但新版本的screen支持竖着分屏了。很多时候还是会用vim的分屏吧,而我,连vim的分屏都不喜欢用。

另外,默认的^a控制键跟shell的快捷键ctrl + a(光标一到命令最前面),所以在screen窗口中需要跑到命令最前面,需要输入ctrl + a + a。

还有个问题就是screen滚屏问题,比如有个窗口A正在输出日志,窗口B在编辑源代码,当你从窗口B切换到窗口A查看日志,并且想查看更老的日志时,你需要滚屏。默认情况下滚屏则出现了原来窗口B的内容,这是个巨大的不便利,虽然没研究其中的原因。但也有个曲线救国的方式,陷进去copy模式,然后往回滚:
1. ctl + a + [,
2. 通过所有的vim滚屏键滚动屏幕,比如ctrl+b

据说tmux已经甩screen几条街了,虽然有学过tmux,但也好久没用了。当时学的时候对tmux的分屏很有爱,哪天再过来记录一下~
分享到:
评论

相关推荐

    screen 使用方法详解

    系统管理员经常需要远程登录服务器,然后在服务器上跑一些程序。有时候,我们不得不花很长时间去运行...采用screen终端登录的方式后,当“远程连接突然中断”发生时,服务器将自动保存正在运行的程序,并转入后台执行。

    linux的screen用法

    screen的用法,linux系统中关于screen的用法。

    利用QNX screen接口共享屏幕显示图像

    1.QNX screen系统是一个...2.其中使用screen_create_context、screen_create_window、screen_read_display和screen_post_window等基本screen接口,对接口的理解很有帮助。 3.需根据代码,自行适配编译以及运行环境。

    usd screen usd screen

    usd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screen

    captureScreen.zip

    2、使用方法:这个软件是用java写的,需要先安装java虚拟机运行环境,要求java 11或java12的版本,然后双击就可以运行这个软件。抓图之后在软件所在的目录会出现output.txt文件,里面是抓图识别的结果。

    selection screen,dialog screen区别

    sap abap selection screen 与 dialog screen的区别

    ABAP SELECT-SCREEN 的几个用法.doc

    ABAP SELECT-SCREEN 的几个用法.doc

    Screen

    Screen

    QNX Screen Developers Guide

    QNX操作系统的Screen开发帮助文档,包含OpenGL,EGL等的操作

    Greenshot screen shot tool

    Greenshot screen shot toolGreenshot screen shot toolGreenshot screen shot tool

    screen下载、linux后台运行程序、linux下screen下载

    screen下载、linux后台运行程序非常实用、后台任务、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、...

    linux下screen命令的使用

    本文介绍了linux下screen命令的使用方法。

    screen脚本

    screen

    C#实现SplashScreen

    C#实现SplashScreen,不同于VB.NET,需要在MAIN中控制加载界面的顺序。

    screen会话安装需要的rpm包

    在linux中会需要将任务或脚本放到后台跑,但需要看实时日志,就可以选择screen会话,直接rpm -ivh 安装就可以,不需要依赖其他的资源

    gif工具-ScreenToGif 2.8.1

    强大的gif录制/剪辑工具-ScreenToGif 1.可以自定义热键以及设置文件存放目录、设置 gif 质量、编辑 gif 文件等等,官网也有很多动画演示;...4.使用手册:https://github.com/NickeManarin/ScreenToGif/wiki/help

    Quick Screen Recorder v1.5 注册机

    Quick Screen Recorder v1.5 注册机

    screen centos7 rpm

    screen 多终端软件,操作服务器神器screen centos7 rpm

    Movavi Screen Recorder(屏幕录制软件)官方中文版V21.4.0

    Movavi Screen Recorder Pro 是一款短小精悍超实用的屏幕录像软件和屏幕截图工具,精炼不失大方的界面拥有创建视频教学、保存网络摄像机中的视频录像、捕捉在线流视频、捕获应用程序、拍摄桌面快照等等超实用功能,...

    screen对象(教辅)

    screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)screen对象(教辅)...

Global site tag (gtag.js) - Google Analytics