我刚向一个朋友介绍了GNU Screen,他很难适应它。这让我想到了关于这个出色的Screen实用程序,他需要知道的基本事项,也就是你会认为值得从头开始教给初学者的东西。有哪些类比和方便的提示来记住绑定等内容?
那将是非常棒的。
我刚向一个朋友介绍了GNU Screen,他很难适应它。这让我想到了关于这个出色的Screen实用程序,他需要知道的基本事项,也就是你会认为值得从头开始教给初学者的东西。有哪些类比和方便的提示来记住绑定等内容?
那将是非常棒的。
我使用Screen
已经超过10年了,但可能只使用了不到一半的功能。因此,当然没有必要立即学习所有的功能(我也不建议尝试)。我日常使用的命令有:
^A ^W - window list, where am I
^A ^C - create new window
^A space - next window
^A p - previous window
^A ^A - switch to previous screen (toggle)
^A [0-9] - go to window [0-9]
^A esc - copy mode, which I use for scrollback
我觉得就是这样。我有时候使用分屏功能,但肯定不是每天都用。另一个提示是,如果屏幕似乎因为您意外按下某些随机键组合而锁死了,请同时按下^Q
和^A ^Q
尝试解锁。
exit
)命令退出shell,这样屏幕窗口会在退出最后一个shell后自动关闭。 - Greg Hewgill在找到一种方法在屏幕底部设置“状态栏”后,我才逐渐适应了屏幕。它可以显示您所在的“标签页”或“虚拟屏幕”,以及其他屏幕的信息。以下是我的设置:
[roel@roel ~]$ cat .screenrc
# Here comes the pain...
caption always "%{=b dw}:%{-b dw}:%{=b dk}[ %{-b dw}%{-b dg}$USER%{-b dw}@%{-b dg}%H %{=b dk}] [ %= %?%{-b dg}%-Lw%?%{+b dk}(%{+b dw}%n:%t%{+b dk})%?(%u)%?%{-b dw}%?%{-b dg}%+Lw%? %{=b dk}]%{-b dw}:%{+b dw}:"
backtick 2 5 5 $HOME/scripts/meminfo
hardstatus alwayslastline "%{+b dw}:%{-b dw}:%{+b dk}[%{-b dg} %0C:%s%a %{=b dk}]-[ %{-b dw}Load%{+b dk}:%{-b dg}%l %{+b dk}] [%{-b dg}%2`%{+b dk}] %=[ %{-b dg}%1`%{=b dk} ]%{-b dw}:%{+b dw}:%<"
sorendition "-b dw"
[roel@roel ~]$ cat ~/scripts/meminfo
#!/bin/sh
RAM=`cat /proc/meminfo | grep "MemFree" | awk -F" " '{print $2}'`
SWAP=`cat /proc/meminfo | grep "SwapFree" | awk -F" " '{print $2}'`
echo -n "${RAM}kb/ram ${SWAP}kb/swap"
[roel@roel ~]$
Ctrl+A 是什么?- 显示帮助界面!
escape ^bB
使用命令行,使用名字会话来控制多个会话。我为每个任务使用一个会话,每个会话有多个标签页:
screen -ls # 列出当前的screen会话 screen -S <name> # 创建一个名为name的新screen会话 screen -r <name> # 连接到指定的screen会话
使用 screen 时,您只需要几个命令:
^A c 创建一个新shell ^A [0-9] 切换shell ^A k 关闭当前的shell ^A d 断开与screen的连接 ^A ? 显示帮助信息
可以在此处找到一个很好的快速参考指南。值得收藏。
screen -e^oo
启动外部屏幕会话,这样我就可以使用 Ctrl+O,然后使用 screen -m
启动内部屏幕会话,以便它们启动新会话。 - staticsanscreen
会话中,键入 ^A :
,然后输入 \Bb
,最后按Enter键将转义键设置为 ^B
。通常,^A :
允许您执行.screenrc
能够理解的指令。 - malana以下是一些针对熟悉screen但容易忘记man手册内容的人的技巧:
.screenrc
文件中尝试以下操作:bind ! select 11 bind @ select 12 bind \# select 13 bind $ select 14 bind % select 15 bind \^ select 16 bind & select 17 bind * select 18 bind ( select 19 bind ) select 10
将 ctrl+a 和 shift+0到9 分配给 Windows 10 到 19。
Ctrl+A 是基本命令
Ctrl+A N = 跳转到下一个屏幕
Ctrl+A P = 跳转到上一个屏幕
Ctrl+A C = 创建新的屏幕
Ctrl+A D = 分离当前屏幕
http://www.debian-administration.org/articles/34
我几年前写的,但仍是一篇好的介绍,得到了很多积极反馈。
$VAR1 = \'无法通过套接字 \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused")连接到本地MySQL服务器,位于../lib/Singleton/DBI.pm的第95行。 ';
- Peter Mortensenbind s
如果您像我一样习惯使用分屏窗口,将以下内容添加到您的.screenrc
文件中可能会有所帮助:C-a S
可以将当前窗口分割成两个,而C-a s
则会冻结当前窗口。因此,我禁用了冻结快捷键。
^-S
,则 ^-Q
将解除冻结。 - PlatoCtrl+a是一个特殊的键。
Ctrl+a d - [d]etach,将程序(如irssi)留在后台并回家。
Ctrl+a c [c]reate创建一个新窗口 Ctrl+a 0-9按编号在窗口之间切换
screen -r - 返回到分离的会话
以上内容涵盖了90%的使用情况。不要试图一次展示所有功能。
screen
时对于“分离”和“重新连接”屏幕的实际含义感到困惑。引用:“...您可以在给定机器上的单独控制台(如远程机器上的ssh,IRC会话等)中运行长时间运行的任务,在会话中分离,从一个物理位置移动到另一个位置,通过ssh连接到机器并重新连接到屏幕会话以继续工作。” - JW.