"Нет переменной отображения 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 ответов


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

export DISPLAY=:0.0

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

setenv DISPLAY :0.0

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

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

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

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


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

Если вы уже находитесь в графической среде, попробуйте экспортировать 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). Обычно вы можете найти "xauth" в пакете с тем же именем.


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

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

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

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

http://www.geo.mtu.edu/geoschem/docs/putty_install.html или следуйте этим шагам:

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

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

Настройка Xming

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

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

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

после установки 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 > серверы приложений > server1 > определение процесса > виртуальная машина Java


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

клиент NX для Windows

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

VNC

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

другое

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


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

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

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


Не забудьте выполнить "host +" на вашей машине отображения "home", и когда вы ssh на машину, вы делаете "ssh-X hostname"