screen可以看作窗口管理器的命令行版本,因为它是运行在一个linux终端上。在screen中启动的每一个会话都有一个id。可以切换。它的特性:
1、可恢复
在远程登录linux的时候,如果终端长时间没有动作会被机器强制断线,一旦终端的通信中断,那么这个会话上的所有内容都会丢失。在screen中的会话,只要screen本身没有终止,其内部运行的会话都可以恢复。这一点对于远程登录用户特别有用。
2、多窗口
可以在一次远程登录终端中保持多个窗口,并可切换。
Session(会话) window(窗口)
前者包含多个后者。Ctr+c就是新建了一个window(可以在window里恢复一个session,那样会增加复杂度)
所有的窗口使用exit退出之后,session会自己退出
合理的使用方法是,每一项任务都是一个会话,每个会话里都有许多功能窗口
Screen –ls查看本机运行的screen会话
Screen –SU <name>新建一个会话
Ctr-a d离开一个会话进入真终端(会话进入detached挂起,不影响各window里进程的运行)
Screen –rU <name or id>恢复某个会话(会话进入attached)
Ctr-a c 新建一个窗口。
Ctr-a k 杀死某一个窗口
Ctr-a n/f 多个active窗口之间进行切换
Ctr-a w 显示窗口列表
Ctr-a 数字 切换至某个窗口
Ctr-a a最近使用的两个窗口间切换
在一个会话中,exit可以退出一个窗口。退出到底可以退出一个会话。
-----------------------
中文乱码问题:
- secureCRT 设置字体、字符集、编码
- screen的设置问题。
C+a :defencoding utf8
C+a : encoding utf8 utf8