Vincent Danen为我们举例说明如何应用Linux工具screen建立虚拟终端。
每个系统管理员都熟悉用SSH进行远程管理;同样,同时做多项工作,包括冗长的编译或长期任务,也是我们经常做的工作。通常,释放控制台要打开新的终端,并建立一个新的SSH连接以完成其它工作;或者----如果任务观测不是很重要的话----也可以将任务送交后台运行来释放终端。
另一个方法就是应用screen工具----包含在所有Linux产品中的一个程序。screen建立一个你能够控制并可通过一个终端交互的虚拟终端。更好的是,你不必中断一个运行中的任务就可终止一个screen会话。想象一下,在一个远程服务器开始一个冗长编译工作,但连接中断;连接中断时,你的任务也中断了。Screen允许你与运行的会话分离、登录出去,随后再(甚至是从一个不同的地方)恢复它,从而避免这一问题。
首先,确认通过软件包管理器安装了screen包,然后输入:
$ screen
这样就启动screen并打开一个新会话。要断开会话,输入CTRL-A,接着再输入d,你就会返回你启动screen的提示符,但你在screen中所做的工作依然有效。如果只有一个screen会话在运行之中,你可以这样连接它:
$ screen -R
如果有几个screen会话在运行,这种方法就连接不上screen会话。但你可以用下面的方法来查看运行中的screen会话:
$ screen -list
There are screens on:
13995.pts-0.host(Detached)
14529.pts-0.host(Attached)
2 Sockets in /home/joe/tmp.
从这里可以看到,有两个会话正在运行。要从不同的地点连接分离的会话,可以应用(当然,要在机器上应用SSH):
$ screen -r 13995
这里的13995是你希望连接上的screen会话程序ID。
Screen有许多有效的帮助信息,你可以用它做许多事情。你可以查看screen使用说明,screen -help的输出结果,并在命令模式下的screen会话内,输入CTRL-A与?来获得你能应用的命令列表(由CTRL-A调用)。

