由于我整天都使用* nix命令screen
,而且找不到任何人开始这个问题,因此我认为应该开始这个问题。您知道演练:社区Wiki,每个功能一个答案,因此我们所有人都可以投票。
由于我整天都使用* nix命令screen
,而且找不到任何人开始这个问题,因此我认为应该开始这个问题。您知道演练:社区Wiki,每个功能一个答案,因此我们所有人都可以投票。
Answers:
我喜欢用它来连接串行控制台,即
screen /dev/ttyS0 19200
此命令仅以19200的波特率打开与串行端口0(ttyS0)的连接
最好的功能screen
是Byobu(以前的屏幕配置文件),自Jaunty以来,Ubuntu默认随附它:https : //launchpad.net/byobu
这是一个配置管理器,具有非常好的默认值,大量的状态通知和有用的键盘快捷键(例如,用于新屏幕的f2,用于上一个/下一个的f3-f4等)
我真的再也没有它了:)
不完全是“隐藏功能”;但是正确设置的.screenrc文件可能会有所作为。谷歌搜索screenrc和'brad sims'可以找到更好的例子之一-他有一个很好的文件可以修改。
也就是说,我最喜欢的设置是bindkey:
# bind F7 to detach screen session from this terminal
# bind F8 to kill current screen window.
# bind F9 to create a new screen
# bind F10 to rename current screen window
# bind F11 to move to previous window
# bind F12 to move to next window
bindkey -k k7 detach
bindkey -k k8 kill
bindkey -k k9 screen
bindkey -k k; title
bindkey -k F1 prev
bindkey -k F2 next
我不记得是谁偷的(dotfile.org上的某人)。我已经对ssh进行了一些修改:
#!/bin/sh
# scr - Runs a command in a fresh screen
#
# Get the current directory and the name of command
wd=`pwd`
cmd=$1
shift
# We can tell if we are running inside screen by looking
# for the STY environment variable. If it is not set we
# only need to run the command, but if it is set then
# we need to use screen.
if [ -z "$STY" ]; then
$cmd $*
else
# Screen needs to change directory so that
# relative file names are resolved correctly.
screen -X chdir $wd
# Ask screen to run the command
if [ $cmd == "ssh" ]; then
screen -X screen -t ""${1##*@}"" $cmd $*
else
screen -X screen -t "$cmd $*" $cmd $*
fi
fi
然后设置以下bash别名:
vim() {
scr vim $*
}
man() {
scr man $*
}
info() {
scr info $*
}
watch() {
scr watch $*
}
ssh() {
scr ssh $*
}
它使用ssh打开上述别名和iff的新屏幕,并使用ssh主机名重命名屏幕标题。
干杯z0mbix
我发现有用的一件事是,屏幕可以模拟比您的终端更大的宽度。如果我要使用less
真实的日志文件,并且不希望换行,我觉得这很有用。使用:
Ctrl-A:width -w 999
我可以将screen
的with设置为比我的终端宽,并且日志行less
不会换行。
-s
将告诉它不要换行。您可以使用Left
和Right
滚动线。
一项不错的功能:您可以backtick
拉入额外的信息以在字幕中显示。例如,我有一个脚本,可在各个文件夹中输出新邮件计数的单行摘要,如果我的屏幕会话以及带有如下配置的主机名,则该脚本显示在底行:
backtick 1 15 15 /home/waltermundt/bin/newmail
caption always
caption string "%{.kW}%1` example.com %{.bW}%-w%{.rW}%n %t%{-}%+w %{.gW}%h%{-}"
关键是%1`位,它表示反选作业1的输出。
(我hardstatus
将xterm用作标题字符串,并对其进行了不同的设置,因此使用caption
代替hardstatus alwayslastline
。)
我为自己打印了一些备忘单;
(注意:所有内容都以开头Ctrl-A)
答:重命名窗口 “:显示窗口列表 d:派遣会议
并screen -D -R
取消附加和重新附加正在运行的会话(以防万一您失去对会话的访问权限)。
这些都不是真正的隐藏功能,但是我发现这些功能最有用。
这是一项核心功能,但是当然最好是Ctrl-A:直接与屏幕对话。 : screen -t title ssh hostname
等等