Как настроить постоянную настройку xrandr?

Я использовал для редактирования сценария запуска для GDM (/ etc / gdm / Init / Default) для постоянного изменения разрешения экрана.

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

1
задан 11 December 2013 в 21:07

8 ответов

Измените /etc/lightdm/lightdm.conf, чтобы добавить следующие опции:

display-setup-script> вызывает ваш mycustomloginvideo.sh до появления экрана входа в систему

session-setup-script> calls ваш mycustomdesktopvideo.sh перед началом сеанса рабочего стола пользователя

[SeatDefaults]
greeter-session=unity-greeter
user-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 session
session-setup-script=/usr/share/mycustomdesktopvideo.sh

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

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

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

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

/usr/share/mycustomdesktopvideo.sh

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

60
ответ дан 25 May 2018 в 18:32
  • 1
    Для Mint 13 XFCE с использованием mdm отредактируйте / etc / mdm / Init / Default. Вызовите свой скрипт перед «exit 0». – StackUnder 21 February 2014 в 19:06
  • 2
    Evnn работает над Fedora ... нужен только сценарий display-setup-script, поскольку Xfce уже установил параметры отображения, поэтому session-setup-script просто сбросил меня на экран входа в систему. – Wilf 4 June 2014 в 01:21

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

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

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

#!/bin/sh
#
# LightDM wrapper to run around X sessions.

echo "Running X session wrapper"

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
  if [ -f  "$file" ]; then
     echo "Loading profile from $file";
     . "$file"
  fi
done

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode CRT1 1368x768_60.00
xrandr --output CRT1 --mode 1368x768_60.00

# Load resources

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

9
ответ дан 25 May 2018 в 18:32

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

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

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

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

Не выполняйте действия, чтобы сделать это постоянным в приведенном выше примере, как это может работать, но я думаю, что это правильный способ сделать это в 11.10. Я нашел этот пост на ArchWiki http://ubuntuforums.org/showthread.php?t=1112186 , который я адаптировал к моим потребностям.

Сначала создайте файл здесь: [ f2]

Затем добавьте соответствующие данные 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 screens
EndSection

Section "Monitor"
Identifier     "LVDS1"
Option         "ignore" "true"
EndSection

Section "Monitor"
Identifier     "VGA1"
Option         "Enable" "true"
Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
EndSection

Section "Device"
Identifier     "Device0"
Driver         "intel"
Screen         0
EndSection

Section "Device"
Identifier     "Device1"
Driver         "intel"
Screen         1
EndSection

Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "VGA1"
DefaultDepth    24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
    Modes          "1440x900_60.00"
EndSubSection
EndSection

Section "Screen"
Identifier     "Screen1"
Device         "Device1"
Monitor        "LVDS1"
DefaultDepth   24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
EndSubSection
EndSection

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

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

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

Удачи!

5
ответ дан 25 May 2018 в 18:32
  • 1
    Использование xrandr -q должно предоставить вам правильную информацию, на которой используется дисплей, и возможные режимы. – faithinfriction 7 December 2011 в 23:05
  • 2
    Базовый файл конфигурации может быть сгенерирован при запуске Xorg :1 -configure, который создает новый X-сервер и генерирует из него файл конфигурации - это можно скопировать из /root/xorg.conf.new в /etc/X11/xorg.conf. Я нашел лучший способ ответить выше – Wilf 4 June 2014 в 01:24

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

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

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

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

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

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

5
ответ дан 25 May 2018 в 18:32
  • 1
    Это сработало по желанию, но пришлось перезагружать, а не повторно регистрироваться ... – CrandellWS 13 May 2018 в 21:08

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

#!/bin/sh
xrandr --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 --primary
xrandr --output VGA-1 --gamma 0.8:0.7:0.55 

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

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

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

4
ответ дан 25 May 2018 в 18:32

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

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 -- (не отображалось слишком четко на экране).

4
ответ дан 25 May 2018 в 18:32

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

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

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

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

bash /home/yourusername/yourscriptname.sh

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

2
ответ дан 25 May 2018 в 18:32
  • 1
    Это было отредактировано (вместо этого, если оно было удалено) OP этого ответа, поскольку оно было опубликовано здесь вместо здесь - я восстановил исходное форматирование, поскольку это может быть полезно, так как оно должно восстановить конфигурацию xrandr при входе в систему - содержимое скрипта bash, вероятно, должно быть заменено командами xrandr, используемыми для получения правильной конфигурации. – Wilf 4 June 2014 в 01:34
  • 2
    На моем дисплее с двумя мониторами считывается EDID для моего дисплея HDMI-0, но EDID для моего DVI-0 не читается. Указание на скрипт конфигурации, хранящийся в /usr/bin, не работает, но добавление этого сценария в мои загрузочные приложения с помощью gnome-session-properties было успешным! – noobninja 3 June 2016 в 15:48

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

Создайте скриптinstallxrandrfixed.sh Добавьте следующие строки:

#Variables for lightdm script and xrandr script to setup fixed resolution for old displays: 
xrandrscript=/usr/local/bin/xrandrscript.sh
lightdmstartscript=/usr/share/lightdm/lightdm.conf.d/60-xrandrscript.conf

 #Added old style configuration for lightdm: 
 sudo  ln -s /usr/share/lightdm/lightdm.conf.d /etc/lightdm/lightdm.conf.d
 #A fix to some old displays in high school at Fray Bentos, fix to 1024x768
 #Some useful information comes from: http://askubuntu.com/questions/63681/how-can-i-make-xrandr-customization-permanent
 sudo 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 session
 sudo 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

И выполнить

chmod + x scriptinstallxrandrfixed.sh

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

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

1
ответ дан 25 May 2018 в 18:32

Другие вопросы по тегам:

Похожие вопросы: