屏幕的隐藏功能


Answers:


31

喜欢用它来连接串行控制台,即

screen /dev/ttyS0 19200

此命令仅以19200的波特率打开与串行端口0(ttyS0)的连接


这是我最喜欢让人们
吃惊的

1
确实是我的最爱之一。无需处理或配置minicom,conserver等。当我发现这一点时,我就像糖果商店里的小孩。
Scott Pack

绝对-开启屏幕会话并分成两个窗口,并且两个USB串行加密狗都可见,这是很好的选择。
dotwaffle

10

最好的功能screen是Byobu(以前的屏幕配置文件),自Jaunty以来,Ubuntu默认随附它:https : //launchpad.net/byobu

这是一个配置管理器,具有非常好的默认值,大量的状态通知和有用的键盘快捷键(例如,用于新屏幕的f2,用于上一个/下一个的f3-f4等)

我真的再也没有它了:)


10

来自KTamas的帮助:多个人可以使用同一屏幕,即,如果您的朋友ssh进入您的计算机,则他可以连接到您的屏幕。两个或三个人在同一个项目上工作真是太好了。


1
这对于跟踪远程支持用户正在执行的操作,如果他们的操作效果不佳,则终止他们的会话会更好!
汤姆·奥康纳

6

不完全是“隐藏功能”;但是正确设置的.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

2
考虑到ctrl + a在屏幕外使用过多(bash中的行开头是不是有人?),我喜欢这样。
Scott Pack

1
ctrl + a / ctrl + e用于移动光标,也可以在屏幕上运行minicom时使用。Ctrl + a,a,o选项...
petrus

6

我不记得是谁偷的(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


:o。你从我身上抬起并适应了它吗?gist.github.com/137214
VxJasonxV 2011年

不,我认为这是来自last.fm工作人员的博客一次。
2011年

4

我发现有用的一件事是,屏幕可以模拟比您的终端更大的宽度。如果我要使用less真实的日志文件,并且不希望换行,我觉得这很有用。使用:

Ctrl-A:width -w 999

我可以将screen的with设置为比我的终端宽,并且日志行less不会换行。


10
仅供参考,less选项-s将告诉它不要换行。您可以使用LeftRight滚动线。
MikeyB,2009年

4

启动屏幕时,可以使用-ethat更改控制键的功能。我使用它可以将屏幕会话相互嵌套。示例:“ screen -e ^ w ^ x”使控制键为ctr-w。


2

一项不错的功能:您可以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。)


2

这不是“隐藏”功能,但与另一个活动用户共享屏幕会话的功能非常有用。

设置屏幕共享的方法很复杂,包括访问控制权限和用户名管理。我最经常与同事一起做的事更加快捷和肮脏:

  1. 在新窗口中登录有问题的计算机。
  2. 允许任何人写信给我的终端: chmod 777 $(tty)
  3. 须藤到他们的帐户: sudo su <username>
  4. 分享他们的屏幕: screen -x <session>

这不需要任何高级配置或密码共享。


1

我为自己打印了一些备忘单;

(注意:所有内容都以开头Ctrl-A

答:重命名窗口   
“:显示窗口列表   
d:派遣会议

screen -D -R取消附加和重新附加正在运行的会话(以防万一您失去对会话的访问权限)。

这些都不是真正的隐藏功能,但是我发现这些功能最有用。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.