Come impostare una risoluzione personalizzata?


77

Ho provato a utilizzare xrandrper impostare 1680x1050 come nuova modalità per l'uscita VGA, ma dice:

sudo xrandr --addmode VGA-0 1680
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (RANDR)
Minor opcode of failed request:  18 (RRAddOutputMode)
Serial number of failed request:  35
Current serial number in output stream:  36

Risposte:


128

Innanzitutto generare una "modeline" utilizzando cvt La
sintassi è: cvt larghezza altezza refreshrate

cvt 1680 1050 60

questo ti dà:

# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

Ora dillo a xrandr :

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

Quindi ora puoi aggiungerlo alla tabella delle possibili risoluzioni di un output di tua scelta:

xrandr --addmode VGA-0 1680x1050_60.00

Le modifiche vengono perse dopo il riavvio, per impostare la risoluzione in modo persistente, creare il file ~/.xprofilecon il contenuto:

#!/bin/sh
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00

21
Il dispositivo collegato potrebbe non essere VGA-0. Se ricevi il messaggio xrandr: cannot find output "VGA-0", prova a eseguire il comando seguente: xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"(fonte: xrandr su ArchWiki ). L'output di quel comando dovrebbe essere l'identificatore del dispositivo corretto.
terzo

10
Non hai bisogno di sudo con xrandr
Panther,

2
Vorrei aggiungere che ho lo stesso errore - e quanto sopra non risolve affatto il problema
TellMeWhy

3
Se utilizzi una macchina virtuale, il display è in genere Virtual1anziché VGA-0.
CyberEd,

5
È necessario sostituire VGA-0 con la connessione del monitor. Usa xrandr --listmonitors. Vedi Come risolvere l'errore 'xrandr: impossibile trovare l'output “VGA1”'?
Hooman

14

Come impostare una risoluzione personalizzata precedentemente specificata. Dopo aver eseguito gli altri passaggi definiti per creare la risoluzione, eseguire:

xrandr -s 1680x1050

4

Come impostare una risoluzione personalizzata precedentemente specificata quando si eseguono più monitor . Dopo aver eseguito gli altri passaggi definiti per creare la risoluzione, eseguire:

xrandr --output DVI-0 --mode 1680x1050

Sostituisci DVI-0con il tuo ID dispositivo, ad esVGA-0


3

Grazie a THOM e thirdender questo è fondamentalmente una sola configurazione dei comandi in base alla risposta più votato .

RES="1920 1200 60" && \
DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") && \
MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/\1/') && \
MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') && \
cat > ~/.xprofile << _EOF
#!/bin/sh
xrandr --newmode $MODELINE
xrandr --addmode $DISP $MODERES
_EOF

Il comando sopra genererà il ~/.xprofilefile desiderato . Assicurati solo di usare la risoluzione (cioè la RESvariabile) di tuo gradimento. Maggiori informazioni qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.