У меня есть 4 разных малиновых устройства, которые я подключаю к 4 различным мониторам. Предыдущий техник из моей компании установил и включил vnc-сервер для всех них, чтобы он мог удаленно подключиться к ним и выполнить только одну команду.

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

Он просто подключался к каждому из них для запуска вышеуказанной команды, но, конечно, с другим пользователем и терминальным сервером. Я искал более удобный способ, чтобы все вышеперечисленное из моей коробки fedora сочетало в себе мощь sshpass и ssh. Итак, сначала я попробовал

sshpass -p 'somepass' ssh pi@10.xxx.xxx.xx1

а затем из сеанса я бегу

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

но я получил сообщение об ошибке "Не удалось открыть порт дисплея". Теперь я знаю, что результаты этой команды или любой другой команды будут отображаться в моем терминале. Поэтому я попробовал несколько вариантов команды ssh, но в результате я увидел rdsektop на моем экране или вышеприведенную ошибку.

sshpass -p 'somepass' ssh pi@10.xxx.xxx.xx1 -t rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

или же

sshpass -p 'somepass' ssh pi@10.xxx.xxx.xx1 -t -X rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

Здесь я хочу выполнить команду rdesktop на удаленной машине и показать на этом экране телевизора сеанс, который я создал ранее. В нескольких словах. Обходи вход в vnc и делай все это из ssh. Там в любом случае? Я знаю, что где-то я не прав, но я не могу понять, где я не прав.

1 ответ1

1

не удалось открыть порт дисплея

Эта команда указывает на то, что вы, вероятно, не выполняете пересылку X11 автоматически. Но вы, похоже, пытаетесь запустить приложение X11 из удаленной системы.

Если вы планируете запускать rdesktop из удаленной системы, тогда вам нужен SSH-сервер для поддержки пересылки X11, вам нужен пакет xauth , установленный на удаленном компьютере. Вам нужно либо настроить конфигурацию клиента ssh /etc/ssh/ssh_config либо ~/.ssh/config либо передать -X в командную строку ssh чтобы включить пересылку X11 с клиента.

Запуск rdesktop с удаленной машины может быть не лучшим вариантом. В основном у вас есть все издержки сеанса X11 плюс все накладные расходы сеанса RDP. Возможно, вам лучше использовать функции переадресации портов SSH, а затем запустить локальный клиент rdesktop/freerdp. Таким образом, вы можете пропустить медлительность, характерную для удаленных сеансов X11.

Конечно, последнее замечание, я настоятельно рекомендую вам пересмотреть использование sshpass. Если это вообще возможно, вы должны вместо этого использовать аутентификацию на основе ключей.

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