Socat и богатые терминалы (с Ctrl+C/Ctrl+Z/Ctrl+D распространением)

socat - exec:'bash -li',pty,stderr,ctty -> bash: no job control in this shell

Какие опции я должен использовать для получения полностью оперенной оболочки, поскольку я добираюсь с ssh/sshd?

Я хочу смочь подключить оболочку ко всему, что socat может обработать (SOCKS 5, UDP, OpenSSL), но также и иметь хорошую оболочку, которая правильно интерпретирует все ключи, различный Ctrl+C/Ctrl+Z, заполнение клавишей Tab,/вниз ключи (с удаленной историей).

  • Обновление 1: Найденный "setsid" socat опция. Это не фиксирует "управления заданиями". Теперь пытаясь зафиксировать Ctrl+D.

  • Обновление 2:

    socat file:`tty`,raw,echo=0 exec:'bash -li',pty,stderr,setsid,sigint,sane
    . Не это обрабатывает Ctrl+D/Ctrl+Z/Ctrl+C хорошо, я могу запустить Vim в нем, удаленная история в порядке.
6
задан 15.03.2012, 15:47

1 ответ

Проблемы были:

  1. Пропавшие без вести "setsid" опция в правой стороне socat. Это заставит удар не быть контроллером сессии.
  2. Используя "-" в левой стороне socat. Надлежащей вещью является 'tty', сырые данные, echo=0.

Теперь у меня может быть оболочка по всем вещам socat, может поддерживать и может запустить vim/screen/ssh, прерывание ping с ^C, концом cat с ^D и делают все остальное в той оболочке.

Если удар повреждает строки неправильно и/или vim является слишком маленьким или слишком большим, можно использовать termsize для фиксации его легко.

4
ответ дан 07.12.2019, 16:21

Теги

Похожие вопросы