问 题场景:要在服务器上配置环境,但是我的电脑无法直接连到服务器上,通常要经过好几次ssh跳转。配环境需要设置好几个用户,这自然需要同时打开好几个连 接服务器的终端窗口,每个连接到服务器的终端窗口都要经过好几次ssh才能连接,不胜其烦。中转的电脑没有root权限,不能用iptables等工具设 置端口映射。
解决方法:在从我电脑起的下一跳电脑上使用screen创建好几个session窗口,每次连接到下一跳电脑上就可以直接进行配置环境的操作。
screen用法:
对一个事物最基本的操作就是增删改,用于screen就是掌握以下几种基本的操作:

  1. 如何创建一个新的session;
  2. 如何进入一个已经创建的session;
  3. 如何从一个已经创建的sesion退出而不销毁这个session;
  4. 如何销毁一个session;
  5. 如何修改一个session;
  6. 如何查询当前有多少个session

现在总结操作:
如何查询当前有多少个session:

[whb@jcwkyl misc]$ screen -ls
There are screens on:
        3708.pts-1.jcwkyl       (Detached)
        3863.pts-1.jcwkyl       (Detached)
        3915.lxi        (Attached)
3 Sockets in /var/run/screen/S-whb.

如何创建一个新的session:

[whb@jcwkyl misc]$ screen -S whb_login
其中-S参数表示为session指定一个名称,这样在查询的时候更容易知道应该连接到哪个session。

如何从一个已经创建的session中退出:

同时按下ctrl a两个键,松开后按下d。
[whb@jcwkyl misc]$ screen -ls
There are screens on:
        3708.pts-1.jcwkyl       (Detached)
        3863.pts-1.jcwkyl       (Detached)
        3915.lxi        (Attached)
        4021.whb_login  (Detached)
4 Sockets in /var/run/screen/S-whb.

如何进入一个已经创建的session:

[whb@jcwkyl misc]$ screen -r 3863
其中3863是进程pid,在screen -ls命令中显示出来的第一个域。
一个有用的选项是-x,它可以进入一个已经attach过的session。
[whb@jcwkyl misc]$ screen -ls
There are screens on:
        3708.pts-1.jcwkyl       (Detached)
        3915.lxi        (Attached)
        4021.whb_login  (Detached)
3 Sockets in /var/run/screen/S-whb.
[whb@jcwkyl misc]$ screen -x 3915

如何销毁一个session:

kill掉这个进程就可以
[whb@jcwkyl misc]$ kill 3863
[whb@jcwkyl misc]$ screen -ls
There are screens on:
        3708.pts-1.jcwkyl       (Detached)
        3915.lxi        (Attached)
        4021.whb_login  (Detached)
3 Sockets in /var/run/screen/S-whb.

如何修改一个session:

可以看session的帮助,
[whb@jcwkyl misc]$ man session
或者进入一个session以后,同时按下ctrl a,再按下?键。

---------------------------------------------------------------------------------

Screen

Installing:

in Ubuntu:

sudo apt-get install screen

in Gentoo:

sudo emerge app-misc/screen

Running:

sudo screen /dev/ttyUSB0 115200 8n1

Quitting screen: Ctrl-a k

参考文章===>http://wiki.eluaproject.net/Terminal%20Emulators%20for%20eLua

05-07 15:44