Я редагував сценарій запуску для 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]
cvt
команди та драйвер з іншого (і спробував vesa
теж), але він просто завис без повідомлень про помилки. Рішення Джона Робертса працювало для мене ідеально і не залежить від речей, таких як драйвер відеокарти, який ви тут згадуєте, який легко може піти не так для новачків, тому я голосую за його відповідь.
lshw
виведіть i915
, однак правильний драйвер intel
.
Змініть, /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
Можливо, інструмент gui "arandr" генерує вищезгаданий сценарій sh, вибираючи параметри з конфігурації X поточного сеансу.
Переконайтеся, що ваш скрипт оболонки виконується:
chmod a+x /usr/share/mycustom*video.sh
і ви можете перевірити, що він працює (тобто, що у вашій команді xrandr немає помилок друку чи конфігурації), просто запустивши його в терміналі:
/usr/share/mycustomdesktopvideo.sh
Якщо скрипт входу з будь-якої причини не працює, ваша машина може не завершити процес завантаження на екран входу. Якщо скрипт на робочому столі виходить з ладу, ви не зможете отримати робочий стіл після входу в систему. Якщо ви встановлюєте зовнішній монітор, ці сценарії вийдуть з ладу, коли ви відключите його, і X сеанс не розпочнеться.
display-setup-script
скрипт, оскільки Xfce вже встановив налаштування дисплея, тому session-setup-script
щойно скинув мене на екран входу.
Хтось розмістив інше рішення, хоча мушу сказати, що це не працювало для мене. Можливо, це могло б працювати для вас. У моєму випадку це порушує єдність, і я можу переміщувати лише курсор миші. Верхня панель індикатора додатка виглядає порожньою, але після відключення рідкокристалічного екрана я зміг видалити додані рядки і все повернулося до норми.
відредагуйте файл /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 слід змінити відповідно до ваших.
Я вже деякий час намагаюся вирішити подібну проблему і знайшов рішення, яке працює для мене, тому, сподіваюся, це допоможе ...
У мене є стареньке прагнення 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 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, які я використовував до 11.10, просто більше не працюють належним чином. Це Єдине рішення, яке я знайшов, працює.
Щасти!
xrandr -q
повинно давати вам правильну інформацію про те, який дисплей використовується та можливі режими.
Xorg :1 -configure
, що робить новий сервер X і генерує конфігураційний файл з нього - це може бути скопійований з /root/xorg.conf.new
в /etc/X11/xorg.conf
. Я знайшов кращий спосіб відповіді вище
У мене була аналогічна проблема з моїм ноутбуком, як вище, і я хотів щось додати до розмови. Якщо ви не переймаєтесь роздільною здатністю входу (я не хочу), але хочете, щоб фактична робоча область була правильною роздільною здатністю, ви можете додати інформацію про монітор до 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
Після входу в систему я можу налаштувати монітор у програмі "Дисплеї", і він працює, навіть після того, як я повторно увійшов (використовувався для отримання великої потворної помилки).
Як доповнення до відповіді Джона Робертса, дозвольте мені зазначити, що arandr не включає в свою генерацію скриптів всі параметри, що працюють в поточному сеансі. Наприклад, основний монітор (якщо ви використовуєте подвійну конфігурацію монітора), частота оновлення та гамма-параметри для кожного монітора не включаються, наприклад. Мій сценарій сеансу виглядає так:
#!/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 в перший рядок, а потім додав вручну другий рядок з корекцією гамми, тому що, очевидно, параметри гами xrandr втрачаються кожного разу, коли ви перемикаєте монітор на основний .
Я не знаю, чи призначена ця конкретна поведінка з налаштуваннями гами при створенні монітора первинним або це помилка.
Більше того, скрипт оболонки сеансу викликається не lightdm, а як програма для запуску, тому що, здається, lightdm викликає скрипт, перш ніж все буде готове до xrandr, і дивні речі трапляться.
У мене виникла проблема, що потрібно розширити дисплей у моєму новому вікні 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
Сподіваюся, що це допомагає і дякую соку судо.
PS Зверніть увагу на подвійне -
в команді 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
) в терміналі також буде хорошою ідеєю перевірити, чи працює сценарій.
/usr/bin
, не працювала, але додавання цього сценарію до моїх програм запуску gnome-session-properties
було успішним!
На основі відповідей у верхній частині, я провів тест і знайшов корисний метод, який працює для мене, тоді я створив простий сценарій, щоб автоматизувати його з моїми автоматичними встановленнями. Але це підійде до будь-яких інших справ.
Створіть scriptinstallxrandrfixed.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
І виконати
./scriptinstallxrandrfixed.sh (ви повинні бути розміщені в тому самому каталозі, де і файл.)
якщо не в одному каталозі: /path/to/script/scriptinstallxrandrfixed.sh
Змініть його на ноги вашим потребам. З повагою. Пабло.