如果你用过devstack的话,会发现执行完stack.sh后,实际上启动一个screen会话,实现了多个进程共享一个物理终端的窗口管理器。
这个screen会话里面包含了多个screen窗口,如下
1 | $ n-api 6$ q-svc 7$ q-agt 8$ q-dhcp 9$ q-l3 10$ q-meta 11$ q-metering 12$ n-cpu 13$ n-cond 14$ n-crt 15-$ n-sch 16$ n-novnc 17$ n-xvnc* 18$ n-cauth 19$ n-obj 20$ c-api 21$ c-sch 22$ c-vol |
这样的好处很明显,
1.最大程度上实现一个物理终端的管理,简单直观。
- 可以实现不同人之间的协作共享
- ….
那么看到上面的说明,我们直观的想法是创建一个类似devstack的多screen窗口会话,那么怎么创建呢,具体如下:
(1) 首先要有screen会话的配置文件,目的是为了显示screen窗口的名字,这样比较直观。
简单的配置如下,创建一个文件名为.screenrc
1 | hardstatus alwayslastline '%{= .} %-Lw%{= .}%> %n%f %t*%{= .}%+Lw%< %-=%{g}(%{d}%H/%l%{g})' |
(2) 启动一个screen 会话
1 | screen -dmS test1 -c .screenrc |
(3) attach到对应的screen
1 | screen -r test1 |
(4) 对应的会显示如下:
1 | 0$ bash* |
(5) 创建一个新窗口
1 | CTRL+a c |
显示如下:
1 | 0-$ bash 1$ bash* |
(6) 以此类推,可以创建2,3,…窗口
(7)对窗口重命名为自己喜欢的名字
1 | CTRL+a A |
输入windows1 显示如下:
1 | 0-$ bash 1$ windows1* |
(8) 关闭当前窗口
1 | CTRL+a K |
(9) 进入拷贝/回滚模式
1 | CTRL+a ESC |
ESC 退出拷贝/回滚模式
更多使用:
1 | CTRL+a n 切换到下一个窗口 |
(10) CTRL +a “ 从窗口列表选择要跳转的窗口
CTRL + a ' 会提示输入数字,切换窗口
CTRL +a N (1-9) 切换到对应的 1-9 窗口
更多的使用可以参考下面的参考资料: