2

Скажем, у меня только одна консоль, можно ли имитировать несколько консолей / сессий?

Я ищу команду / метод Linux, а не Ubuntu / Debian.

#console1
$ ..

#console2
$ console_switch 2
$ ..

#console1 again
$ console_switch 1
$ ..

Что-нибудь, даже как это доступно, даже как пакет?

Найден пакет 'screen', но между переключениями вывод не поддерживается.

4 ответа4

4

Для этого популярны мультиплексоры tmux и screen Terminal. Можно увидеть несколько окон одновременно, разделив их по вертикали / горизонтали; например, Ctrl-B " в tmux. Есть даже возможность копировать и вставлять текст между окнами.

Редактор emacs позволяет запускать интерактивные оболочки в нескольких буферах - опять же, с несколькими буферами на экране и с копированием / вставкой между ними.

Более простой альтернативой tmux/screen является dtach , который не выполняет полную эмуляцию терминала, а только позволяет отсоединять / повторно подключать, поэтому предыдущий вывод остается. (Однако это также означает, что отсоединение внутри полноэкранной программы не будет работать хорошо.)

Инструментальная панель семейной реликвии, по- видимому, предоставляет версию shl , "слоев оболочки", которые присутствовали в Unix SVR3 (и вскоре умерли, но все еще остаются в stty swtch). Однако я не могу собрать инструментарий для сборки, и я не уверен, что современные ядра Linux имеют необходимую поддержку для shl . Однако, если бы это сработало, это было бы почти так же, как в вашем примере.

Наконец, вы можете иметь несколько процессов оболочки, работающих как задания:

$ bash
  $ suspend
$ bash
  $ suspend
$ jobs
[1]-  Stopped                 bash
[2]+  Stopped                 bash
2

В GNU Screen вы можете:

  1. разделить окно с помощью Ctrl+A, Shift+S,
  2. переключиться на новый раздел с помощью Ctrl+A, Tab,
  3. открыть новый экран с помощью Ctrl+A, C,
  4. повторение.

Дополнительно, чтобы закрыть текущее разделение, нажмите Ctrl+A, Shift+X.

1

Экран GNU, tmux и, возможно, многое, многое другое. Термин, который вы ищете, это терминальный мультиплексор, я думаю.

1

Не уверен, что это именно то, что вы ищете, но screen / byobu кажется похожим. Вы переключаетесь не командой, а комбинацией клавиш в стиле emacs. Если у вашего дистрибутива есть пакет, я бы предложил byobu.

Изменить: Byobu это слой удобства использования, построенный в верхней части экрана. Насколько я знаю, их не так много, что любой может сделать то, что другой не может, но Бёбу часто делает это намного проще.

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