Эта проблема
Большинство людей хотят подключиться к серверу через ssh с опцией «-X», чтобы запускать программы с графическим интерфейсом на удаленном хосте, используя отображение клиента. Я хотел бы запускать программы с графическим интерфейсом на физическом мониторе, подключенном к серверу. Это возможно ? Позвольте мне быть более конкретным:
Моя ситуация следующая: у меня есть рабочая станция без клавиатуры или мыши, но к ней подключен монитор. Я хотел бы подключиться к 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
Редактировать: дополнительная информация
Возможно, мне следует объяснить несколько вещей более четко:
- У меня есть доступ sudo на рабочей станции, я могу установить все, что нужно.
- Рабочая станция работает под управлением пользовательского интерфейса GNOME.
- Прежде чем отключить клавиатуру и мышь от рабочей станции, я вошел в сеанс GNOME. Поэтому можно видеть мой рабочий стол GNOME на мониторе рабочей станции.
- Я не хочу запускать программы с моего ноутбука на рабочей станции. Я хотел бы запускать программы для рабочих станций на рабочей станции. Xeyes или любой исполняемый файл найден на удаленном сервере и должен быть запущен на мониторе удаленного сервера
- Я понимаю, что выполнение этого оставит меня в ситуации, когда мой курсор не будет подключен к интерфейсу. Я не могу нажимать на вещи. Ничего страшного.
Любая помощь с благодарностью!
xhost +
на своем сервере?Ответы:
любое xlib-приложение должно подключаться к xserver. Вы должны сообщить приложению о подключении к серверу:
-display
первый xserver обычно может быть достигнут через строку соединения ': 0'. Итак, попробуйте это:
или это
источник
XAUTHORITY
потребуется настройка , так как сервер X11 будет использовать временный файл Xauthority.На этой рабочей станции работает сервер X Windows? Без этого, это все спорно.
Вам нужно что-то, чтобы обработать данные в графику, пиксели, цвета и местоположения. «Монитор» бесполезен без какого-либо программного обеспечения для его запуска.
Предполагая, что это так. (но из текста, конечно, звучит иначе)
Учитывая имена хостов (и соответствующее разрешение DNS через / etc / hosts или DNS или что-то еще) для «рабочей станции» и «ноутбука» ... если нет, замените имена хостов машины соответствующими IP-адресами.
Затем вы можете выйти из рабочей станции на этом этапе, так как это устанавливает разрешения на Xserver рабочей станции для подключения «ноутбука».
если вы запустите свои программы с соответствующей настройкой DISPLAY env var, вы можете заставить приложения отображаться на рабочей станции во время работы на вашем ноутбуке.
-или-
любой метод будет работать, последний заставляет все, что связано с X11, отображаться на рабочей станции при запуске из этой оболочки. (надеюсь, что это имело смысл)
Строка 'xhost' позволяет разрешить ноутбуку подключаться к Xserver рабочей станции. Без этого вы получите отказ в разрешении, если только вы не запустите X-сервер без разрешений, что на самом деле не рекомендуется. Защита «xhost» по-прежнему неэффективна, поскольку данные передаются в виде обычного текста между ноутбуком и рабочей станцией и могут быть перехвачены, но это простое решение.
Если вам нужна конфиденциальность, вам нужно установить какой-то зашифрованный туннель между вашим ноутбуком и рабочей станцией (порт 6000 для отображения: 0). Да, это становится странным в этой точке.
Если вы находитесь в контролируемой среде, то использования команды «xhost + laptop» будет достаточно, если вы выйдете из части «laptop» этой команды «xhost +», тогда ЛЮБОЙ сможет подключиться к Xserver и отобразить информацию.
Помните, что ваша мышь НЕ «подключена» к рабочей станции Xserver, и вы НЕ сможете манипулировать окнами или щелкать мышью.
Если вы хотите, чтобы мышь была подключена, я бы порекомендовал что-то вроде x2x, synergy, vnc или приложения для разделения экрана на основе X Windows.
источник