"Нет переменной отображения X11" - что это значит?


Я пытаюсь установить приложение Java на моей машине Linux (Slackware).

Я получил следующую ошибку, и я ее не понимаю.

не могли бы вы посоветовать мне, как подойти к проблеме? Спасибо.

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

~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)
9 78

9 ответов:

Если вы находитесь на главном экране, затем

export DISPLAY=:0.0

или если вы используете csh или tcsh

setenv DISPLAY :0.0

перед запуском приложения.

на самом деле, я удивлен, что он не установлен автоматически. Вы пытаетесь запустить это приложение с графическим терминалом? Если нет, вы изменили значение по умолчанию .профиль. ,вход. ,bashrc или .cshrc?

обратите внимание, что установка дисплея в :0.0 предварительно предполагает, что вы сидите на главном дисплее, как я уже сказал, или на по крайней мере, основной дисплей вошел в систему с вашим идентификатором пользователя. Если он не вошел в систему, или это другой идентификатор пользователя, это не удастся.

Если вы входите с другой машины, и вы находитесь на главном дисплее этой машины, и на ней работает X, то вы можете использовать "ssh-X hostname" для подключения к этому хосту, и ssh будет перенаправлять X-дисплей обратно. ssh также гарантирует, что переменная среды отображения установлена правильно (при условии, что она не перепутана с различными файлами точек Я уже упоминал выше). В сеансе" ssh-X "переменная среды отображения будет иметь значение типа" localhost:11.0", которое будет указывать на сокет, который ssh туннелирует в ваш локальный ящик.

вы запускаете это из среды X11? Вы можете использовать окно терминала, но оно должно быть в пределах X (либо после графического входа в систему, либо при запуске startx).

Если вы уже находитесь в графической среде, попробуйте export DISPLAY=: 0 для оболочек типа bash (bash, sh и т. д.) или setenv DISPLAY: 0 для оболочек на основе C (csh, tcsh и т. д.)

Если вы подключились с другой машины через SSH, вы используете опцию-X для отображения графического интерфейса на экране. машина, на которой вы сидите (при условии, что там работает X-сервер (например, xming для windows и ваш стандартный Linux X-сервер).

вы должны включить проброс X11 в тебе замазка

для этого откройте PuTTy, перейдите в соединение = > SSH = > туннели и галочка включить переадресацию X11

также sudo на сервер и экспортировать ниже переменной здесь IP является IP вашей локальной машины

export DISPLAY=10.75.75.75:0.0

enter image description here

еще одна вещь, которая может быть проблемой в случае, аналогичном описанному - X не пересылается и $DISPLAY не устанавливается, когда программа "xauth" не установлена на удаленной стороне. Вы можете видеть, что он ищет его при запуске "ssh-Xv ip_address", и, если он не найден, терпит неудачу, которая не видна, если вы не включите подробный режим (сбой IMO). Вы можете обычно найти можно в пакет с таким же именем.

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

Скачать Это приложение xming:

http://sourceforge.net/project/downloading.php?

установить, а затем использовать настройки по этой ссылке:

http://www.geo.mtu.edu/geoschem/docs/putty_install.html или выполните следующие действия:

установка / настройка шпатлевки и МФУ

после того, как шпатлевка и Xming были загружены на ПК, установите в соответствии с их соответствующими инструкциями.

Настройка Xming

после того, как Xming установлен, запустите приложение под названием "XLaunch" и убедитесь, что настройки, как показано:

  • выберите записи по умолчанию в настройках дисплея windows, Нажмите кнопку Далее
  • нажмите кнопку Далее в окне тип сессии.
  • нажмите Далее на дополнительные окно параметров (флажок notice clipboard имеет значение true)
  • сохранить конфигурацию и нажмите кнопку до конца.

Настройка Шпатлевка

после установки PuTTy дважды щелкните значок PuTTy на рабочем столе и настройте, как показано:

Это показывает создание профиля входа в систему, а затем его сохранение.

  • на ssh - > X11, нажмите на флажок, чтобы включить пересылку X11.
  • в текстовом поле место отображения X введите localhost: 0.0

сохранить профиль, а затем подключиться удаленно к серверу для тестирования.

Ура!!!

У меня была такая же проблема в Ubuntu 14.04.01, когда я пытался установить JDK 8 и Netbeans, если я запускаю скрипт внутри терминала Byobu (возможно, с экранами происходит то же самое).

просто выйдите из Byobu и (в графическом терминале) запустите скрипт.

Первоначальной Проверки.

1) при экспорте дисплея на другую машину убедитесь, что вы ввели команду xhost + на этой машине. Эта команда позволяет другой машине экспортировать их отображение на этой машине. Там могут быть ограничения безопасности, просто знайте об этом. Нужно проверить ssh -X MachineIP не требуется xhost + ?

2) несколько раз JCONSOLE не будет показывать весь свой процесс, так как этот процесс JVM может работать с другим пользователем, и вы экспортируете дисплей с помощью другой пользователь. так что лучше следуйте CD_DIR>sudo ./jconsole

3) в WAS (WEBSPHERE); jconsole не сможет подключить свой серверный процесс java, тогда просто перейдите по ссылке, а затем попробуйте подключить его. Это сработало для меня. Возможно, эта страница инициализирует некоторые переменные, чтобы позволить jconsole подключиться к этому серверу.

WAS console > серверы приложений > server1 > определение процесса > виртуальная машина Java


я столкнулся с той же проблемой с AIX (где команда линейный интерфейс доступен только, нет дисплея UI) машина. Я решил, установив

клиент NX для Windows

Шаг 1: через эту машину Windows я подключился к Unix box, где доступна консоль GUI.
Шаг 2: SSH в поле AIX из этого окна UNIX.
Шаг 3: Установите дисплей, как "export DISPLAY=UNIXMACHINE:NXClientPORTConnectedMentionedOntitle"
Шаг 4: Теперь, если мы запускаем любые программы, которые требуют отображения; это будет запущен на этом поле UNIX.

VNC

если вы установили VNC в поле UNIX, где доступен дисплей; то клиент Windows и NX не требуется. Шаг 1: Используйте VNC для подключения к Unix box, где доступна консоль GUI.
Шаг 2: SSH в поле AIX из этого окна UNIX.
Шаг 3: Установите дисплей, например "export DISPLAY=UNIXMACHINE:VNCPORT"
Шаг 4: Теперь, если мы запускаем любые программы, которые требуют отображения; это будет запущен на этом UNIX box.

другое

Шаг 1: SSH в поле AIX из этого окна UNIX.
Шаг 2: Установите дисплей, например "export DISPLAY=UNIXMACHINE:VNCPORT"
Шаг 3: Теперь, если мы запускаем любые программы, которые требуют отображения; он будет запущен на этом поле UNIX.

для тех, кто пытается получить приложение X Window, работающее с Windows из Linux:

то, что сработало для меня, было настроить xming server на моей машине windows, установить опцию пересылки X11 в putty, когда я подключаюсь к хосту linux и помещаю свой ip-адрес windows с портом отображения, а затем переменную отображения с моим IP-адресом windows: 0.0

Не забудьте добавить IP-адрес хостов linux в X0.hosts-файл, чтобы убедиться, что xming-сервер принимает трафик с этого хоста. Мне потребовалось время, чтобы понять это.

Не забудьте выполнить "host + "на вашем" домашнем "дисплее, и когда вы ssh на машине, вы делаете"ssh-x hostname"