7
Juni
2021
11:52

So ändern Sie die Anzeigeauflösung über die Linux-Befehlszeile

7 Juni 2021 11:52

Wenn die Bildauflösung auf dem Bildschirm nicht mit der Bildschirmauflösung übereinstimmt, können Sie die Auflösung über die Befehlszeile ändern.

На Wenn ich an einem PC mit dem Betriebssystem Linux Mint 19.3 arbeite, habe ich ein Widescreen-Display mit einer Auflösung von 1366 x 768 Pixeln. Eines Tages startete ich den Computer mit ausgeschaltetem Display und die Auflösung war auf 1024 mal 768 eingestellt. Irgendwie wurde diese Auflösung gespeichert und das Bild wurde gestreckt.

Ausführen einer Diagnose des _Hauptdisplays (Anzeige der vom Display unterstützten Auflösungen):

xrandr -d :0 -q

Bildschirm 0: mindestens 8 x 8, aktuell 1024 x 768, maximal 32767 x 32767
VGA1 verbunden primär 1024x768+0+0 (normal links invertiert rechts x-Achse y-Achse) 0 mm x 0 mm
1024x768 60,00*
800x600 60,32 56,25
848x480 60,00
640x480 59,94

Wie Sie sehen, wird die Auflösung 1024x768 vom System ausgewählt und mit einem Sternchen* gekennzeichnet.

 

Das Problem lösen

  1. Finden Sie das Display-Modell heraus (Aufkleber auf der Rückseite) – ermitteln Sie anhand des Modells aus der Spezifikation die maximale Auflösung, die der Monitor unterstützt.
    In diesem Fall 1366 x 768 Pixel bei einer Bildwiederholfrequenz von 60 Hz.

Stellen Sie eine Verbindung zum Internet her und installieren Sie das xcvt-Paket.

sudo apt install xcvt

  1. Befehl ausführen cvt mit Parametern entsprechend Auflösung und Bildwiederholfrequenz:
    cvt 1366 768 60

In meinem Fall wurde Folgendes ausgegeben:

#1368 x 768 59,88 Hz (CVT) hsync: 47,79 kHz; pclk: 85,25 MHz
Modelline „1368x768_60.00“ 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

  1. Sie müssen die Leitung nehmen und sie dem xrandr-Eingang zuführen, um einen neuen Videomodus zu erstellen:

xrandr --newmode "1368x768_60.00" 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

  1. Finden Sie den Namen der Anzeige heraus – angezeigt durch den Befehl xrandr:

    xrandr -d :0 -q

in meinem Fall gibt es nur eine Anzeige und deren Namen VGA1

  1. Fügen Sie der Anzeige einen neuen, zuvor erstellten Modus hinzu:

xrandr --addmode VGA1 1368x768_60.00

  1. Schließlich habe ich den Befehl ausgeführt, um die Bildauflösung zu ändern (die Anzeige in den neuen Modus „1368x768_60.00“ umzuschalten):

sudo xrandr --output VGA1 --mode 1368x768_60.00

Die Anzeige blinkt möglicherweise ein oder aus. Wenn alles gut gelaufen ist, erhält das Bild die ausgewählte Auflösung.

Stellen Sie bei Bedarf die Auflösung auf 1024x768 wieder her:
Drücken Sie mehrmals die Eingabetaste und geben Sie den folgenden Befehl in die Befehlszeile ein

sudo xrandr --output VGA1 --mode 1024x768

Wiederholen Sie ggf. den Wechsel des Anzeigemodus:

xrandr --output VGA1 --mode 1368x768_60.00

drücken Sie „Enter“

Sie müssen nicht jedes Mal das Sudo-Passwort eingeben.


Ergänzung für Monitor mit 1280x1024 Auflösung:

cvt 1280 1024 60
xrandr --newmode "1280x1024_60.00"   109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_60.00
sudo xrandr --output VGA-1 --mode 1280x1024_60.00

Ergänzung vom 29.12.2023: Um die Bildschirmauflösung einzustellen und ein lauffähiges Shell-Skript zum Ändern der Bildschirmauflösung zu speichern, können Sie das Programm verwenden Arandr:
Sudo apt install arandr
Arandr

Update vom 27.01.2026: Einige Grafikkartentreiber reagieren auf den Befehl zum Festlegen des xrandr --output-Modus mit den Fehlern „xrandr: Failed to get size of gamma for output default“, „xrandr:Configure crtc 0 failed“ und „xrandr: Gamma size is 0“. Sie können versuchen, beim Laden im Grub-Menü „e“ oder „Tab“ zu drücken und so etwas zum Zeilenparameter GRUB_CMDLINE_LINUX_DEFAULT hinzuzufügen nvidia_drm.fbdev=1 nvidia_drm.modeset=1. Oder im Fall der ATI Rage 128 Grafikkarte:fb.fbdev=1 fb.modeset=1, abhängig vom Inhalt der Datei /var/log/Xorg.0.log. Und fahren Sie mit dem Laden fort: F10 oder Strg+X oder Eingabetaste. Ein Beispiel für einen komplexen Befehl, der mit einer alten Grafikkarte immer noch nicht funktioniert:sudo xrandr --output default --panning 1368x768 --crtc 0 --brightmess 1.0 --scale 1x1 --gamma 1:1:1, der Fehler ist derselbe: „xrandr: Gamma size is 0“. Dann ist es am einfachsten, die Grafikkarte auszutauschen. ;-[

Anzeigeauflösung beim Anmelden bei Linux dauerhaft einstellen

Ich habe die folgenden drei Befehle in die ausführbare Datei geschrieben.

Zuerst habe ich eine leere Datei in meinem Home-Ordner erstellt

nano resolution.sh

Und 4 Textzeilen eingefügt:

#!/bin/bash
xrandr --newmode "1368x768_60" 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60
xrandr --output VGA1 --mode 1368x768_60

Habe die Datei gespeichert.

Dieselbe Datei, aber für einen 1280x1024-Monitor, hänge ich an:
Auflösung.sh.zip

Berechtigungen erteilt – Ausführung nur vom aktuellen Benutzer (Eigentümer).

sudo chmod 700 resolution.sh

Zum Start hinzugefügt (ich habe die LXQT-Shell):
Start – Optionen – LXQT-Einstellungen – Sitzungseinstellungen – Autostart – Hinzufügen
sh /home/vladimir/resolution.sh.
Bestätigt und das Fenster geschlossen.

Eine andere Möglichkeit besteht darin, die Befehle zu einer Datei im Home-Verzeichnis des Benutzers hinzuzufügen .xinitrc:

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/openbox:/usr/local/share/:/usr/share/


xrandr --newmode "1280x1024_60.00" 109,00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_60.00
xrandr --output VGA-1 --mode 1280x1024_60.00

Zur Überprüfung abgemeldet und erneut angemeldet. Bei der Eingabe blinkte die Anzeige und es wurde die richtige Anzeigeauflösung angewendet.
Außerdem kann die Befehlsdatei resolution.sh vom Fenster aus ausgeführt werden Terminal.

Der Fall einer HDMI-Verbindung und mehrerer Monitore

Anders als bei der oben besprochenen Verbindung über ein VGA-Kabel ist bei der Verwendung mehrerer über HDMI-Schnittstellen angeschlossener Monitore die Befehlssyntax anders:

xrandr --newmode DVI-I-1 Modusname1 ...
xrandr --newmode DVI-I-2 Modusname2 ...
xrandr --addmode DVI-I-1 Modusname1
xrandr --addmode DVI-I-2 Modusname2
xrandr --output DVI-I-1 --mode Modusname1
xrandr --output DVI-I-2 --mode Modusname1

Die Namen der Monitorschnittstellen können mit demselben Befehl abgerufen werden

xrandr -q

Ergänzung: shell-Befehlsdateien zum Ändern der Auflösung für mehrere Monitore gleichzeitig können mit einem Grafikdienstprogramm vorbereitet werden Arandr(Installation:Sudo apt install arandr). Der Name arandr steht für „Another XRandR GUI“ (GUI-Dienstprogramm zur Installation von XRandR).

Hinzufügen: für Desktop-Umgebung LXQT(in Lubuntu OS, Fedora Linux zurück oder in einer selbst installierten Shell) - es gibt ein grafisches Dienstprogramm lxqt-config-monitor verfügbar im Menü „Optionen“ – „LXQT-Einstellungen“ – „Monitoreinstellungen“. Mit seiner Hilfe können Sie die Auflösung und Bildwiederholfrequenz von Monitorbildschirmen ändern und die Einstellungen in einem „Profil“ (Einstellungsdatei) speichern. Allerdings können Bildschirmauflösungsprofile in LXQT nicht über die Befehlszeile bearbeitet werden. Dienstprogramm **lxqt-config-monitor**ändert Textdateien:
./.config/autostart/lxqt-config-monitor-autostart.desktop
./.config/lxqt/lxqt-config-monitor.conf

Die hier aufgeführten Einstellungsdateien werden beim Starten einer LxQT-Sitzung aus der Datei verwendet ~/.xinitrc, von dem aus das Skript aufgerufen wird exec startlxqt.


Quellen:
https://askubuntu.com/questions/281509/...
linuxmint.com-Forum



Verwandte Veröffentlichungen