Linux: come impostare la risoluzione di un monitor esterno

Avete appena installato Linux su un portatile e volete collegare il monitor esterno; ad ogni avvio però la risoluzione è errata.
Come fare? Ve lo spiego in questo semplice tutorial.

Per prima cosa aprite la shell e digitate xrandr per vedere i dispositivi video connessi con le risoluzioni e le frequenze di aggiornamento supportate:

Screen 0: minimum 8 x 8, current 1440 x 900, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
   1280x800       60.0 +
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
   640x400        60.0  
TV1 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
   1440x900       60.1 +   75.0     60.1  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x921       76.0  
   1280x800       74.9     59.8  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
   1440x900_60.10   60.1* 
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

La sigla LVDS1 identifica il monitor del portatile mentre VGA1 la presa VGA per il monitor esterno. Può avere altri nomi come ad esempio VGA0. TV1 identifica la presa HDMI, non sempre presente.
Nel mio caso la risoluzione ottimale del monitor del portatile è di 1280×800 pixel con frequenza di aggiornamento di 60 Hz, mentre la risoluzione ottimale del monitor esterno è di 1440×900 pixel con frequenza di aggiornamento di 60.1 Hz o di 75 Hz. Il segno + accanto al numero indica la risoluzione e la frequenza in uso.

Create la stringa da passare a xrandr facendo ovviamente riferimento alla vostra uscita VGA.
Nel mio caso sarà:

gtf 1440 900 60.1 | grep Modeline

Otterrete un risultato simile a:

Modeline "1440x900_60.10"  106.65  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync

Ciò che interessa a voi si trova dopo Modeline.

Adesso dovete creare lo script necessario ad impostare la risoluzione corretta ad ogni avvio del sistema. Esso dovrà contenere tre stringhe fondamentali:

xrandr --newmode quello che avete ricavato dal comando gtf SENZA la parola "Modeline"
xrandr --addmode device_monitor HRESxVRES_REFRESH-RATE
xrandr --output device_monitor --mode HRESxVRES_REFRESH-RATE

Aprite il vostro editor di testi preferito e copiate questo testo adattandolo al vostro monitor:

#!/bin/bash
sleep 5 #assegno un ritardo di 5 secondi per far si che lo script si avvii dopo il gestore temi
myvar="$(xrandr -q)" #avvio xrandr -q per controllare le periferiche video connesse
if [[ $myvar == *"VGA1 connected"* ]] #se VGA1 è connessa allora
then
xrandr --newmode "1440x900_60.10"  106.65  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
xrandr --addmode VGA1 "1440x900_60.10"
xrandr --output VGA1 --mode 1440x900_60.10 --pos 0x0 --rotate normal --output LVDS1 --off --output TV1 --off --output VIRTUAL1 --off;  #assegno a VGA1 la risoluzione creata e spengo le altre periferiche video
else
xrandr --output LVDS1 --auto; #altrimenti se VGA1 non è collegato assegno la risoluzione automatica al monitor del netbook
fi

Salvatelo con un nome intuitivo come ad esempio “ris_mon.sh”, andate con il terminale nella cartella in cui è presente e dategli i permessi di esecuzione:

chmod a+x ris_mon.sh

Adesso aprite il menù e andate in Impostazioni –> Sessione e avvio, scheda Avvio automatico e cliccate su Aggiungi:

ris_mon

Nel campo “Nome” dovrete scrivere il nome del nuovo processo da avviare automaticamente mentre nel campo “Comando” va messo il percorso e il nome dello script. Confermate con OK e chiudete la finestra precedente con Chiudi.
Al prossimo avvio del sistema il monitor esterno sarà settato con la risoluzione corretta.

2 Risposte a “Linux: come impostare la risoluzione di un monitor esterno”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.