GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Perché le modifiche di Lightdm.conf non influiscono sulla risoluzione dello schermo del desktop?

Volevo cambiare la risoluzione dello schermo del mio desktop a 1366x768 . Ma i miei VESA drivers(AMD REDWOOD) non ha rilevato tale risoluzione. Quindi ho creato uno script di shell come segue:-

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

L'ho salvato come lightdmxrandr.sh in /usr/bin e lo ha reso eseguibile. Quindi ho aggiunto le seguenti righe a /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf (che è l'equivalente del noto /etc/lightdm/lightdm.conf . Sto usando il file sopra dato che sono su 14.04 dove non c'è /etc/lightdm/lightdm.conf .) :-

greeter-session=unity-greeter  
display-setup-script=/usr/bin/lightdmxrandr.sh  
session-setup-script=/usr/bin/lightdmxrandr.sh

e l'ho salvato. In teoria questo avrebbe dovuto cambiare sia la risoluzione dello schermo di accesso che la risoluzione dello schermo del desktop in 1366x768 . Ma sorprendentemente questo ha cambiato solo la risoluzione dello schermo di accesso. La risoluzione del desktop non è stata modificata. Successivamente ho aggiunto lo script alle applicazioni di avvio e questo ha cambiato la risoluzione del mio desktop.

Quindi voglio sapere perché le modifiche che ho apportato a lightdm.conf file (o meglio il 50-ubuntu.conf file) non ha influito sulla risoluzione del mio desktop. Si tratta di una specie di bug che deve essere segnalato al launchpad o è sbagliato dire che le modifiche in lightdm influiranno sullo schermo del desktop?

PS:- Secondo me questo non è solo specifico di Ubuntu 14.04.

Risposta accettata:

Ho provato una cosa simile e dopo un po' di debug penso di aver capito cosa sta succedendo. Il tuo script probabilmente è eseguito e probabilmente imposta correttamente la risoluzione. Tuttavia, poiché è eseguito dal gestore degli accessi, viene eseguito prima che Unity abbia terminato la configurazione dell'ambiente desktop e Unity legge le proprie impostazioni e ripristina la risoluzione su quella che avevi. Quindi, penso che quello che succede sia:

  1. lightdm esegue correttamente il tuo script
  2. Questo imposta la risoluzione desiderata
  3. Unity si avvia, ne legge le impostazioni e torna alla risoluzione predefinita che hai lì
  4. La tua risoluzione torna a quella di prima

Ora, questo accade perché il driver VESA non rileva automaticamente la risoluzione desiderata. Ciò significa che quando modifichi la risoluzione dalla sezione Display delle impostazioni di Unity, gli stai assegnando una risoluzione che non è disponibile a meno che tu non esegua xrandr comandi. Pertanto, questo viene ignorato al prossimo riavvio e Unity torna alla risoluzione predefinita.

Correlati:come rimuovere la barra laterale nautilus in alcuni casi?

Quindi, quello che devi fare è rendere la risoluzione disponibile per Unity, quindi impostarla come predefinita e lasciarla gestire. Per farlo, devi prima aggiungere questa riga a /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf :

session-setup-script=/usr/bin/lightdmxrandr.sh

Quindi, assicurati che /usr/bin/lightdmxrandr.sh assomiglia a questo:

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

Nota che in realtà non sto impostando la delibera, solo rendendola disponibile. Dopo aver eseguito questo riavvio, accedi. La nuova risoluzione dovrebbe ora essere disponibile in Impostazioni => Display. In tal caso, sceglilo lì, esci e accedi nuovamente e la risoluzione dovrebbe essere impostata correttamente. Ora dovrebbe persistere durante i riavvii.

Approcci alternativi:

  1. Crea un /etc/X11/xorg.conf file che elenca la risoluzione desiderata. Qualcosa del genere:

    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. Aggiungi lo script che esegue xrandr comandi alle applicazioni di avvio della tua sessione.


Ubuntu
  1. Riposizionamento della risoluzione dello schermo? (schermo del laptop rotto)?

  2. Modificare definitivamente la risoluzione?

  3. Regolare la risoluzione su Ubuntu Server 10.04?

  4. Come bloccare lo schermo?

  5. Come accedere al terminale senza accedere al desktop?

Il desktop perfetto - Xubuntu 12.04

Il desktop perfetto - Kubuntu 12.10

Come modificare la risoluzione dello schermo tramite il terminale di Ubuntu

Perché lo sfondo del desktop è nero dopo l'aggiornamento a 13.04?

Risoluzione dello schermo di accesso Sddm di Kde 5.56 sullo schermo Fhd Hidpi?

Perché è possibile capovolgere lo schermo?