screen 的隐藏功能

screen 的隐藏功能

由于我使用*nix 命令screen一整天,我都找不到任何人提出这个问题,我想应该有人提出来。你知道这个惯例:社区 wiki,每个功能一个答案,这样我们都可以投票。

答案1

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

screen /dev/ttyS0 19200

此命令只是打开与串行端口 0(ttyS0)的连接,波特率为 19200

答案2

其最好的功能screen是 Byobu (以前称为 screen-profiles),自 Jaunty 以来 Ubuntu 默认自带该功能:https://launchpad.net/byobu

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

我现在真的哪儿也去不了,只要带着它就行了 :)

答案3

来自 KTamas 的回答:多个人可以使用同一个屏幕,也就是说,如果你的朋友ssh使用你的电脑,那么他可以连接到你的屏幕。当两三个人同时从事同一个项目时,这很棒。

答案4

我不记得我从谁那里偷来的了(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 时,它会使用 ssh 主机名重命名屏幕标题。

干杯 z0mbix

相关内容