"Нет переменной отображения 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
еще одна вещь, которая может быть проблемой в случае, аналогичном описанному - 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"