Screen 提供了两个主要功能:
• 在一个终端内运行多个终端会话(terminal session)。
• 一个已启动的程序与运行它的真实终端分离的,因此可运行于后台。真实的终端可以被关闭,还可以在
稍后再重新接上(reattached)。
简短实例
开启 screen:
# screen
在screen 会话中,我们可以开启一个长时间运行的程序(如top)。Detach 这个终端,之后可以从其他机器
reattach 这个相同的终端(比如通过 ssh)。
# top
现在用Ctrl-a Ctrl-d 来 detach。Reattach 终端:
# screen -r
或更好的:
# screen -R -D
现在attach 到这里。具体意思是:先试图恢复离线的screen 会话。若找不到离线的screen 会话,即建立新
的 screen 会话给用户。
Screen 命令 (在 screen 中)
所有命令都以Ctrl-a 开始。
• Ctrl-a ? 各功能的帮助摘要
• Ctrl-a c 创建一个新的 window (终端)
• Ctrl-a Ctrl-n 和 Ctrl-a Ctrl-p 切换到下一个或前一个 window
• Ctrl-a Ctrl-N N 为 0 到 9 的数字,用来切换到相对应的 window
• Ctrl-a " 获取所有正在运行的 window 的可导航的列表
• Ctrl-a a 清楚错误的 Ctrl-a
• Ctrl-a Ctrl-d 断开所有会话,会话中所有任务运行于后台
• Ctrl-a x 用密码锁柱 screen 终端
screen -ls 列出当前所有的screen会话
如果 screen -ls 看到有死亡的会话 可以用screen -wipe 进程号 将他杀掉。
screen 实在是个让人喜欢的工具,除了在管理远程会话时给你带来诸多方便外,今天还让我发现了一个很好用的功能,同步显示你的屏幕给另一个会话。这在给别人处理问题是尤为好用,可以让对方同步看到你的操作,剩下很多之后的解释描述工作。
方法:
a.双方同时登陆系统
b.演示方运行:
screen -S linuxtone
c.观看方运行:
screen -x linuxtone
/etc/screenrc里加上hardstatus和caption做成“标签”那就完美了。
caption always "%{+b yk}%H %{wk}|%c %{bk}%d.%m.%Y %{wk}| %{rk}%72=Load: %l%{wk}"
hardstatus alwayslastline "%?%{yk}%-Lw%?%{wb}%n*%f %t%?(%u)%?%?%{yk}%+Lw%?"
以上内容皆来自网络