Экран не выдает pty

В моем окне linux при использовании screen я могу открывать, читать и писать на псевдотерминале с screen . После закрытия (Ca ky) я не могу подключиться к нему снова, не перезапуская socat , который предоставляет псевдотерминал.

Сразу после начала socat вещи выглядят так:

  /home/kidmose $ fuser /dev/pts/9 /dev/pts/9: 20960 /home/kidmose $ lsof /dev/pts/9 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME socat 20960 kidmose 5u CHR 136,9 0t0 12 /dev/pts/9 

И я могу писать и читать, как ожидалось:

  /home/kidmose $ echo "uname -a" > /dev/pts/9 && cat /dev/pts/9 uname -a Linux egki-laptop-linuxmint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

Начальный screen также работает один раз (я могу написать и прочитать ожидаемый результат):

  /home/kidmose $ screen /dev/pts/9 uname -a # My input Linux egki-laptop-linuxmint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux # Response (Ca ky) # I kill the window and screen terminates ([screen is terminating]) 

Теперь я больше не могу подключаться к screen или просто писать. Экран немедленно выходит с [screen is terminating] и при попытке записи я получаю следующую ошибку:

  /home/kidmose $ echo "uname -a" > /dev/pts/9 && cat /dev/pts/9 bash: /dev/pts/9: Device or resource busy 

Некоторая информация:

  /home/kidmose $ fuser /dev/pts/9 /dev/pts/9: 20960 /home/kidmose $ lsof /dev/pts/9 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME socat 20960 kidmose 5u CHR 136,9te 0t0 12 /dev/pts/9 /home/kidmose $ 

Любые идеи о том, почему он «занят» / недоступен?

Я заметил, что « te » появляется на выходе lsof . Любое объяснение этому?

Моя конечная цель – иметь виртуальный терминал на удаленном устройстве. Из-за NAT и т. Д. Мне нужно, чтобы удаленное устройство заходило на сервер, где будет виртуальный терминал.

Изменить: Как сказал lemonsqueeze в своем комментарии :

 [A: sh -> socat] --> [B: socat -> pty -> screen] Machine A TCP Machine B 

  • Могу ли я заставить ssh-agent ждать, пока я не буду использовать ssh для запроса пароля?
  • Запустить сценарий оболочки на OS X без появления окна терминала?
  • Создание символов 256-цветного и линейного рисования работает в PuTTY
  • Агент SSH теряет идентификатор во время перезагрузки машины
  • Как получить вертикальное разделение терминала на Mac для выполнения различных действий?
  • Вкладка «Автозаполнение» в Mac OS X при использовании sftp в терминале
  • Каковы пределы команды whois для unix?
  • Откройте новую вкладку в том же каталоге
  • One Solution collect form web for “Экран не выдает pty”

    Предложение: В этой ситуации я бы пошел с обратным SSH- соединением:

    Вместо того, чтобы ваша машина выполняла ssh, серверная машина выполняет передачу ssh и через порт, чтобы вы могли ssh вернуться на серверную машину.

    Но это, конечно, не так забавно, как строить его самостоятельно с помощью socat. Я по-прежнему рекомендую разобраться в этой проблеме pty, это хороший способ узнать.

    Давайте будем гением компьютера.