Как я могу сделать настройку xrandr постоянной?

Раньше я редактировал сценарий запуска для GDM (/ etc / gdm / Init / Default), чтобы навсегда изменить разрешение моего дисплея.

Как я могу сделать это с помощью LigthDM в Ubuntu Oneiric?

Модифицировать /etc/lightdm/lightdm.conf чтобы добавить следующие параметры:

дисплей-настройка-сценарий> называет ваш mycustomloginvideo.sh перед появлением экрана входа в системусеанс-настройка-сценарий> называет ваш mycustomdesktopvideo.sh перед началом сеанса рабочего стола пользователя

[SeatDefaults]greeter-session=unity-greeteruser-session=ubuntu# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)display-setup-script=/usr/share/mycustomloginvideo.sh# for your desktop sessionsession-setup-script=/usr/share/mycustomdesktopvideo.sh

Возможно, у вас есть "arandr" Инструмент GUI сгенерирует приведенный выше сценарий sh, выбирая параметры из конфигурации X вашего текущего сеанса.

Убедитесь, что ваш сценарий оболочки является исполняемым:

chmod a+x /usr/share/mycustom*video.sh

и вы можете проверить, что это работает (т.Е. Что у вас нет никаких опечаток или ошибок конфигурации в вашем xrandr команду), просто запустив его в терминале:

/usr/share/mycustomdesktopvideo.sh

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

Я думаю, вы можете добавить режимы отображения в /etc/X11/xorg.conf.

Если у вас нет xorg.conf, то вы можете использовать следующее в качестве основы. Вам нужно заменить записи именами Modeline, Driver и Modes с правильными записями для вашей системы. В зависимости от вашего оборудования вам могут потребоваться дополнительные записи, например, если в вашей системе установлено более одного графического чипа.

Section "Monitor"    Identifier    "Monitor0"    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync    Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsyncEndSectionSection "Screen"    Identifier     "Screen0"    Device         "Card0"    Monitor        "Monitor0"    SubSection "Display"        Modes       "1280x1024_60.00" "1024x768_60.00"    EndSubSectionEndSectionSection "Device"    Identifier    "Card0"    Driver        "nvidia"EndSection

Если вы не знаете название видеодрайвера, который использует ваша система, вы можете получить следующее имя (если у вас графический чип Intel, имя драйвера просто "intel"):

lshw -class display | grep "driver"

Модели могут быть сгенерированы с помощью cvt:

cvt <h-resolution> <v-resolution> [refresh]

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

отредактируйте файл /usr/sbin/lightdm-session

Вот как сейчас выглядит первая часть этого файла:

#!/bin/sh## LightDM wrapper to run around X sessions.echo "Running X session wrapper"# Load profilefor file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do  if [ -f  "$file" ]; then     echo "Loading profile from $file";     . "$file"  fidonexrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsyncxrandr --addmode CRT1 1368x768_60.00xrandr --output CRT1 --mode 1368x768_60.00# Load resources

Обратите внимание, что настройки Xrandr должны быть изменены в соответствии с вашими.

Я уже некоторое время пытаюсь решить подобную проблему и нашел решение, которое работает для меня, так что, надеюсь, это поможет...

У меня есть старый aspire one AOA110, на котором я слишком много раз разбивал экран, и после покупки нового ноутбука решил, что попытаюсь превратить его в HTPC, но внешний дисплей, который у меня есть, не распознается X, поэтому мне пришлось "настраивать" его много раз, чтобы заставить его работать при правильном разрешении.

Вот что я сделал:

После использования этого http://ubuntuforums.org/showthread.php?t=1112186 учебное пособие до шага 5 Я смог найти рабочее и приемлемое разрешение в xrandr, но это не работало на экране входа в LightDM.

Не следуйте инструкциям, чтобы сделать его постоянным, описанным выше, как это может работать, но я думаю, что это правильный способ сделать это в 11.10. Я нашел этот пост в ArchWiki https://wiki .archlinux.org/index.php/Xorg который я приспособил к своим потребностям.

Сначала создайте файл здесь: /etc/X11/xorg.conf.d/10-monitor.conf

Затем добавьте соответствующие детали X для вашего дисплея вот как выглядел мой:

Section "ServerLayout"Identifier     "DualSreen"Screen       0 "Screen0"Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0#Option         "Xinerama" "1" #To move windows between screensEndSectionSection "Monitor"Identifier     "LVDS1"Option         "ignore" "true"EndSectionSection "Monitor"Identifier     "VGA1"Option         "Enable" "true"Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +VsyncEndSectionSection "Device"Identifier     "Device0"Driver         "intel"Screen         0EndSectionSection "Device"Identifier     "Device1"Driver         "intel"Screen         1EndSectionSection "Screen"Identifier     "Screen0"Device         "Device0"Monitor        "VGA1"DefaultDepth    24Option         "TwinView" "0"SubSection "Display"    Depth          24    Modes          "1440x900_60.00"EndSubSectionEndSectionSection "Screen"Identifier     "Screen1"Device         "Device1"Monitor        "LVDS1"DefaultDepth   24Option         "TwinView" "0"SubSection "Display"    Depth          24EndSubSectionEndSection

Важные элементы, которые необходимо добавить, находятся под соответствующим Section "Monitor" включите соответствующие Modeline которые вы обнаружили при использовании gtf 1440 900 60.00 а затем под соответствующим Section "Screen" включая правильный Modes.

Вы заметите, что то, что я пытался сделать, было не только установить соединение VGA1 с подходящим разрешением, но и сказать ему, чтобы он не использовал мой выход LVDS1. Очевидно, что вам нужно будет соответствующим образом настроить свой, чтобы он соответствовал нужному количеству выходов и подходящим разделам устройства, экрана и дисплея для вашей настройки.

Извините за эпический пост, я уже некоторое время настраиваю файлы xorg.conf с помощью дисплея Hannspree, который я использую, и старые настройки xorg.conf, которые я использовал до 11.10, просто больше не работают должным образом. Это единственное решение, которое я нашел, которое работает.

удачи!

У меня была такая же проблема с моим ноутбуком, как и выше, и я хотел кое-что добавить к разговору. Если вас не волнует разрешение входа в систему (меня это не волнует), но вы хотите, чтобы фактическое рабочее пространство имело правильное разрешение, вы можете добавить информацию о своем мониторе в LightDM, но не включать полное разрешение до тех пор, пока не войдете в систему.

Я только что добавил следующий скрипт для своего монитора в файл: lighdmxrandr

xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsyncxrandr --addmode VGA1 1440x900_60.00

тогда я вызываю его в /etc/lightdm/lightdm.conf

display-setup-script=/usr/bin/lightdmxrandr

Как только я войду в систему, я могу настроить свой монитор в режиме отображения, и он работает даже после повторного входа в систему (раньше он выдавал мне большую уродливую ошибку).

В качестве дополнения к ответу Джона Робертса позвольте мне уточнить, что arandr не включает в свою генерацию sh-скрипта все параметры, работающие в текущем сеансе. Например, основной монитор (в случае, если вы используете конфигурацию с двумя мониторами), настройки частоты обновления и гаммы для каждого монитора не включены. Мой сценарий сеанса выглядит следующим образом:

#!/bin/shxrandr --output LVDS --mode 1366x768 --pos 1600x432 --rotate normal --output HDMI-0 --off --output DVI-0 --off --output VGA-1 --mode 1600x1200 --rate 85 --pos 0x0 --rotate normal --primaryxrandr --output VGA-1 --gamma 0.8:0.7:0.55 

Я вручную добавил параметры --rate и --primary в первую строку, а затем вручную добавил вторую строку с гамма-коррекцией, потому что, по-видимому настройки xrandr gamma теряются всякий раз, когда вы переключаете монитор на основной.

Я не знаю, предназначено ли это конкретное поведение с настройками гаммы при создании основного монитора или является ошибкой.

Более того, сценарий оболочки сеанса вызывается lightdm не как приложение запуска, а как приложение запуска, потому что кажется, что lightdm вызывает сценарий до того, как все будет готово для xrandr, и происходят странные вещи.

У меня была проблема с желанием иметь расширенный дисплей на моем новом LXDE box (не двойной клон), нашел правильную команду, но не смог сделать ее постоянной.

xrandr --output VGA-0 --right-of DVI-0

Все вышеперечисленные методы казались слишком сложными / неправильными для этого.

В конце концов я нашел это:http://www.sudo-juice.com/change-lxde-screen-resolution-ubuntu-lubuntu/

Это здорово сработало, но вместо этого я использовал gedit:

gksu gedit /etc/xdg/lxsession/LXDE/autostart

Затем добавил строку в конце с символом @ в начале:

@xrandr --output VGA-0 --right-of DVI-0

Надеюсь, это поможет, и спасибо sudo-juice.

PS Обратите внимание на двойную - в команде xrandr -- (не слишком четко отображался на моем экране).

Создайте новый документ и назовите его, например /home/yourusername/yourscriptname.shВведите

#!/bin/bashxrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsyncxrandr --addmode VGA1 1600x900_60.00xrandr --output VGA1 --mode 1600x900_60.00unity --replace

и сохраните его в своей домашней папке (при этом разрешение устанавливается равным 1600x900).

Открытые приложения для запуска (или запустить gnome-session-properties) и нажмите кнопку "ДОБАВИТЬ". Введите имя и введите в командной строке:

bash /home/yourusername/yourscriptname.sh

Сохраните его, и теперь скрипт будет запускаться при каждом входе в систему, поэтому вам нужно будет сначала выйти из системы, чтобы он вступил в силу. Выполнение команды (например bash /home/yourusername/yourscriptname.sh) в терминале также было бы неплохо проверить, работает ли скрипт.

Основываясь на ответах выше, я провел некоторый тест и нашел полезный метод, который работает для меня, затем я создал простой скрипт для автоматизации его с помощью моих автоматических установок. Но это сработает и в любых других случаях.

Создать scriptinstallxrandrfixed.sh. Добавьте эти строки:

#Variables for lightdm script and xrandr script to set up fixed resolution for old displays: xrandrscript=/usr/local/bin/xrandrscript.shlightdmstartscript=/usr/share/lightdm/lightdm.conf.d/60-xrandrscript.conf#Added old style configuration for lightdm: sudo  ln -s /usr/share/lightdm/lightdm.conf.d /ec/lightdm/lightdm.conf.d#A fix to some old displays in high school at Fray Bentos, fix to 104x768#Some useful information comes from: http://askubuntu.com/questions/63681/how-can-i-make-xrandr-customization-permanentsudo sh -c "echo '[SeatDefaults]' > $lightdmstartscript"# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)sudo sh -c "echo 'display-setup-script=$xrandrscript' >> $lightdmstartscript"# for your desktop sessionsudo sh -c "echo 'session-setup-script=$xrandrscript' >> $lightdmstartscript"sudo sh -c "echo 'xrandr --size 1024x768 --rate 60.0' > $xrandrscript"sudo chmod +x $xrandrscript

он создаст сценарии и файлы для отображения и сеанса lightdm. Не забудьте дать ему разрешение на выполнение

chmod +x scriptinstallxrandrfixed.sh

И выполнить

./scriptinstallxrandrfixed.sh

(вы должны быть помещены в тот же каталог, где у вас есть файл.)

если не в том же каталоге: /path/to/script/scriptinstallxrandrfixed.sh

Измените его в соответствии с вашими потребностями.

добавьте в .xprofile в вашей домашней папке. Видишь display - Unknown monitor, intel driver, want to set VGA resolution to widescreen TV - Ask Ubuntu для получения базового руководства по настройке разрешения и добавлению в .xprofile