Linux xrandr cannot open display

XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux

Дата добавления: 31 марта 2012

Возможные названия интерфейсов:

  • LVDS1 — экран ноутбука;
  • VGA1 — экран, подключаемый через VGA;
  • DVI1 — экран, подключаемый через DVI;

Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA, который и хотим настроить через XRandR).

Изменение разрешения
Лучше всего рассмотреть пример:

Режимы работы с несколькими мониторами
Отключение дисплея
Отключить не нужный в данный момент дисплей можно с помощью опции —off:

После этого у вас будет виртуальное разрешение 1280×720 при 1024×600 физическом.

Поворот
Используйте следующие опции применительно к нужному интерфейсу:

  • —rotate normal
  • —rotate left
  • —rotate right
  • —rotate inverted (поворот на 180°)

Сохранение настроек
Для активации необходимых настроек при старте, создайте файл

/ указывает на расположение в домашней директории) и внесите в него необходимые строки команд xrandr.

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

Автор: Alex, дата: 13 августа 2013 , время: 20:02:58 (MSK).
Добрый день. Вот что мек выдает xrandr:
«Screen 0: minimum 320 x 200, current 3280 x 1200, maximum 3120 x 3120
DFP1 disconnected (normal left inverted right x axis y axis)
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 disconnected (normal left inverted right x axis y axis)
DFP6 disconnected (normal left inverted right x axis y axis)
DFP7 disconnected (normal left inverted right x axis y axis)
DFP8 disconnected (normal left inverted right x axis y axis)
DFP9 connected 1680×1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680×1050 60.0*+
1400×1050 60.0
1280×1024 75.0 60.0
1440×900 75.0 59.9
1280×960 60.0
1280×800 60.0
1152×864 60.0 75.0
1280×768 60.0
1280×720 60.0
1024×768 75.0 70.1 60.0
800×600 72.2 75.0 60.3 56.2
640×480 75.0 72.8 67.0 59.9
DFP10 disconnected (normal left inverted right x axis y axis)
CRT1 connected 1600×1200+1680+0 (normal left inverted right x axis y axis) 0mm x 0mm
1600×1200 60.0*+
1400×1050 60.0
1600×900 60.0
1280×1024 60.0
1440×900 59.9
1280×960 60.0
1366×768 59.8
1360×768 60.0
1280×800 59.8
1152×864 60.0
1280×768 59.9
1280×720 60.0
1024×768 60.0
800×600 60.3
720×480 60.0
640×480 59.9″

что и как мне надо изменить, чтобы CRT1 работал в резолюции 1920х1080. В данный момент 1600 — это максимальная резолюция.

/.xprofile должен быть исполняемым. В англоязычной версии это описано. Я, как новичок, этого не сделал. И, как следствие, при запуске системы разрешение не устанавливается на нужное автоматически. А таких новичков много в сети.

/.xprofile (можно использовать редактор nano).

Автор: Margo, дата: 05 января 2016 , время: 20:54:07 (MSK).
Спасибо за быстрый ответ,
в консоль перешла, но у меня такого файла нет.
Где еще оно может быть закопано?

Сходила логическим путем: если у вас «Отключить не нужный в данный момент дисплей можно с помощью опции —off:
xrandr —output LVDS1 —off»
— то включить решила с помощью «всё то же самое —on». Ан нет, размечталась, не так просто.

Читайте также:  Переустановить iis windows server 2012 r2

xrandr вообще отвечает Can’t open display.

А вот как xrandr выглядит в другой системе (зашла со спас.диска):

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 350mm x 260mm
1600×1200 60.0 60.0
1280×1024 75.0 59.9
1024×768 85.0 75.1 60.0*
800×600 100.0 85.1 75.0 60.3
640×480 85.0 60.0
720×400 70.1
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
720×576 50.0 +
1024×768 50.0*
800×600 50.0
720×480 50.0
640×480 50.0
400×300 100.0
320×240 100.0
320×200 100.0

Я так понимаю, VGA-1 это и есть тот монитор, который я убила в своей основной системе? черт побери, один случайный клик мышкой. 🙁

/.xprofile с командой xrandr —output VGA-1 —mode 1600×1200 и перезагрузить.

Автор: Margo, дата: 06 января 2016 , время: 03:14:50 (MSK).
Вроде выкрутилась.

Первый способ:
в начале загрузки выбрать recovery mode,
в recovery mode выбрать resume normal boot,
выйдет предупреждение, что это типа Safe mode и не все графические драйверы могут работать,
кликнула ОК, загрузка продолжилась, пришла куда хотела, всё работает как всегда.
Правда, при перезагрузке та же засада, монитор отключается, т.е. recovery mode теперь пожизненно, если не переписать config файл (но КАКОЙ именно. ).
Ну и ладно, всё равно новую ставить пора, сейчас у меня Минт14 Надя, если кому интересно.

Второй способ:
дождаться конца загрузки, перейти в терминал Ctrl+Alt+F2 (у меня F1 тоже годится, да и остальные, наверно, просто не проверяла),
залогиниться, зайти под рутом, скомандовать startx
(если не под рутом, то монитор опять выключится),
далее имею первозданное окно Линукс Минт как только что с диска, т.е. без моих гламурных настроек и почему-то. без мозиллы! Все остальное, установленное за последний год, на месте (включая игры), и всё работает штатно. Исчезла только мозилла, а она-то самое главное, сотни закладок и паролей. Не исключаю, впрочем, что получила бы свою мозиллу со всеми закладками, если б попробовала ее заново установить через синаптик или Оперу — через recovery mode она же загружается! значит, она где-то тут — просто уже не было времени на эксперименты.

Теперь спокойненько, с кофе и булочкой, бэкапнула закладки и попробую создать файл по вашему совету. 🙂
Спасибо, что поддержали!

$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
user@ubuntu:

$ xrandr -s 1600×900
Size 1600×900 not found in available modes
user@ubuntu:

Источник

Ошибка cannot open display в Linux

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

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

Читайте также:  Linux автозапуск при входе

Что означает «cannot open display» в 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

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

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

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

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

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

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

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

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus

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

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

sudo -E nautilus

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

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

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

Читайте также:  Виртуальный диск для windows 10 создание

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

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

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

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

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

Выводы

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

Источник

Как включить монитор с терминала?

Я случайно отключил свои мониторы, поэтому при входе я попадаю на пустой экран с подсветкой. Я могу открыть терминалы с помощью Ctrl + Alt + F# , так как мне включить монитор с терминала?

Я пытался xrandr , но он не может открыть дисплей. xset тоже не работает. Я нашел этот вопрос, который очень похож на мою проблему. Ответ предоставляет сценарий для вставки /etc/X11/Xreset.d .

Запуск его не решает мою проблему (хотя, вероятно, я не понимаю, как правильно его использовать). Я думаю, что я как-то сделал новое значение по умолчанию «отключить мониторы».

Запуск Ubuntu Studio 13.10. У меня нет драйверов nVidia. Я не могу найти xorg.conf файл для удаления. Благодарен за любой вклад!

Изменить: вывод команды xrandr -d :0

Все еще будучи новичком CLI, я не понимаю, man xrandr как включить (есть опция выключения) или включить дисплеи. Выход xrandr —auto является Can’t open display

Изменить 2: Вывод xrandr -d :0 —auto

Может мне просто переустановить X11?

Редактировать 3: выходы предлагаемых команд / какие команды xset я пробовал:

xrandr -d :0 output LVDS1 —auto

xset q и xset dpms force on оба возвращаются

Нет разницы для sudo команд.

Редактировать 4: Более тщетные попытки и потенциальное обнаружение проблемы безопасности

4.1 Я попытался переустановить Xorg и X11, затем я запустил, sudo apt-get install —reinstall xserver* который потерпел неудачу с этим выводом:

(много версий этого 🙂 Обратите внимание, выбрав «xserver-xorg -thing» для регулярного выражения «xserver *» (далее 🙂 Некоторые пакеты не могут быть установлены. Это может означать, что вы запросили невозможную ситуацию, или если вы используете нестабильный дистрибутив, что некоторые необходимые пакеты еще не созданы или не были удалены из Incoming.

4,2 Затем я вошел в качестве гостя и вошел в системе как себя через TTY Ctrl + Alt + F# и побежал ту же команду xrand , как описаны выше (OP и редактирует 1-3), с тем же выходом, насколько я могу видеть.

4.3 Затем я создал new_user с полными правами администратора и повторил 4.2 через tty.

4.4 ПРОБЛЕМА БЕЗОПАСНОСТИ? Нет, просто нужно осознание. Не относится к этой теме, подробности на панели запуска

Это начинает выглядеть как переустановка системы необходимо 🙁

Источник

Оцените статью