Экран не выдает 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, это хороший способ узнать.

  • Как загрузить все изображения с веб-сайта (а не веб-страницы) с помощью терминала?
  • Как получить вертикальное разделение терминала на Mac для выполнения различных действий?
  • Копирование папки нескольким адресатам параллельно
  • Выход терминала поиска
  • Не удалось создать символическую связь между терминалом в Mac OS X и Sublime Text 2, чтобы его можно было запустить из командной строки
  • Как я могу менять цвета терминала GNOME каждый раз, когда он запускается?
  • Каковы пределы команды whois для unix?
  • Как я могу удаленно запускать сценарии на нескольких серверах, добавлять выходные данные
  • Как зашифровать несколько файлов в отдельные архивы?
  • Изменение имени хоста и запроса в терминале OS X
  • Цветовая схема не применяется в iTerm2
  • Interesting Posts

    Метод для извлечения соответствия stat_smooth

    Необходимо исправить Windows MBR без использования компакт-диска

    Запуск программ путем ввода некоторых псевдонимов в Windows

    Как вернуться к определенной версии Office 2016?

    Как восстановить поврежденные системные файлы с установочного диска

    Командная строка с несколькими вкладками в Windows?

    Полноэкранные цифровые часы для DOS 6.22?

    Firefox несколько строк вкладки?

    Быстрый способ установки win7 и программ на многие новые мини-ПК без OSless, которые будут подключены в локальной сети

    Как преобразовать ArrayList, содержащий целые числа в примитивный массив int?

    Как получить параметры из URL с JSP

    Измените язык проверки орфографии в презентации PowerPoint

    Остановить Mongoose от создания свойства _id для элементов массива поддокумента

    Зацикливание объекта datetime приводит к числовому iteratorу

    Синтаксис Swift do-try-catch

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