* nix 명령을screen
하루 종일 사용 하고이 질문을 시작한 사람을 찾을 수 없으므로 시작해야한다고 생각했습니다. 당신은 훈련을 알고 있습니다 : 커뮤니티 위키, 기능마다 하나의 답변으로 우리 모두 투표 할 수 있습니다.
* nix 명령을screen
하루 종일 사용 하고이 질문을 시작한 사람을 찾을 수 없으므로 시작해야한다고 생각했습니다. 당신은 훈련을 알고 있습니다 : 커뮤니티 위키, 기능마다 하나의 답변으로 우리 모두 투표 할 수 있습니다.
답변:
시리얼 콘솔 연결에 사용하는 것을 좋아 합니다.
screen /dev/ttyS0 19200
이 명령은 보드 속도가 19200 인 직렬 포트 0 (ttyS0)에 대한 연결을 간단히 엽니 다.
가장 좋은 기능은 screen
Jaunty 이후 기본적으로 Ubuntu와 함께 제공되는 Byobu (이전 화면 프로필)입니다. https://launchpad.net/byobu
매우 좋은 기본값, 많은 상태 알림 및 유용한 키보드 단축키 (예 : 새 화면의 경우 f2, 이전 / 다음의 경우 f3-f4 등)가있는 구성 관리자입니다.
나는 더 이상 그것 없이는 아무데도 가지 않습니다 :)
KTamas의 암송에서 : 두 명 이상의 사람이 같은 화면을 사용할 수 있습니다. 예를 들어, 친구가 ssh
컴퓨터에있는 경우 화면에 연결할 수 있습니다. 두세 사람이 같은 프로젝트를 수행 할 때 좋습니다.
정확히 "숨겨진 기능"이 아닙니다. 그러나 올바르게 설정 한 .screenrc 파일은 세상을 변화시킬 수 있습니다. 더 좋은 예 중 하나는 googling 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
터미널을 터미널보다 넓게 설정할 수 있으며 로그 라인이 줄 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
합니다.)
"숨겨진"기능은 아니지만 다른 활성 사용자와 화면 세션을 공유하는 기능이 매우 유용합니다.
액세스 제어 권한 및 사용자 이름 관리를 포함하여 화면 공유를 설정하는 복잡한 방법이 있습니다. 내가 동료와 가장 자주하는 일은 훨씬 빠르고 더럽습니다.
chmod 777 $(tty)
sudo su <username>
screen -x <session>
사전 구성이나 비밀번호 공유가 필요하지 않습니다.
내가 인쇄 한 작은 치트 시트;
(참고 : 모든 것이 앞에옵니다 Ctrl-A)
A : 창 이름 바꾸기 ": 창의 목록을 표시합니다 d : 세션 분리
그리고 screen -D -R
deattach 및 (경우에 대비하여 세션에 당신이 어떻게 든 잃게 액세스를) 실행중인 세션을 다시 연결합니다.
이러한 기능 중 실제로 숨겨져있는 기능은 없지만 가장 유용한 기능입니다.