3

Это вопрос для начинающих, я знаю ... но я искал, и я расстраиваюсь. Я хорошо разбираюсь в Lunux, но мне никогда не приходилось иметь дело с XServer.

Вопрос 1:

Я SSH из OSX в настольную машину UBUNTU 14.04 как пользователь альфа.

Пользователь альфа также вошел локально на этом рабочем столе.

Я хочу запустить (через мой терминал) приложение, которое должно отображаться на компьютере UBUNTU (чтобы оно было видно на локальном дисплее локально вошедшего в систему пользователя).

Сегодня я получаю эту ошибку, когда я делаю это с терминала OSX:

15:21:20:157 AWT-EventQueue-0: Error
java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation     which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
<etc>

ПРИМЕЧАНИЕ: когда я делаю это с локального терминала (на UBUNTU), он работает как надо, так что с программой все в порядке.

Вопрос 2:

Если бы машина UBUNTU была безголовой, как мне перевести окна на другую машину, например мой Mac?

Спасибо Питер

3 ответа3

3

По второму вопросу: добавьте параметр -X (или -Y для доверенного соединения) при соединении с ssh и убедитесь, что на вашем Mac установлен X11. Пример:

ssh -X myuser@mylinux.machine

Это приведет к тому, что ваши окна X11 будут показаны на вашем локальном X-сервере на вашем Mac.

См .: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ssh.1.html.

По первому вопросу:

ОТОБРАЖЕНИЕ и ВЛАСТЬ

X-программе требуется две части информации для подключения к X-дисплею.

  • Ему нужен адрес дисплея, который обычно равен 0 при локальном входе в систему или: 10, 11 и т.д. При удаленном входе в систему (но число может меняться в зависимости от количества активных подключений X). ). Адрес дисплея обычно указывается в переменной окружения DISPLAY.

  • Требуется пароль для отображения. Пароли X-дисплея называются волшебными куки. Волшебные куки не указываются напрямую: они всегда хранятся в X авторитетных файлах, которые представляют собой набор записей вида «display: 42 has cookie 123456». Файл полномочий X обычно указывается в переменной среды XAUTHORITY. Если $ XAUTHORITY не установлено, программы используют ~/.Xauthority.

Извлечено из:https://unix.stackexchange.com/a/10126

Обратитесь к этому посту для хорошего объяснения.

1

Удаленно вам нужно будет настроить использование дисплея, экспортировав переменную окружения DISPLAY.

например. export DISPLAY=:0

Что касается вашего второго вопроса, самый простой способ - это настроить VNC-сервер в Ubuntu и использовать VNC-клиент для подключения с вашего Mac.

Как: http://www.howtoforge.com/how-to-install-vnc-server-on-ubuntu-14.04

0

1) Я не уверен, может быть, попробовать export DISPLAY=0?

2) Чтобы показать графический интерфейс на машине, которую вы используете, запустите SSH с опцией -Y .

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