2

ХОРОШО. Так что я люблю экран. Это спасло мой бекон несколько раз, когда машины выходят из строя или отключаются от сети. Тем не менее, есть достаточно причин, которые мешают мне использовать экран для всего, в том числе:

  1. Боли в попе прокручиваются. Почему я не могу просто взаимодействовать, как будто это обычная оболочка bash?
  2. Мои сочетания клавиш исчезли. В моей среде bash настроено несколько вещей, есть ли способ заставить их работать на экране?

Есть ли какие-либо инструменты, которые мы можем использовать, чтобы сделать мой опыт использования экрана таким же высоким, как и мой опыт использования bash?

3 ответа3

3

Это длинный и простой ответ, но я также рассмотрел проблему с Ctrl-D, которую вы указали в ответе ОП ниже

Я вижу большое замешательство здесь терминала и оболочки. Прокрутка выполняется не вашей оболочкой, а терминалом. Что делает screen и tmux , так это добавляет еще один терминал поверх вашего gnome-терминала для каждого подокна (на первый взгляд это может показаться странным, но терминал - это не совсем то, что вы видите, а просто устройство, часто в /dev /pts). /, где процесс может читать байты и записывать байты).

Поскольку screen запускает свои псевдотерминал (ы) поверх вашего gnome-терминала, у него нет шансов перехватить ключи, которые gnome-терминал уже перехватывает. Он должен иметь свои собственные сочетания клавиш, и вы, как пользователь, не должны нажимать сочетания клавиш, которые понимает gnome-терминал. Вы можете, но результат не будет таким, как вы ожидали, так как gnome-терминал не знает о беспорядке, который создал экран.

У вас действительно могут быть ярлыки, перехваченные только вашей оболочкой (а не терминалом, из которого оболочка считывает свои символы), но на них не должны воздействовать, если они не задействуют Ctrl-A (единственная клавиша, перехваченная экраном поверх клавиш, которые перехватывается терминальной подсистемой (например, Ctrl-C)). Они должны работать точно так же. Некоторые сочетания клавиш, обычно интерпретируемые этой оболочкой bash - это Ctrl-A (внутри экрана, вы должны использовать Ctrl-A a), чтобы переместить курсор в начало редактируемой команды, и Ctrl-E (работает внутри экрана точно так же как не внутри экрана), чтобы перейти к концу.

Я знаю, что это звучит сложно, но это действительно очень просто, потому что терминал - это просто файл, в который вы можете записывать байты и читать байты. Вот отличная статья, которая охватывает много связанных вещей, если вы заинтересованы: http://www.linusakesson.net/programming/tty/index.php

Например, для решения проблемы Ctrl-D (комбинация клавиш, которая должна интерпретироваться оболочкой), вы должны убедиться, что символы, сгенерированные Ctrl-D, одинаковы как на терминале gnome, так и на терминале экрана. Вы можете увидеть персонажа, например, с cat . Я подозреваю, что они действительно одинаковы (так в моей системе), и если да, это означает, что экран запустил другую оболочку, чем обычно делает gnome-терминал. В этом случае выясните, какая оболочка изначально запускается терминалом gnome, и запустите эту оболочку (с такими же аргументами командной строки) и в сеансе экрана.

0

Эта проблема

У вас есть несколько вариантов, когда речь идет о терминальных мультиплексорах, но ни один из них не будет вести себя так же, как ваша оболочка.

Графическое решение

Screen и tmux (и, соответственно, byobu), вероятно, не тот выбор, если вы хотите, чтобы они были заменой для использования Bash внутри gnome-терминала. Так что вы можете просто сделать это.

VNC предоставляет вам среду X Windows, которая является отсоединяемой и возобновляемой, поэтому вы получаете всю надежность терминального мультиплексора, но вы также получаете полную оконную среду. Вы можете запустить эмулятор терминала по своему выбору, использовать обычные настройки клавиатуры Bash, и ваша мышь будет работать так, как вы ожидаете.

Смотрите также

0

Одно слово: Бёбу

Я начал использовать около года назад и не вернусь ни к чему другому.

Это в основном полностью настраиваемый интерфейс для экрана. http://en.wikipedia.org/wiki/Byobu_%28software%29

Byobu (программное обеспечение) Из Википедии, свободной энциклопедии. Перейти к: навигация, поиск Экран терминала Byobu для nijaba.png Byobu Developer (s) Dustin Kirkland (см. Полный список авторов Первоначальный выпуск 2009) Написано на sh, python Операционная система Linux, Unix-like Тип Интерфейс командной строки Лицензия GNU General Public License v3 Веб-сайт http://launchpad.net/byobu

Byobu - это усовершенствование терминальных мультиплексоров GNU Screen [1] или tmux [2], которое можно использовать для предоставления на экране уведомлений или статуса, а также для управления несколькими окнами с вкладками. Он направлен на обеспечение лучшего взаимодействия пользователей с терминальными сеансами при подключении к удаленным серверам. история

Идея Byobu возникла во время сессии на Ubuntu Developer Summit, когда разработчики искали способ упростить экранное уведомление администратора, подключенного к серверу. [3]

Первоначально он был написан для Ubuntu [4] [5] и с тех пор портирован на несколько других дистрибутивов Linux [6] [7] и другие Unix-подобные операционные системы. [8] Версия 1.0 была сделана под названием Screen Profiles. Проект был переименован в Byobu для его версии 2.0. [9] Byobu 3.0 переработал систему сборки для использования automake и возможности портирования на другие операционные системы UNIX. В Byobu 4.0 было добавлено разделение экрана, переработана система уведомлений о статусе и добавлена поддержка профилей tmux. Наиболее существенное изменение, которое вносит Byobu 5.0, - это переход с экрана GNU на Tmux в качестве бэкэнда по умолчанию. Вы по-прежнему можете запускать Byobu в режиме Screen-Mode, но теперь по умолчанию используется Tmux [10].

Начиная с выпуска Ubuntu 11.10, все начальные оболочки Ubuntu в облаке по умолчанию запускаются в среде Byobu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .