Оскільки я використовую команду * nixscreen
цілий день, і я не могла знайти когось, хто починає це питання, я вважав, що її слід запустити. Ви знаєте вікі: спільнота вікі, одна відповідь на функції, щоб ми могли голосувати.
Оскільки я використовую команду * nixscreen
цілий день, і я не могла знайти когось, хто починає це питання, я вважав, що її слід запустити. Ви знаєте вікі: спільнота вікі, одна відповідь на функції, щоб ми могли голосувати.
Відповіді:
Я люблю використовувати його для підключення до послідовних консолей, тобто
screen /dev/ttyS0 19200
Ця команда просто відкриває з'єднання з послідовним портом 0 (ttyS0) зі швидкістю передачі в 19200
Найкраща особливість screen
- Byobu (раніше екранні профілі), який за замовчуванням поставляється з Ubuntu з часу Jaunty: https://launchpad.net/byobu
Це менеджер конфігурації з дуже хорошими за замовчуванням, тонами сповіщень про стан та корисними комбінаціями клавіш (тобто f2 для нового екрану, f3-f4 для попереднього / наступного тощо)
Я справді вже нікуди не йду без нього :)
З підсистеми KTamas: Більше однієї людини може використовувати один і той же екран, тобто якщо ваш друг ssh
увійшов у ваш комп'ютер, він може підключитися до вашого екрана. Чудово, коли над одними і тими ж проектами працюють дві-три людини.
Не зовсім «прихована функція»; але правильно встановлений .screenrc файл може змінити світ. Один з кращих прикладів, що їх можна знайти, можна знайти в Google 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 $*
}
Він відкриває новий екран для вищезазначених псевдонімів і iff за допомогою ssh, він перейменовує назву екрана з ім'ям хосту ssh.
Ура z0mbix
Я вважаю корисним те, що екран може імітувати більшу ширину, ніж ваш термінал. Я вважаю це корисним, якщо я використовую less
справжні файли журналів, і я не хочу, щоб рядки переносилися. Використання:
Ctrl-A:width -w 999
Я можу встановити, що screen
"s" буде ширшим, ніж мій термінал, і рядки журналу 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 backtick.
(Я використовую hardstatus
як рядок заголовка xterm і встановлюю його по-різному, тому використання caption
замість hardstatus alwayslastline
.)
Не «прихована» функція, але можливість ділитися сеансом на екрані з іншим активним користувачем дуже корисна.
Існують складні способи налаштування спільного доступу до екрана, включаючи дозволи доступу та керування іменами користувачів. Що я найчастіше роблю з колегами, це набагато швидше і брудніше:
chmod 777 $(tty)
sudo su <username>
screen -x <session>
Для цього не потрібна попередня конфігурація або обмін паролем.
Маленький шпаргалку, яку я роздрукував для себе;
(Примітка. Усе передує Ctrl-A)
A: перейменуйте вікно ": показати список вікон d: сеанс від'єднання
А screen -D -R
також зняти з’єднання та повторно приєднати запущений сеанс (якщо ви якось втратите доступ до свого сеансу).
Жодна з них не є насправді прихованими функціями, але саме ці функції, які я вважаю найбільш корисними.
Це основна особливість, але, звичайно, найкраще Ctrl-A:говорити безпосередньо на екрані. : screen -t title ssh hostname
тощо.