Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Ошибка: Can't connect to X11 window server


Автор: Andrey1 6.12.2010, 19:59
Есть приложение, которое использует Swing для вывода ошибок.
Нужно его запустить удаленно под Линуксом.
Сейчас вылетает ошибка: 
Код

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
        at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
        at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:89)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at java.awt.Toolkit$2.run(Toolkit.java:834)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
        at java.awt.Toolkit.getEventQueue(Toolkit.java:1676)
        at java.awt.EventQueue.invokeLater(EventQueue.java:955)
        at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1261)
        at com.marathon.banalyse.net.RunServer.main(RunServer.java:30)

X server ни на удаленном сервере, ни на локальной машине (под виндой) не нужен.

Может кто-нибудь знает как победить эту ошибку?

Автор: jk1 7.12.2010, 10:47
Вы не используете функционал java.awt.Desktop?

Я такую ошибку наблюдал при использовании методов Desktop под KDE (Fedora Linux 10), там он как я понял просто не поддерживается. Как показали опыты, работает под GNOME и под Windows, под KDE отказывается.

Автор: LSD 7.12.2010, 15:37
Цитата(Andrey1 @  6.12.2010,  20:59 Найти цитируемый пост)
Есть приложение, которое использует Swing для вывода ошибок.

Цитата(Andrey1 @  6.12.2010,  20:59 Найти цитируемый пост)
X server ни на удаленном сервере, ни на локальной машине (под виндой) не нужен.

Мне одному кажется, что второй параграф противоречит первому? smile

Автор: math64 7.12.2010, 16:26
Наколько я понял, нужно запускать с ключом -Djava.awt.headless=true
Или перекомпилирировать, убрав весь Swing и AWT

Автор: Kircul 7.12.2010, 16:27
Цитата(LSD @  7.12.2010,  14:37 Найти цитируемый пост)
Мне одному кажется, что второй параграф противоречит первому? smile 

[offtopic]Ага, вчера вечером хотел написать, но подумал что может это я чего-то недопонимаю после трудового дня.[/offtopic]

Автор: kemiisto 7.12.2010, 16:44
Цитата(LSD @  7.12.2010,  13:37 Найти цитируемый пост)
Мне одному кажется, что второй параграф противоречит первому?

 smile Нет, не одному.

Автор: LSD 7.12.2010, 19:10
Цитата(math64 @  7.12.2010,  17:26 Найти цитируемый пост)
Наколько я понял, нужно запускать с ключом -Djava.awt.headless=true

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

Автор: Asal 8.12.2010, 19:20
Цитата(Andrey1 @  6.12.2010,  19:59 Найти цитируемый пост)
Есть приложение, которое использует Swing для вывода ошибок.


Цитата(Andrey1 @  6.12.2010,  19:59 Найти цитируемый пост)
Нужно его запустить удаленно под Линуксом.


Цитата(Andrey1 @  6.12.2010,  19:59 Найти цитируемый пост)
X server ни на удаленном сервере, ни на локальной машине (под виндой) не нужен.

это как?
решения 2.
1. или это не Swing, а консольное что-то
2. X Server таки нужен

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)