Error failed to open display

Rdesktop failed to open display commonly occurs when connecting to a remote windows server due to missing windows server updates, display variables, etc.

Do you need to work on Windows Server when you are much of a Linux guy ??

The rdesktop utility is useful to configure services in a windows server from a Linux system. However, it often fails with error “Rdesktop failed to open display“.

We troubleshoot rdesktop errors as a part of our Service Management Services.

Today, let’s discuss the common rdesktop error “failed to open display”. And we’ll also see how our Support Engineers fixes them.

What is rdesktop ?

Let’s begin by checking Rdesktop utility as such.

Rdesktop is an open-source software using RDP – Remote Desktop Protocol. It enables as well as connects with a windows system from a Linux system. Simply, while sitting in front of a Linux we can access the windows system. We can access as if we are sitting in front of the windows system.

The basic command to connect to a remote Windows server would be:

rdesktop -uUSER -pPASS host:port

Here, we need to use the Windows server valid username and password in the USER and PASS fields.

Sometimes everything doesn’t go well and we may encounter errors while connecting to the remote desktop.

ERROR: Failed to open display:

Causes and fixes for error rdesktop failed to open display

We’ll now take a look at the possible causes which gives you connection errors in a Windows server.

1. Missing Windows updates

Missing Windows updates can be one of the common reason for Rdesktop connection failure.

Windows server requires periodic updates to maintain security. The connection may fail to open display due to missing updates at the server side. It will fail to render the display.

When there are Rdesktop connection errors, we primarily check the status of the server updates. Our Support Engineers perform necessary updates on the server. Usually, the server might need a reboot after updates to make changes effective.

As part of our Server Management Services, we do regular updates on the server to avoid these Rdesktop failures too.

2. Missing Display variable

Similalrly, another reason for “Rdesktop failed to open display” can be missing display variable.

Let’s start by explaining the display variable. It is nothing but the file that says the system where to display the GUI.

Mostly we encounter this error while RDP to a windows server from within a Linux server. Simply let’s say we are opening a GUI Application from within the Linux server.

In such cases, as the Linux server itself doesn’t have a GUI the below error message shows up :

Gtk-WARNING **: cannot open display:

The workaround first is to enable “X11 forwarding” while doing SSH to the Linux server with the below command :

$ ssh username@hostname -X

Now as the Server itself has no GUI, we need to set the DISPLAY variable to the local workstation’s IP. Simply, the system where we want to see the display.

Therefore, we run the below command :

$ export DISPLAY='IP:0.0'

Here the IP is our local workstation’s IP address.

We also enable RDP port 3389 in Firewall and we kill other running rdesktop sessions.

Now it will open a GUI interface as below :

rdesktop failed to open display.

[Having trouble in enabling Rdesktop connection? – We’ll fix it for you.]

Conclusion

In short, rdesktop is a powerful application if you are working on linux and you need to troubleshoot windows system. Today, we saw how our Support Engineers fixes the errors related to rdesktop failed to open display.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

Модераторы: Skull, Модераторы разделов

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Помогите с rdesktop

C Alt Linux 4.0 пытаюсь админить виндовую машину, выдает сообщение failed to open display:
Виндовая машина:
XP SP2
Служба терминалов работает
Удаленное управление рабочим столом включено
Фаервол выключен
В сети машина видится и пингуется

Подключаюсь так: rdesktop -u user -p pass 192.168.x.x:4899

Помогите чем можете!

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 13:19

Topper писал(а): ↑

05.05.2008 13:14

А пуркуа 4899? Это ж вроде порт радмина, а у рдп — 3389…

3389 тоже самое

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 13:29

Rolland писал(а): ↑

05.05.2008 13:27

Может в винде что не отключил или не включил?

да вроде всё, комп телнетится по порту 3389

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 14:20

Topper писал(а): ↑

05.05.2008 14:18

А с других виндов-то к жертве коннект идет?

Да, с другова компа через RAdmin я могу управлять компом

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 14:29

Topper писал(а): ↑

05.05.2008 14:23

Попробуй просто rdesktop 192.168.x.x без всяких опций.

тотжэ самый ERROR

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 14:49

yaleks писал(а): ↑

05.05.2008 14:39

KALIBR-10 писал(а): ↑

05.05.2008 14:20

Да, с другова компа через RAdmin я могу управлять компом

RAdmin работает по другому протоколу.

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

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

Ruslandh

Сообщения: 265
ОС: Sisyphus
Контактная информация:

Re: Помогите с rdesktop

Сообщение

Ruslandh » 05.05.2008 15:03

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

Вам не стыдно задавать глупые вопросы ? Как будто вы пятилетний ребёнок ?

1 Плясать надо с азов
2 На Win разрешен удалённый сеанс ?.

Поспешай не торопясь

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 15:05

Ruslandh писал(а): ↑

05.05.2008 15:03

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

Вам не стыдно задавать глупые вопросы ? Как будто вы пятилетний ребёнок ?

1 Плясать надо с азов
2 На Win разрешен удалённый сеанс ?.

разрешон

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 05.05.2008 15:52

Topper писал(а): ↑

05.05.2008 15:27

Так
Автор
Определись: удаленный рабочий стол или RAdmin. Определись раз и навсегда.

конечно удаленный рабочий стол
RAdmin платная

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

sash-kan

Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Помогите с rdesktop

Сообщение

sash-kan » 05.05.2008 17:16

судя по

KALIBR-10 писал(а): ↑

05.05.2008 14:49

Тут гдето читал что перед запуском rdesktop нужно загрузить иксы, но я не представляю что это такое, может тут что?

и

KALIBR-10 писал(а): ↑

05.05.2008 13:08

выдает сообщение failed to open display

x-сервер, действительно, не запущен.
для уточнения. что выдает
$ ps aux|grep X
?

Писать безграмотно — значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог

Аватара пользователя

HAW

Сообщения: 1328
ОС: ALT 4.1branch

Re: Помогите с rdesktop

Сообщение

HAW » 05.05.2008 20:19

на Linux обычным пользователем startx можно дать?
и «Alt Linux 4.0» не сервер случайно, там иксов вообще нет.

хочется вывести в чисто поле,
поставить лицом к стенке
и выстрелить в лоб,
что бы поняли!!!

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 06.05.2008 13:56

HAW писал(а): ↑

05.05.2008 20:19

на Linux обычным пользователем startx можно дать?
и «Alt Linux 4.0» не сервер случайно, там иксов вообще нет.

Всё правилльно, сервер, я просто немного глупил, всё заработало.
Теперь вот какое дело: я уже поменял хр на винсервер2003, у нас на одну прогу куплена лицензия на 1 место, если на серваке через rdesktop её будут пользовать 5 компов не будет ли это нарушением лицензии?

Хотелось бы ещё скрипт написать, чтоб пользователь щёлкнул на ярлык и вошел на сервер. Подскажите как он должен выглядеть!

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

Skull

Модератор
Сообщения: 2089
ОС: ALT Linux
Контактная информация:

Re: Помогите с rdesktop

Сообщение

Skull » 06.05.2008 15:10

KALIBR-10 писал(а): ↑

06.05.2008 13:56

Теперь вот какое дело: я уже поменял хр на винсервер2003, у нас на одну прогу куплена лицензия на 1 место, если на серваке через rdesktop её будут пользовать 5 компов не будет ли это нарушением лицензии?

В 90% случаев — будет. Лучше уточнить у производителя и почитать их лицензию.

Хотелось бы ещё скрипт написать, чтоб пользователь щёлкнул на ярлык и вошел на сервер. Подскажите как он должен выглядеть!

Для этого можно создать «Ссылку на приложение» и в командной строке указать rdesktop с параметрами. Подберите значок и дайте осмысленное название.

Skull

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 06.05.2008 16:59

Но ведь например программный продукт устанолен на одном компе (согласно лицензии), а про пользование им по терминалу ничего не указано, да и как это можно узнать?

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

MadDog

Бывший модератор
Сообщения: 2298
Статус: Добрый банщик
Контактная информация:

Re: Помогите с rdesktop

Сообщение

MadDog » 06.05.2008 17:39

KALIBR-10 писал(а): ↑

06.05.2008 16:59

а про пользование им по терминалу ничего не указано, да и как это можно узнать?

Читайте лицензионное соглашение M$ для работы с терминалами. Сколько купили терминальных сессий, столько пользователей и может работать.

Кстати, подобные вопросы следует задавать тех.поддержке МелкоМягких, ведь не зря же вы заплатили столько денег за их продукт.

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 07.05.2008 09:51

А удаленным пользователям линукс с помощью чего я могу помочь, что нибудь бы подобное radmin но бесплатное.

Да и кстати подскажите имя компа в сети как узнать/изменить!

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

Аватара пользователя

HAW

Сообщения: 1328
ОС: ALT 4.1branch

Re: Помогите с rdesktop

Сообщение

HAW » 07.05.2008 10:21

ssh
krdc
krfb

/usr/share/doc/alt-docs/index.html

хочется вывести в чисто поле,
поставить лицом к стенке
и выстрелить в лоб,
что бы поняли!!!

Аватара пользователя

KALIBR-10

Сообщения: 182
ОС: ALT LINUX 4.1

Re: Помогите с rdesktop

Сообщение

KALIBR-10 » 07.05.2008 13:59

ssh, идёт ли она в составе альта или скачать где нада?

Через 2 года война с США (не спрашивайте от куда такие данные), я им войну ужэ объявил, вирусную, вчера у двух америкосов компы загубил (итого ужэ пять), к вечеру опять в бой.

В операционной системе Linux очень жёсткий контроль полномочий для пользователей. Если пользователь не имеет прав администратора, то он не сможет сделать практически ничего дальше своей домашней папки. Но обычно графические приложения запускаются от имени рядового пользователя. Однако время от времени нужно что-то делать в графическом интерфейсе с файлами, которые не принадлежат текущему пользователю.

И тогда новички пытаются запустить нужное графическое приложение через sudo. Как правило, в таких ситуациях они получают ошибку «cannot open display :0 linux» или нечто подобное. В этой статье мы поговорим о том, что означает эта ошибка, а также как её обойти.

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

  • Gtk warning cannot open display :0;
  • Unable open display :0;
  • Can’t connect to display :0 No protocol specified;

И так далее. Все эти ошибки означают одно: программа не может подключиться к графической подсистеме. Чтобы понять почему это происходит, возвращаемся к тому, что было сказано в самом начале статьи — в Linux очень жёсткий контроль прав пользователей.

В отличие от Windows, где графический интерфейс тесно интегрирован в операционную систему, в Linux это просто ещё одна программа, запущенная от имени обычного пользователя. Эта программа — графический сервер, на данный момент чаще всего используется Xorg.

Ещё одно отличие от Windows — это то, что вы можете запустить несколько графических серверов, и они будут работать не мешая друг другу, потому что каждый из них имеет свой адрес, по которому к нему можно подключиться. Эти серверы доступны глобально во всей системе (почти), но чтобы программы знали, к какому адресу им обращаться при запуске X-сервера, для текущего пользователя создаётся переменная DISPLAY с адресом графического сервера. По умолчанию для первого сервера присваивается адрес :0, для второго :1 и так далее.

Но поскольку при запуске команды через sudo для неё создаётся новое окружение с полномочиями суперпользователя и все переменные текущего пользователя из него не доступны, то наша программа просто не знает, по какому адресу ей обращаться. Это что касается ошибки, когда в конце сообщения «can’t open display» нет нуля. Если нуль есть, значит адрес известен, но X-сервер запрещает подключение. По умолчанию X-сервер разрешает подключаться к себе только пользователю, от имени которого он запущен. А теперь давайте разберём, как обойти проблему.

Как исправить «can’t open display :0»

Начнём с того, что для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Программа sudo для этого не предназначена. Изначально для таких целей использовались kdesudo в KDE и gksu в Gnome. Сейчас они считаются устаревшими и поставляются по умолчанию далеко не всегда. В Ubuntu вы можете установить gksu командой:

sudo apt install gksu

А затем запустить с помощью неё своё приложение:

gksu nautilus

Но надо заметить, что с дисплейным сервером Wayland эта утилита работать не будет. А полноценных альтернатив gksu не существует.

1. Использование PlicyKit

Есть утилита pkexec. Она достаточно удобная, но для каждой программы, которую вы хотите запустить с помощью неё надо создавать отдельно файл настройки. Например, чтобы запустить Nautilus, надо открыть файл ниже и добавить в него такой текст:

sudo vi /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="org.freedesktop.policykit.pkexec.run-nautilus">
<description>Run Nautilus</description>
<message>Authentication is required to run Nautilus</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/nautilus</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
</action>
</policyconfig>

Это значит, что для каждого приложения нам необходимо включить параметр org.freedesktop.policykit.exec.allow_gui=true, иначе переменная DISPLAY экспортирована не будет. Теперь мы можем запустить nautilus:

pkexec nautilus

Это очень неудобно для запуска новых приложений, поэтому есть ещё несколько путей. Другой вариант — вручную передать утилите нужные переменные:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus

2. Использование sudo

Можно попросить sudo передать все переменные нашего пользователя во временное окружение суперпользователя с помощью опции -E:

sudo -E nautilus

Тогда программа запускается.

3. Использование gvfs

Gnome Virtual Filesystem тоже позволяет получить доступ к файлам с правами администратора. Особенно если вам надо только отредактировать файл. Для этого просто добавьте в начале пути admin://. Например, так можно открыть файл /etc/group для редактирования с помощью gedit:

gedit admin:///etc/group

Смысл здесь в том, что программа запускается от имени обычного пользователя, а файл доступен ей через виртуальную файловую систему.

4. Снимаем ограничение доступа к Xorg

Обычно если переменная $XAUTHORITY содержит адрес файла аутентификации Xorg, то программа использует его для аутентификации в Xorg. Но если значение переменной не установлено, то сервер не позволит установить соединение. Например, если вы получаете ошибку подключения к Display :0, это значит, что адрес дисплейного сервера известен, но к нему нет доступа. Надо разрешить подключаться к Xorg суперпользователю. Для этого используйте команду:

xhost +SI:localuser:root

Эта команда действует только до перезагрузки, чтобы сделать её постоянной, добавьте команду в конец ~/.xinitrc:

vi ~/.xinitrc

#!/bin/bash
xhost +SI:localuser:root &

Выводы

В этой статье мы рассмотрели, как исправить ошибку gtk warning «cannot open display :0» в Ubuntu или другом дистрибутиве. Как видите, это не очень сложно. А вы знаете другие пути решения? Напишите в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Понравилась статья? Поделить с друзьями:
  • Error failed to mount dev loop0
  • Error failed to lookup view error in views directory
  • Error failed to load xbe file
  • Error failed to load the game dll whgame
  • Error failed to load steam api64 dll death stranding