Я использовал для редактирования сценария запуска для GDM (/ etc / gdm / Init / Default) для постоянного изменения разрешения экрана. Р>
Как я могу это сделать с LigthDM в Ubuntu Oneiric?
Я использовал для редактирования сценария запуска для GDM (/ etc / gdm / Init / Default) для постоянного изменения разрешения экрана. Р>
Как я могу это сделать с LigthDM в Ubuntu Oneiric?
Я думаю, вы можете добавить режимы отображения в /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 +vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Modes "1280x1024_60.00" "1024x768_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
EndSection
Если вы не знаете имя видеодрайвера, которое использует ваша система, вы можете получить имя следующим образом (если у вас есть графический чип Intel, имя драйвера просто «intel»):
lshw -class display | grep "driver"
Моделирование может быть сгенерировано с помощью cvt
:
cvt <h-resolution> <v-resolution> [refresh]
Измените /etc/lightdm/lightdm.conf
, чтобы добавить следующие параметры:
display-setup-script > вызывает ваш mycustomloginvideo.sh перед появлением экрана входа в систему
session-setup-script > вызывает ваш 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, создающий вышеупомянутый скрипт sh, выбирая параметры из конфигурации X вашего текущего сеанса.
Убедитесь, что ваш сценарий оболочки является исполняемым:
chmod a+x /usr/share/mycustom*video.sh
, и вы можете проверить, что он работает (т. е. у вас нет опечаток или ошибок конфигурации в вашей команде xrandr), просто запустив его в терминале:
/usr/share/mycustomdesktopvideo.sh
Если сценарий входа не работает по какой-либо причине, ваш компьютер может не завершить процесс загрузки на экране входа в систему. Если сценарий рабочего стола выходит из строя, вы не сможете получить рабочий стол после входа в систему. Если вы устанавливаете внешний монитор, эти сценарии будут терпеть неудачу при его отключении, а сеанс X не запустится.
Кто-то опубликовал другое обходное решение, хотя я должен сказать, что это не сработало для меня. Возможно, это сработает для вас. В моем случае это разрушает единство, и я могу только передвигать мой курсор мыши. Верхняя панель индикатора приложения выглядит пустой, но после отсоединения моего ЖК-дисплея я смог удалить добавленные строки, и все вернулось к нормальному.
отредактировать файл /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 должны быть изменены в соответствии с вашими.
Я пытался решить подобную проблему некоторое время и нашел решение, которое работает для меня так, надеюсь, это поможет ...
У меня есть старый aspire один AOA110, что я сломал экран слишком много раз и после покупки нового ноутбука решил, что я попытаюсь превратить его в HTPC, но внешний дисплей, который у меня есть, не распознается X, поэтому я приходилось «настраивать» его несколько раз, чтобы заставить его работать с правильным разрешением. Р>
Вот что я сделал:
После использования этого руководства по ссылке до шага 5 я смог найти рабочее и приемлемое разрешение в xrandr но это не работает на экране входа LightDM.
Не выполняйте шаги, чтобы сделать это упорным в приведенном выше примере, как это может сработать, но я думаю, что это правильный способ сделать это в 11.10. Я нашел это сообщение на странице ArchWiki Ссылка , которую я приспособил к моим потребностям.
Сначала создайте файл здесь: /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 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"
, включая соответствующий Modeline
, который вы нашли при использовании gtf 1440 900 60.00
, а затем под соответствующим Section "Screen"
, включая правильный Modes
.
Вы заметите, что я пытался не только установить соединение VGA1 с подходящим разрешением, но и сказать, что он не использует мой выход LVDS1. Очевидно, что вам нужно будет соответствующим образом настроить ваши, чтобы соответствовать правильному количеству выходов и соответствующим разделам «Устройство, экран и дисплей» для вашей настройки. Р>
Извините за эпическое сообщение, я уже несколько раз редактировал xorg.conf файлы с дисплеем Hannspree, который я использовал, и старые настройки xorg.conf, которые я использовал pre 11.10, больше не работают должным образом это единственное решение, которое я нашел, что работает.
Удачи!
У меня была аналогичная проблема с моим ноутбуком, как и выше, и я хотел добавить что-то в разговор. Если вы не заботитесь о разрешении входа в систему (я этого не делаю), но хочу, чтобы фактическое рабочее пространство было правильным разрешением, вы можете добавить информацию о вашем мониторе в 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
Как только я вхожу в систему, я могу настроить свой монитор в Дисплеях, и он работает, даже после того, как я заново заработал (использовал, чтобы дать мне большую уродливую ошибку).
У меня возникла проблема с необходимостью расширенного отображения в моем новом окне LXDE (не двойной клон), который нашел правильную команду, но не мог сделать ее постоянной.
xrandr --output VGA-0 --right-of DVI-0
Вышеуказанные методы казались слишком трудными / неправильным способом сделать это.
В конце концов я нашел это: Ссылка
Это сработало, но вместо этого я использовал gedit:
gksu gedit /etc/xdg/lxsession/LXDE/autostart
Затем добавлена строка в конце с символом @ в начале:
@xrandr --output VGA-0 --right-of DVI-0
Надеюсь, что это поможет и благодарит вас за содо-сок.
PS Обратите внимание, что double -
в команде xrandr --
(не отображается слишком четко на экране).
В качестве улучшения для ответа Джона Робертса, позвольте мне указать, что 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 и --primary options в первой строке, а затем добавил вручную вторую строку с гамма-коррекцией, потому что, по-видимому, параметры xrandr gamma теряются при каждом переключении монитора на основной .
Я не знаю, предназначено ли это конкретное поведение с настройками гаммы при создании первичного монитора или является ошибкой.
Кроме того, сценарий оболочки сеанса не вызывается lightdm, а как приложение для запуска, потому что кажется, что lightdm вызывает сценарий, прежде чем все будет готово для xrandr, и происходят странные вещи. Р>
Создайте новый документ и назовите его, например. /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
) в терминале также было бы хорошей идеей проверить, работает ли скрипт.
Основываясь на ответах upper, я сделал несколько тестов и нашел полезный метод, который работает для меня, тогда я создал простой скрипт для автоматизации его с помощью автоматической установки. Но это будет работать и на любые другие случаи. Р>
Создайте скрипт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: https://ubuntugeeks.com/questions/1184/how-can-i-make-xrandr-customization-permanent"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
И выполните
./scriptinstallxrandrfixed.sh (you must be placed in same directory where you have the file.)
if not in same directory: /path/to/script/scriptinstallxrandrfixed.sh
Измените его до нужных вам потребностей. С уважением. Пабло.