Saya ingin mengubah resolusi layar desktop saya menjadi 1366x768
. Tapi VESA drivers(AMD REDWOOD)
saya tidak mendeteksi resolusi itu. Jadi saya membuat skrip shell sebagai berikut:-
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode DVI-0 1368x768_60.00
xrandr --output DisplayPort-0 --off --output DVI-0 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off
Saya menyimpannya sebagai lightdmxrandr.sh
di /usr/bin
dan membuatnya dapat dieksekusi. Kemudian saya menambahkan baris berikut ke /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
(yang setara dengan /etc/lightdm/lightdm.conf
yang terkenal . Saya menggunakan file di atas karena saya pada 14,04 di mana tidak ada /etc/lightdm/lightdm.conf
.) :-
greeter-session=unity-greeter
display-setup-script=/usr/bin/lightdmxrandr.sh
session-setup-script=/usr/bin/lightdmxrandr.sh
dan menyimpannya. Secara teori, ini seharusnya mengubah resolusi layar masuk dan resolusi layar desktop menjadi 1366x768
. Namun yang mengejutkan ini hanya mengubah resolusi layar login. Resolusi desktop tidak diubah. Kemudian saya menambahkan skrip ke aplikasi Startup dan itu mengubah resolusi desktop saya.
Jadi saya ingin tahu mengapa saya mengedit lightdm.conf
file (atau lebih tepatnya 50-ubuntu.conf
file) tidak memengaruhi resolusi desktop saya. Apakah ini semacam bug yang harus dilaporkan di launchpad atau salah jika mengatakan bahwa pengeditan di lightdm akan memengaruhi layar desktop?
PS:- Menurut saya ini bukan hanya khusus untuk Ubuntu 14.04.
Jawaban yang Diterima:
Saya mencoba hal serupa dan setelah beberapa debugging saya pikir saya tahu apa yang terjadi. Skrip Anda mungkin adalah jalankan dan mungkin mengatur resolusi dengan benar. Namun, karena dijalankan oleh manajer login, itu berjalan sebelum Unity selesai mengatur lingkungan desktop Anda dan Unity membaca pengaturannya sendiri dan mengatur ulang resolusi ke apa yang Anda miliki. Jadi, menurut saya yang terjadi adalah:
- lightdm menjalankan skrip Anda dengan benar
- Ini menetapkan resolusi yang Anda inginkan
- Unity diluncurkan, membaca setelannya, dan kembali ke resolusi default yang Anda miliki di sana
- Resolusi Anda kembali seperti semula
Sekarang, ini terjadi karena driver VESA tidak mendeteksi resolusi yang Anda inginkan secara otomatis. Ini berarti bahwa ketika Anda mengubah resolusi dari bagian Tampilan pengaturan Unity, Anda memberikan resolusi yang tidak tersedia kecuali Anda menjalankan xrandr
perintah. Oleh karena itu, ini diabaikan saat Anda memulai ulang dan Unity kembali ke resolusi default.
Jadi, yang perlu Anda lakukan adalah membuat resolusi tersedia untuk Unity, lalu mengaturnya sebagai default dan membiarkannya menanganinya. Untuk melakukannya, Anda harus terlebih dahulu menambahkan baris ini ke /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
:
session-setup-script=/usr/bin/lightdmxrandr.sh
Kemudian, pastikan bahwa /usr/bin/lightdmxrandr.sh
terlihat seperti ini:
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode DVI-0 1368x768_60.00
Perhatikan bahwa saya sebenarnya tidak mengatur resolusi, hanya membuatnya tersedia. Setelah Anda melakukan restart ini, lalu masuk. Resolusi baru sekarang harus tersedia di Pengaturan => Tampilan. Jika demikian, pilih di sana, logout dan login kembali dan resolusi harus disetel dengan benar. Sekarang seharusnya tetap ada di seluruh reboot.
Pendekatan alternatif:
-
Buat
/etc/X11/xorg.conf
file yang mencantumkan resolusi yang Anda inginkan. Sesuatu seperti ini:Section "Monitor" Identifier "Monitor0" Modeline "1368x768_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Modes "1368x768_60.00" EndSubSection EndSection Section "Device" Identifier "Card0" Driver "vesa" EndSection
-
Tambahkan skrip yang menjalankan
xrandr
perintah ke aplikasi startup sesi Anda.