Экран не выдает 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 

One Solution collect form web for “Экран не выдает pty”

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

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

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

  • Подключение к сети Wi-Fi через терминал Mac
  • Как запустить функцию bash_profile из файла псевдонимов desktop .command на OSX Lion?
  • Сохранить несколько макетов гнома-терминала?
  • Как установить оболочку в Mac OS X?
  • Вкладка «Автозаполнение» в Mac OS X при использовании sftp в терминале
  • Изменение размера окна iTerm 2
  • Как включить цветной выход для OSX diff?
  • Откройте новую вкладку в том же каталоге
  • Невозможно ввести какой-либо специальный символ или umlaut в терминале
  • Значок? Файл на рабочем столе OS X
  • Как я могу копировать на select в терминале OS X, например PuTTY?
  • В vim, как я могу быстро переключаться между вкладками?
  • Interesting Posts

    Bash: есть ли способ поиска определенной строки в каталоге файлов?

    Как клиентские приложения знают, как использовать IPv4 или IPv6?

    Как предотвратить диалоговое окно «Открыть с» при открытии файла из окна команд?

    Какова цель субдомена WWW?

    Как удалить неважные элементы из контекстного меню правой кнопкой мыши?

    Мой приятельский список в Excel ушел

    Как безопасно удалять файлы, хранящиеся на SSD?

    Применить шаблон к существующему файлу документа Word

    Как установить Linux вместе с Windows 8 без повреждения конфигурации загрузки Windows 8?

    Инструмент для установки установленных компонентов на ПК

    Как Windows знает, не отвечает ли программа?

    Как выполнить калибровку монитора?

    Перемещение папки пользователей в Windows Vista на другой раздел – плохая идея?

    Отключить прокрутку до следующего слайда в режиме редактирования Powerpoint

    Что является лучшим (бесплатным) vnc-сервером

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