SSH: запуск программ с графическим интерфейсом на удаленном экране, а не X дисплей


проблема

большинство людей хотят соединиться с сервером по ssh с опцией "- X " для выполнения программ GUI на удаленном хосте, используя показ клиента. Я хотел бы запустить программы GUI на физическом мониторе, подключенном к серверу. Такое возможно ? Позвольте мне быть более конкретным:

моя ситуация следующая: у меня есть рабочая станция без клавиатуры или мыши, но к ней подключен монитор. Я хотел бы SSH к нему с моим ноутбуком и быть возможность запуска некоторых графических программ, таких как xeyes или ssvnc, и отображать их на мониторе рабочей станции.

[xapple@laptop ~]$ ssh workstation
Last login: Mon Sep 26 20:03:35 2011 from laptop
[xapple@workstation ~]$ export DISPLAY=:0
[xapple@workstation ~]$ xeyes
No protocol specified
Error: Can't open display: :0

Edit: дополнительная информация

Я, может быть, объясню несколько вещей более четко:

  • у меня есть доступ sudo на рабочей станции, я могу установить что угодно, если это необходимо.
  • рабочая станция работает под управлением пользовательского интерфейса GNOME.
  • перед отключением клавиатуры и мыши от рабочей станции я вошел в систему сеанс GNOME. Таким образом, можно увидеть мой рабочий стол GNOME на мониторе рабочей станции в настоящее время.
  • я не хочу запускать программы с моего ноутбука на рабочей станции. Я хотел бы запустить программы рабочей станции на рабочей станции. В xeyes или любой исполняемый файл находится на удаленном сервере и должен быть запущен на мониторе удаленного сервера
  • я понимаю, что выполнение этого оставит меня в ситуации, когда мой курсор не будет подключен к интерфейсу. Я не ... возможность нажимать на вещи. Все нормально.

любая помощь очень ценится !

10
задан xApple
01.12.2022 18:52 Количество просмотров материала 3646
Распечатать страницу

2 ответа

любое xlib-приложение должно подключаться к xserver. вы должны сообщить приложению подключение к серверу либо:

  • установка переменной окружения DISPLAY
  • использование флага командной строки, например -display

до первого xserver обычно можно добраться по строке соединения ':0'. Итак, попробуйте это:

xeyes -display :0

или это

env DISPLAY=:0 xeyes
5
отвечен akira 2022-12-03 02:40

эта рабочая станция работает под управлением X Windows server? Без этого все это спорный вопрос.

вам нужно что-то обрабатывать данные в графики, пиксели, цвета и местоположения. "Монитор" бесполезен без какого-либо программного обеспечения для его запуска.

предполагая, что это. (но из текста, конечно, звучит иначе)

дал имена хостов (и соответствующее разрешение DNS через /etc/hosts или DNS или что-то еще) из 'workstation' и 'laptop'... если нет, замените имена хостов компьютеров с соответствующими IP-адресами.

ssh workstation
xhost +laptop

затем вы можете выйти из рабочей станции на этом этапе, так как это устанавливает разрешения на xserver рабочей станции, чтобы позволить "ноутбук" для подключения.

Если вы начинаете ваши программы с дисплеем env var установленным соотвественно, то вы можете причинить применения быть показанным на рабочем месте, пока бегущ на вашей компьтер-книжке.

DISPLAY=workstation:0 xeyes

-или-

export DISPLAY=workstation:0
xeyes

любой метод будет работать, последний при запуске из этой оболочки на рабочей станции будет отображаться все, что связано с X11. (надеюсь, что имело смысл)

линия 'xhost' разрешает ноутбуку подключаться к Xserver рабочей станции. Без него вы получите отказ в разрешении, если не запустите X-сервер без разрешений,что не рекомендуется. Защита "xhost" все еще хромает, так как данные отправляются "обычным текстом" между ноутбуком и рабочей станцией и могут быть обнюханы, но это легко решение.

Если вы хотели уединения, Вам нужно настроить какой-то зашифрованный туннель между вашим ноутбуком и станции (порта 6000 на дисплее :0). Да, в этот момент это становится странным.

Если вы находитесь в контролируемой среде, то с помощью команды "xhost + ноутбук" будет достаточно, если вы оставите часть "ноутбук" этой команды " xhost +", то любой может подключиться к Xserver и отображать вещи.

помню, мышь не "подключен" к рабочей станции Xserver, и вы не сможете манипулировать windows или нажмите на вещи.

Если вы хотите мышь, чтобы быть подключен, я бы рекомендовал что-то вроде x2x, synergy, vnc или X Windows на основе совместного использования экрана приложения.

5
отвечен lornix 2022-12-03 04:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх