Wie stelle ich eine benutzerdefinierte Auflösung ein?

77

Ich habe versucht, xrandr1680x1050 als neuen Modus für die VGA-Ausgabe festzulegen, aber es heißt:

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
user216356
quelle

Antworten:

128

Erstellen Sie zunächst eine "Modeline" mit der folgenden cvt-
Syntax: cvt width height refreshrate

cvt 1680 1050 60

das gibt dir:

# 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

Nun sag dies zu xrandr :

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

Dann können Sie es der Tabelle der möglichen Auflösungen eines Ausgangs Ihrer Wahl hinzufügen:

xrandr --addmode VGA-0 1680x1050_60.00

Die Änderungen gehen nach dem Neustart verloren. Um die Auflösung dauerhaft einzurichten, erstellen Sie die Datei ~/.xprofilemit dem Inhalt:

#!/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
thom
quelle
21
Das angeschlossene Gerät ist möglicherweise nicht VGA-0. Wenn Sie die Nachricht erhalten xrandr: cannot find output "VGA-0", versuchen Sie, den folgenden Befehl auszuführen : xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"(source: xrandr in ArchWiki ). Die Ausgabe dieses Befehls sollte die richtige Gerätekennung sein.
Thirdender
10
Sie brauchen kein Sudo mit Xrandr
Panther
2
Ich möchte hinzufügen, dass ich den gleichen Fehler habe - und der obige löst das Problem überhaupt nicht
TellMeWhy
3
Wenn Sie sich auf einer VM befinden, wird normalerweise Virtual1VGA-0 angezeigt .
CyberEd
5
Sie müssen VGA-0 durch Ihren Monitoranschluss ersetzen. Verwenden Sie xrandr --listmonitors. Siehe Wie behebe ich den Fehler "xrandr: Ausgang" VGA1 "kann nicht gefunden werden?"
Hooman
14

Festlegen einer zuvor festgelegten benutzerdefinierten Auflösung. Führen Sie die folgenden Schritte aus, um die Auflösung zu erstellen:

xrandr -s 1680x1050
GuiRitter
quelle
4

Festlegen einer benutzerdefinierten Auflösung, die zuvor festgelegt wurde, wenn mehrere Monitore ausgeführt werden . Führen Sie die folgenden Schritte aus, um die Auflösung zu erstellen:

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

Ersetzen Sie DVI-0durch Ihre Geräte-ID, zVGA-0

Pokkie
quelle
3

Dank thom und thirdender handelt es sich im Grunde genommen um eine Einzelbefehlskonfiguration, die auf der am häufigsten gewählten Antwort basiert .

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

Der obige Befehl generiert die gewünschte ~/.xprofileDatei. Stellen Sie einfach sicher, dass Sie die Auflösung (dh die RESVariable) verwenden, die Ihnen gefällt. Mehr Infos hier .

Tanasis
quelle