Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > No X11 DISPLAY variable was set


Автор: Kakadu 2.2.2009, 18:06
Код

dimitry:/home/kakadu/Desktop# ./netbeans-6.5-ml-java-linux.sh --javahome ../jdk1.6.0_11
Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...

No X11 DISPLAY variable was set, but this program performed an operation which requires it.
dimitry:/home/kakadu/Desktop# export DISPLAY=7
dimitry:/home/kakadu/Desktop# ./netbeans-6.5-ml-java-linux.sh --javahome ../jdk1.6.0_11
Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
dimitry:/home/kakadu/Desktop#

только недавно установил Debian GNU/Linux 4.0. Кое-как провел инет, хотел воткнуть NetBeans и на тебе. Видимо что-то связано с переменными среды KDE. Что он хочет я не понял. Гугл меня не вразумлят smile 

Автор: vinick 2.2.2009, 18:45
Цитата(Kakadu @  2.2.2009,  18:06 Найти цитируемый пост)
 export DISPLAY=7

Код

#export DISPLAY=:0

или 
Код

#DISPLAY=:0 ./netbeans-6.5-ml-java-linux.sh --javahome ../jdk1.6.0_11

А лучше запускай через sudo.
А еще можно поставить netbeans из lenny. там правда только 6.0.1

Автор: Kakadu 2.2.2009, 18:57
Код

dimitry:/home/kakadu/Desktop# ./netbeans-6.5-ml-java-linux.sh --javahome ../jdk1.6.0_11
Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Автор: destrd 2.2.2009, 19:04
ну я так понял второй раз прошло?

Автор: Kakadu 2.2.2009, 19:14
я так понял, что ни фига не пошло

Автор: vinick 2.2.2009, 19:17
Цитата(Kakadu @  2.2.2009,  18:57 Найти цитируемый пост)
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Фокус не удался smile

запускай через sudo. и забудь su как страшный сон.
Код

$sudo ./netbeans-6.5-ml-java-linux.sh --javahome ../jdk1.6.0_11


в /etc/sudoers добавь строку
Код

kakadu ALL=(ALL)  ALL


Автор: Kakadu 2.2.2009, 19:33
Заработало. Вот только почему я не понял.

Автор: vinick 2.2.2009, 19:48
Мне тоже интересно.
Могу только предположить, что у тебя запрещено руту запускать X-ы. А su как некий аналог login делает полноценного суперпользователя, sudo же только повышает привилегии, наследуя остальное окружение от обычного ползователя.

может кто-нибудь прояснит...

Автор: bilbobagginz 2.2.2009, 19:52
Цитата(Kakadu @  2.2.2009,  19:33 Найти цитируемый пост)
Вот только почему я не понял.

потому что не знаком с системой

X server - как и все сервера имеет контроль доступа.
сначала программа, которой нужен X сервер не знала к какому X серверу подключиться.
потому что у тебя не было переменной DISPLAY.

потом, когда ты ее определил, X server не пустил подключение с localhost из под пользователя root:
по умолчанию root вообще стараются в Debian загнобить от Х-ов.

потом, ты обошел контроль доступа, т.к. использовал sudo.
судо тебе позволил "из-под" разрешенного для твоего пользователя клиента запустить программу с UID=0 (root).

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

Если действительно интересно - посмотрите как работает механизм авторизации соединений с X сервером, про MIT-cookies, про ~/.Xauthority и т.д.


удачи.


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