Я только что познакомил друга с GNU Screen, и ему трудно к нему привыкнуть. Это заставляет меня задуматься о важных вещах, которые ему нужно знать об отличной утилите Screen , о тех вещах, которым, по вашему мнению, стоит научить кого-то, новичка, с нуля. Какие есть аналогии и полезные советы по запоминанию биндов и т. Д.?
Это было бы замечательно.
gnu-screen
Генри Б.
источник
источник
Ответы:
Я использую
Screen
более 10 лет и, вероятно, использую менее половины функций. Так что изучать сразу все его возможности определенно не обязательно (и я бы не рекомендовал пробовать). Мои повседневные команды:Думаю, все. Иногда я использую функции разделения экрана, но, конечно, не ежедневно. Другой совет: если кажется, что экран заблокирован из-за того, что вы случайно нажали какую-то случайную комбинацию клавиш, выполните оба действия
^Q
и^A ^Q
попытайтесь разблокировать его.источник
exit
). Окно экрана автоматически закрывается после выхода из последней оболочки в окне.Я не мог привыкнуть к экрану, пока не нашел способ установить в нижней части экрана «строку состояния», которая показывает, на какой «вкладке» или «виртуальном экране» вы находитесь, а какие еще есть. Вот моя установка:
источник
Ctrl+ A? - показать экран справки!
источник
Если ваш друг имеет обыкновение нажимать,
^A
чтобы перейти к началу строки в Bash, его / ее ждут некоторые сюрпризы, так^A
как это привязка клавиши экранной команды. Обычно я получаю зависший экран, возможно, из-за какой-то случайной клавиши, которую я нажал после^A
:-)В этих случаях я стараюсь
^A s
и^A q
заблокировать / разблокировать прокрутку терминалачтобы исправить это. Для перехода к началу строки внутри экрана, ключевая последовательность
^A a
.источник
Вы можете переназначить escape-клавишу с Ctrl+ Aна другую клавишу по вашему выбору, поэтому, если вы действительно используете ее для чего-то еще, например, чтобы перейти к началу строки в bash, вам просто нужно добавить строку в ваш ~ /. screenrc файл. Чтобы сделать это ^ b или ^ B, используйте:
В командной строке используйте сеансы имен, чтобы контролировать несколько сеансов. Я использую один сеанс для каждой задачи, каждая с несколькими вкладками:
При использовании screen вам понадобится всего несколько команд:
Превосходный краткий справочник можно найти здесь . Стоит сделать закладку.
источник
screen -e^oo
поэтому могу использовать для этого Ctrl + O, а затем начинаю с внутреннего,screen -m
чтобы они запускали новые сеансы.^A :
а\Bb
затем нажмите Enter, чтобы установить для клавиши выхода значение ^ B. В общем,^A :
позволяет оценить команду, которую вы.screenrc
понимаете.Несколько советов для тех, кто знаком с screen, но не помнит то, что читал на странице руководства:
.screenrc
файле:Это дает ctrl+ a shift+ 0 through 9для окон с 10 по 19.
источник
Ctrl+ A- это базовая команда
Ctrl+ A N= перейти на экран *** N *** ext
Ctrl+ A P= перейти на предыдущий экран *** P ***
Ctrl+ A C= *** C *** создать новый экран
Ctrl+ A D= *** D *** etach your screen
источник
http://www.debian-administration.org/articles/34
Я написал это пару лет назад, но это все еще хорошее введение, которое получает много положительных отзывов.
источник
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
Я "должен" добавить это: добавить
к вашему
.screenrc
, если вы - как и я - использовали разделенные окна, так какC-a S
фактическое окно разбивается, ноC-a s
замораживается. Поэтому я просто отключил ярлык замораживания.источник
^-Q
размораживается при ударе^-S
Ctrl+ a- специальный ключ.
Ctrl+ a d- [d] etach, оставить программы (irssi?) в фоновом режиме, вернуться домой.
Ctrl+ a c[c] создать новое окно Ctrl+ a 0-9переключаться между окнами по номеру
screen -r - вернуться к отключенному сеансу
Это покрывает 90% случаев использования. Не пытайтесь показать весь функционал одновременно.
источник
screen
я был смущен тем, что на самом деле означает отсоединение и повторное прикрепление экрана. Цитата : «... у вас могут быть длительно выполняющиеся задачи на отдельных консолях (например, ssh на удаленном компьютере, сеансы IRC и т. Д.) На данном компьютере, отключаться от сеанса, перемещаться из одного физического места в другое, подключаться к машину через ssh и повторно подключитесь к сеансу экрана, чтобы продолжить работу ".Не очень важно, не только связано с экраном, но включение 256 цветов в моем терминале, GNU Screen и Vim значительно улучшили мой опыт работы с экраном (тем более, что я кодирую в Vim около 8 часов в день - есть несколько отличных удобных для глаз цветовых схем).
источник
Первая модификация, которую я внес в .screenrc, - это изменить команду escape. Как и многие из вас, мне не нравится последовательность Ctrl-A по умолчанию из-за того, что она мешает этой фундаментальной функции почти в любом другом контексте. В моем файле .screenrc я добавляю:
побег `е
Это обратная кавычка.
Это позволяет мне использовать обратную кавычку в качестве клавиши перехода (например, для создания нового экрана я нажимаю обратную кавычку-c, отсоединение - обратная кавычка-d, обратная кавычка-? - помощь, обратная кавычка - предыдущий экран и т. Д.). Единственный способ, которым это мешает (и мне пришлось избавиться от этой привычки), - это использовать обратную кавычку в командной строке для захвата результатов выполнения или вставлять все, что содержит обратную кавычку. Что касается первого, я изменил свою привычку, используя соглашение BASH $ (команда). Для последнего я обычно просто открываю другой xterm или отключаюсь от экрана, а затем вставляю контент, содержащий обратную кавычку. Наконец, если я хочу вставить буквальную обратную кавычку, я просто нажимаю обратную кавычку-e.
источник
Ведется некоторая интересная работа по получению хорошей настройки экрана GNU по умолчанию в следующей версии Ubuntu Server, которая включает использование нижней части экрана для отображения всех окон, а также других полезных сведений о машине (например, количество обновлений доступно и требуется ли перезагрузка машины). Вы, вероятно, можете взять их
.screenrc
и настроить под свои нужды.Самые полезные команды, которые у меня
.screenrc
есть, следующие:Таким образом, я всегда знаю, какие окна открыты и что в них работает в данный момент.
источник
Я использую для
ssh
:Затем я установил следующие псевдонимы bash:
Он открывает новый экран для вышеуказанных псевдонимов и, если используется ssh, переименовывает заголовок экрана на имя хоста ssh.
источник
Мне нравится настраивать сеанс экрана с описательными именами для окон. ^ a A позволит вам дать имя текущему окну, а ^ a "предоставит вам список ваших окон. Когда закончите, отсоедините экран с помощью ^ ad и повторно прикрепите с помощью screen -R
источник
Мне нравится использовать
screen -d -RR
для автоматического создания / прикрепления к заданному экрану. Я создал функции bash, чтобы было проще ...Они создают псевдоним
/usr/bin/screen -d -RR -S $name $command
. Например, мне нравится использовать irssi в сеансе экрана, поэтому в моем .bashrc (под этими функциями) у меня есть:Тогда я могу просто ввести
irc
терминал, чтобы войти в irssi. Если экран irc еще не существует, он создается и с него запускается / usr / bin / irssi (который, конечно, подключается автоматически). Если он уже запущен, я просто снова подключаюсь к нему, принудительно отсоединяя любой другой экземпляр, который уже подключен к нему. Это неплохо.Другой пример - создание временных псевдонимов экрана для perldocs по мере их появления:
Параметр -a (должен быть первым аргументом) добавляет псевдоним экрана к .bashrc (чтобы он был постоянным), а -d удаляет его (это потенциально может быть разрушительным, поэтому используйте его на свой страх и риск). xD
Добавить:
Еще один баш-изм, который мне удобен при длительной работе с экраном:
Таким образом вы сможете выводить список своих экранов с гораздо меньшим количеством нажатий клавиш. Я не знаю,
sls
сталкивается ли с какими-либо существующими утилитами, но в то время в моей системе этого не было, поэтому я пошел на это.источник
^ AA вернется к экрану, с которого вы только что пришли.
источник
Ctrl+ A- отличный специальный персонаж для Unix-людей, но если вы используете экран для общения с OpenVMS , то неспособность ^ A сделает вас преждевременно лысым.
В VMS , если вы редактируете команду DCL перед выполнением из буфера истории, режим вставки отключен (это должно быть по нескольким причинам, я не буду здесь вдаваться) ... чтобы включить его, чтобы вы не Не набирайте команду слишком часто, а не разбрасывайтесь, вы должны нажать `^ A.
источник
screen -e ^Ll
по тем же причинам; Я просто не могу отучиться набирать ctrl-A, чтобы перейти к началу строки в Emacs. К счастью, ctrl-L - это нажатие клавиши, которое мне редко нужно, и, кроме того, оно, IMHO, прекрасно сочетается со своим общим значением (перерисовка / очистка экрана)..screenrc
hasescape ^@^@
, в котором используется нулевой символ, а не control-A. В большинстве систем вы можете ввести нулевой символ в качестве контрольного пробела, который очень легко набрать. (У меня есть вложенный сеанс экрана, работающий внутри окна в моем основном сеансе; для этого у меня естьescape ^]^]
.)