GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengapa Pengeditan Lightdm.conf Tidak Mempengaruhi Resolusi Layar Desktop?

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:

  1. lightdm menjalankan skrip Anda dengan benar
  2. Ini menetapkan resolusi yang Anda inginkan
  3. Unity diluncurkan, membaca setelannya, dan kembali ke resolusi default yang Anda miliki di sana
  4. 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.

Terkait:Bagaimana cara menghapus bilah sisi nautilus pada beberapa kasus?

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:

  1. 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
    
  2. Tambahkan skrip yang menjalankan xrandr perintah ke aplikasi startup sesi Anda.


Ubuntu
  1. Lubuntu Menerapkan Kunci Layar?

  2. Sesuaikan Resolusi Pada Server Ubuntu 10.04?

  3. Mengapa Resolusi Asli Monitor Tidak Muncul Sebagai Opsi??

  1. Pemosisian Ulang Resolusi Layar? (Layar Laptop rusak)?

  2. Ubah Resolusi Secara Permanen?

  3. Cegah konsol membersihkan layar?

  1. Bagaimana Cara Memperpanjang Desktop Ke Layar Terhubung Kedua?

  2. Mengapa Tab Nama Pekerjaan Pemula Kustom Tidak Selesai Di Perintah Layanan?

  3. Bagaimana Mengunci Layar?