[[Vorlage(Überarbeitung, 11.11.2012, RandR, aasche)]] [[Vorlage(Getestet, lucid, oneiric)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:chmod: Dateirechte setzen] [:Pakete_installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/Oxygen/X.png, 48, align=left)]] RandR steht für "'''R'''esize '''and''' '''R'''otate" und ist ab [:Intrepid:Ubuntu 8.10] das Standardwerkzeug zur Konfiguration von Grafikkarten und Bildschirmauflösungen. Der [:XServer:] erkennt viele Monitore beim Anstecken an die Grafikkarte automatisch und passt die X-Konfiguration dynamisch an. Über RandR lässt sich die Auflösung mehrerer angeschlossener Monitore bzw. Beamer sowie ein erweiterter Desktop recht einfach konfigurieren. Darüber hinaus kann man die evtl. vorhandene [wikipedia:Pivot-Funktion:] eines Bildschirms nutzen. RandR wird von den freien Grafiktreibern für den XServer in der Regel in vollem Umfang unterstützt. Der herstellereigene (proprietäre) Treiber von [:Grafikkarten/Nvidia:NVidia] unterstützt jedoch zumeist nur einen älteren RandR-Standard (oder den neueren nur unvollständig). Wichtig wird dies bei mehreren Monitoren, da die Konfiguration eines erweiterten Desktops die vollständige Unterstützung von RandR 1.2 voraussetzt, wie sie der herstellereigene Treiber von [:Grafikkarten/ATI:ATI/AMD] seit geraumer Zeit bieten kann. Nvidia stellt daher als Alternative [:nvidia-settings:] und für einen erweiterten Desktop den Betriebsmodus TwinView zur Verfügung, der allerdings die RandR-Unterstützung komplett deaktiviert. = Linux-Einsteiger- und Artikelaufbau-Readme = Von den ersten Versionen von Linux, wo man die Bildschirmeinstellungen noch direkt in den Kernel kompilieren musste, bis heute hat die Benutzerfreundlichkeit um Welten verbessert. Trotzdem kann Einrichten von Bildschirmen unter Linux noch immer eine Herausforderung für Linux-Einsteiger sein. Wenn die Einrichtung nicht auf Anhieb (automatisch) klappt ist "dieses Problem" auch der Ort wo der Linux-Schuh nach dem ersten Anziehen am meisten drückt. Zwischenzeitlich wurden unter Linux die meisten Anwendungsfälle von RandR über das Editieren der Datei "/etc/X11/xorg.conf" gelöst. Entsprechende Anleitungen im Internet sollten daher nur im Notfall angewandt werden, wenn RandR an seine Grenzen kommt. Die "modernere" Variante über RandR hat einige Vorteile, insbesondere, dass Bildschirmeinstellungen auch ohne root-/Adminrechte geändert werden können, und dass nicht jede Änderung einen Neustart des XServers erforderlich macht. Statt die vollständige Syntax und Funktionsweise zu erklären werden im Abschnitt [#Grundlagen Grundlagen] drei der häufigsten Fragen/Probleme (Wie nutze ich 2 Bildschirme gleichzeitig? Wie füge ich die richtige Auflösung meines Bildschirms hinzu? Wie behalte ich Bildschirmkonfiguration nach dem Neustart?) gelöst. Damit soll das Lernen (das wichtigste, das man wissen muss) und Problemlösen kombiniert und der Zeitaufwand für Neueinsteiger minimiert werden. Die weiteren Abschnitte enthalten zusätzliche Informationen gemäss dem Inhaltsverzeichnis. = Grundlagen = {{{#!vorlage Hinweis In vielen Hilfen zu Grafik-Konfigurationen ist von '''/etc/X11/xorg.conf''' die Rede. Dies ist eine Konfiguartionsdatei inder man einen oder mehrere Monitore manuel konfigurieren kann. Seit [:Jaunty_Jackalope:Ubuntu 9.04] übernimmt XRandR die gesamte Verwaltung des X-Servers. Die Datei, die die Funktion von '''xorg.conf''' übernimmt ist '''/etc/X11/Xsession.d/45custom_xrandr-settings'''. Diese ist aber falkultativ und à priori nicht vorhanden. Man muss die Datei mit Root-Rechten erstellen, sollte man diese benötigen. Weitere Ausführungen folgen später. }}} == Automatische (Dynamische) Konfiguration in der Konsole == Zuerst fragt man ab, ob alle Anschlüsse korrekt erkannt werden [1]: {{{#!vorlage Befehl xrandr }}} Die Ausgabe sieht in etwa so aus: {{{ Screen 0: minimum 320 x 200, current 1280 x 800, maximum 3200 x 1200 VGA-0 disconnected (normal left inverted right) S-video disconnected (normal left inverted right) DVI-0 disconnected (normal left inverted right) LVDS connected 1280x800+0+0 (normal left inverted right) 0mm x 0mm 1280x800 60.2*+ 60.0 1280x768 60.0 1024x768 60.0 800x600 60.3 640x480 59.9 }}} ||<-2 rowclass="titel" tablestyle="width: 40%; text-align: left; float: right; margin-left: 15px"> Beispiele|| || Bezeichnung || Anschluss || || `VGA` || analoge [wikipedia:VGA-Anschluss:VGA]-Buchse (D-Sub) || || `DisplayPort` || digitale [wikipedia:DisplayPort:]-Buchse || || `DVI oder TMDS` || digitale [wikipedia:Digital_Visual_Interface:DVI]-Buchse || || `HDMI` || digitale [wikipedia:High_Definition_Multimedia_Interface:HDMI]-Buchse || || `LVDS` || interner Monitor bei Notebooks || ||`S-video, TV oder DIN`|| TV-Ausgang|| Die ersten zusammenhängende Zeichenkette, beginnend ganz links, im obigen output entsprechen den erkannten Anschlüssen. Diese Anschlüsse kann man über genau diese Zeichenketten ansteuern und Parameter (gewünschte Konfiguration) übergeben. Das Zeichen ''Asterisk (*)'' steht dabei für die aktuell verwendete Auflösung, das Zeichen ''Plus (+)'' für die bevorzugte Auflösung. {{{#!vorlage Hinweis Die konkrete Bezeichnung hängt von der verwendeten Grafikkarte ab. Beispiel: Intel verwendet `VGA`, der freie ATI-Treiber stattdessen `VGA-0`. Des Weiteren findet man auch `default` als Platzhalter für den aktuell genutzten Anschluss bzw. Bildschirm. }}} ===2 Monitore gleichzeitig nutzen=== Neu angeschlossene Monitore müssen zuerst aktiviert werden (siehe nachfolgende Befehle). Es kommt durchaus vor, dass auch ein Neustart des System die angeschlossenen Monitore nicht erkannt werden. Somit erscheit der zusätzliche Monitor auch nicht in ''Bildschirme'' in den ''Systemeinstellungen''. Erst nach der Aktivierung werde alle Monitore dort sichtbar sein. Sobald ein zweiter Monitor eingesteckt ist, kann man ihn mit folgendem Befehl aktivieren: {{{#!vorlage Befehl xrandr --auto }}} Falls man damit nicht den gewünschten Effekt erzielt, kann man die Parameter von Hand eingeben, beispielsweise: {{{#!vorlage Befehl xrandr --output DVI-0 --auto --right-of LVDS }}} Für eine Übersicht der Befehle ist unter [#Benutzung Benutzung] oder unter {{{#!vorlage Befehl xrandr --help }}} zu finden. Vergleiche obige Syntax mit den Befehlen die in der ''help'' aufgelistet sind, dann wird klar wie man die Befehle gebrauchen kann. {{{#!vorlage Hinweis Einmal aktivierte und in der Konsole eingerichtete Monitore verlieren ihre Konfiguration beim Neustart des Computers wieder. In Ubuntu 11.10 Unity funktioniert folgender Trick: Nach der erfolgten Konfiguration geht man auf ''Anzeigegeräge...'' im Dropdown ganz oben rechts und klickt auf ''Anwenden'' (keine Bestätigung ob dieses Vorgehen auch bei den [#Grafische-Einrichtung-unter-GNOME grafischen Oberflächen von Gnome oder KDE] funktioniert). Sollte dies so nicht hinhauen, folge den weiteren Erklärungen. }}} [[Bild(./xrandr-kde.png, 200, right)]] Ein möglicher Workaround um den Befehl nicht jedesmal von Hand ausführen zu müssen, ist ein Symbol anzulegen. Unter KDE sieht das z.B. wie im rechten Bild aus. Falls die Verbindung zum Monitor getrennt wird, kann man damit auch den virtuellen Desktop wieder auf die Größe des primären Bildschirms bringen. ===Auflösung und Frequenz=== {{{#!vorlage Warnung Die im folgenden verwendeten Parameter zur Modifikation der Auflösung und der Bildfrequenz müssen aus dem Benutzerhandbuch oder von der Herstellerseite bezogen werden. Alle hier aufgeführten Werte sind Beispielwerte und dürfen nicht 1:1 übernommen werden. Das Ansteuern von Bildschirmen mit einer falschen Parametern kann im ungünstigsten Fall zu deren Zerstörung führen! }}} Falls die Auflösung und Frequenz von einem Bildschirm nicht richtig erkannt wird, kann man diese manuell hinzufügen. Dazu muss man die für den Bildschirm spezifischen Daten im Benutzerhandbuch oder auf der Homepage des Herstellers nachschlagen. Für das folgende __Beispiel__ wird 1024x768 bei 60Hz verwendet. `xrandr` nimmt solche neuen Modi über `xrandr --newmode` auf. Der Rest dieser `xrandr`-Zeile muss mit dem Befehl `cvt` ermittelt werden. Die Syntax für das obige Beispiel ist wie folgt: {{{#!vorlage Befehl cvt 1024 768 60 }}} Der Output sieht dann so aus: {{{ # 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync }}} Die zweite Zeile dieser Ausgabe nach `Modeline` ist die Zeichenfolge die man dem erwähnten `xrandr --newmode` mitgeben muss (siehe unten). Wenn der neue Modus erstellt wurde muss man xrandr auch noch sagen, dass der den hinzufügen und aktivieren soll. Die vollständige Befehlsabfolge, die das mit obigem __Beispiel__ macht ist: {{{#!vorlage Befehl xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode DVI-0 "1024x768_60.00" xrandr --output DVI-0 --mode "1024x768_60.00" }}} Wenn alles geklappt hat, zeigt der angesteuerte Bildschirm nun die gewünschte Auflösung. Hier folgt der selbe Hinweis wie oben. Diese Konfigurationen gehen beim Neustart des Computers verloren - bitte den Hinweis unter [#2-Monitore-gleichzeitig-nutzen 2 Monitore gleichzeitig nutzen] lesen. Weitere Informationen und Problemlösungen findet man weiter [#xrandr_erkennt_Auflösung_nicht_richtig unten] oder auch unter [:Bildschirmauflösung#Bildwiederholraten-setzen:]. == Manuelle (statische) Konfiguration == Für Benutzer, die diese Einstellungen nicht jedes Mal neu machen möchten, empfiehlt sich doch eine Bearbeitung der Konfigurationsdatei (vgl. erster Hinweis in [#Grundlagen Grundlagen]. Die folgedenden Inhalte der Konfigurationsdatei sind wiederum __Beispiele__ und müssen auf das jeweilige System bzw. die Wünsche angepasst werden. ===über xorg.conf === In der '''/etc/X11/xorg.conf''' werden in die Device-Section die Identifier der angeschlossenen Monitore eingetragen. Dabei muss jeder Monitor einem Anschluss der Grafikkarte zugewiesen werden. Die Namen dieser Anschlüsse können mit dem Befehl ``xrandr`` ermittelt werden (siehe oben). Hier ein Beispiel für ein Laptop, an das ein externer Monitor angeschlossen ist. ``LVDS`` ist der interne Anschluss bei Laptops, ``VGA`` der Anschluss für einen externen Monitor, der über einen RGB(DSUB)-Stecker angeschlossen ist. Die Identifier ``Internes Display`` und ``Externer Monitor`` können frei gewählt werden und beziehen sich auf die ``Monitor``-Sections, die so aussehen kann: {{{ Section "Device" Identifier "Meine Grafikkarte" ... Option "Monitor-LVDS" "Internes Display" Option "Monitor-VGA" "Externer Monitor" EndSection Section "Monitor" Identifier "Internes Display" EndSection Section "Monitor" Identifier "Externer Monitor" Option "RightOf" "Internes Display" EndSection Section "Screen" Identifier "Default Screen" Monitor "Internes Display" ... SubSection "Display" Virtual 3200 1200 EndSubSection EndSection }}} In den ``Monitor``-Sections lassen sich weitere Konfigurationen für die Monitore vornehmen. Einer der beiden Monitore (in diesem Fall der externe) kann so konfiguriert werden, dass er den Desktop erweitert (``RightOf`` bzw. ``LeftOf``). Eine detaillierte Beschreibung aller möglichen Parameter und Syntaxe ist unter [:Xserver:] und [http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#xorg.conf Thinkwiki.org] zu finden. Eine allgemeine Lösung im Zusammenhang mit xorg.conf werden [#Allgemeine_Probleme_mit_xorg.conf hier] kurz skizziert. === über 45custom_xrandr-settings == Seit [:Jaunty_Jackalope:Ubuntu 9.04] übernimmt XRandR die gesamte Verwaltung des X-Servers. Will man XRandR diese Kontrolle nicht wieder entziehen, aber trotzdem eine statische Konfiguration eines externen Monitors anlegen, empfiehlt es sich, ein Startskript für XRandR zu erstellen. Hierzu legt man mit [:sudo:Root]-Rechten die Datei '''/etc/X11/Xsession.d/45custom_xrandr-settings [2]''' an. Folgender Codeblock erweitert die Anzeige um einen externen Bildschirm und plaziert diesen nach Wunsch. (Dieser Codeblock kann, unter Anpassungen der Bildschirm-Bezeichnungen, übernommen werden). {{{ #Erweiterter Desktop bei X-Server Start # Hier die Bezeichner der Bildschirme eintragen EXTERNAL_OUTPUT="VGA" INTERNAL_OUTPUT="LVDS" # EXTERNAL_LOCATION kann sein: left, right, above, oder below EXTERNAL_LOCATION="right" case "$EXTERNAL_LOCATION" in left|LEFT) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; right|RIGHT) EXTERNAL_LOCATION="--right-of $INTERNAL_OUTPUT" ;; top|TOP|above|ABOVE) EXTERNAL_LOCATION="--above $INTERNAL_OUTPUT" ;; bottom|BOTTOM|below|BELOW) EXTERNAL_LOCATION="--below $INTERNAL_OUTPUT" ;; *) EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT" ;; esac xrandr |grep $EXTERNAL_OUTPUT | grep " connected " if [ $? -eq 0 ]; then xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION else xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off fi }}} {{{#!vorlage Hinweis Wer sich mit Shell-Skripten nicht auskennt, kann sich das Wissen in [http://www.google.com/search?q=shell-script+tutorial Tutorials] erarbeiten. Xsession spezifische Informationen zu Skripten findet man unter der man-page der xsession }}} Die Datei muss nicht ausführbar gemacht werden. Dies gilt für alle Dateien in ''/etc/X11/Xsession.d/''. XRandR steuert den externen Monitor automatisch korrekt an - falls dieser beim Start des X-Servers angeschlossen ist. Alle `xrandr` Befehle können vor oder nach dem obigen Code eingefügt werden und so weitere Einstellungen vorgenommen werden. Nützlich sind zum Beispiel: * falls die Schriftgrößen nicht passen (logische Platzierung: nach dem obigen Code) {{{ xrandr --dpi xxx }}} * nicht erkannte [#Auflösung_und_Frequenz Auflösungen und Frequenzen] (logische Platzierung: vor dem obigen Code) {{{ xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode DVI-0 "1024x768_60.00" xrandr --output DVI-0 --mode "1024x768_60.00" }}} Wiederum: Die Übersicht der Befehle ist unter [#Benutzung Benutzung] oder unter {{{#!vorlage Befehl xrandr --help }}} zu finden. == Statische Konfiguration für nur einen Nutzer == Man legt in seinem Homeverzeichnis die Datei '''.xprofile''' an und kann nun dieselben Befehle wie oben eintragen. == Grafische Einrichtung== Grundsätzlich ist in allen Distributionen ein GUI für das Einrichten von Bildschirmen vorhanden. Dieses findet man in den ''Systemeinstellungen'' unter ''Monitore''. Wem dieses Werkzeug nicht gefällt hat die Möglichkeit andere zu benutzen. ===GRandR / ARandR=== Mit GRandR ist die Konfiguration sehr einfach. Allerdings muss diese Einrichtung nach jedem Neustart erneut erfolgen. Es ist folgendes Paket notwendig [4]: {{{#!vorlage Paketinstallation grandr, universe }}} Teilweise funktioniert GRandR trotzdem nicht einwandfrei. Externe Monitore können beispielsweise nicht geklont, sondern nur erweiternd angeschlossen werden. Hier kann das Programm [http://christian.amsuess.com/tools/arandr/ ARandR] {en} weiterhelfen, das ebenfalls über die offiziellen Paketquellen verfügbar ist: {{{#!vorlage Paketinstallation arandr, universe }}} Aber auch hier gibt es das Problem, dass die Einstellungen mit der Abmeldung bzw. dem Herunterfahren verloren geht. Allerdings lassen sich die Einstellungen speichern und mit dem Befehl: {{{#!vorlage Befehl arandr Pfad/zur/Datei }}} wiederherstellen. Man kann das Programm daher auch via [:Autostart:] ausführen. Da beide der genannten Programme auf [:GTK:GTK+] basieren, kann man sie auch unter [:Xubuntu:] und [:Lubuntu:] verwenden (falls man die dort vorgesehenen Werkzeuge nicht nutzen mag). ===myKrandr=== {{{#!vorlage Warnung Dieses Programm ist eine frühe Entwicklerversion. }}} Für KDE gibt es das kleine Programm [http://kde-apps.org/content/show.php/MyKrandr?content=117906 myKrandr] {en} zur Einrichtung mehrerer Monitore. Wie bei GrandR muss die Einrichtung nach jedem Neustart erneut erfolgen. = Benutzung = Grundsätzlich gibt es bei xrandr zwei verschiedene Arten von Optionen: allgemeine und monitorspezifische. Letztere beziehen sich auf den Monitor, welcher durch das vorausgehende `--output DEVICE` bezeichnet ist. Dabei können mehrere monitorspezifische Optionen hintereinander geschaltet werden, ohne jedesmal den `--output` Befehl wiederholen zu müssen. Ein komplexer Befehl sieht z. B. so aus: {{{#!vorlage Befehl xrandr --output LVDS1 --auto --scale 1x1 --output VGA1 --scale 1x1 --below LVDS1 --auto }}} Die unten stehende Liste geht kurz auf die wichtigsten Befehle ein, eine vollständige Beschreibung findet sich in der [:man:]page. ||<-2 rowclass="titel"> allgemeine Kommandos || ||`-q`|| Zeige Statusinformationen (dasselbe passiert bei Aufruf ohne Parameter)|| ||`--dryrun`||Testlauf ohne Änderungen|| ||`--fb BREITExHÖHE`||Die Größe des dargestellten Screens, in Pixeln (das ist __nicht__ die Bildschirmauflösung, siehe unten)|| ||`--auto`|| xrandr aktiviert alle angeschlossenen Monitore und versucht eine Auflösung zu finden, die auf alle Monitore passt|| ||<-2 rowclass="titel"> monitorspezifische Kommandos || ||`--mode MODUS`||hier kann jetzt die Auflösung angegeben werden, meist kann auf diesen Befehl verzichtet werden weil `--auto` gute Ergebnisse erzielt|| ||`--panning BREITExHÖHE`||Es wird die Umgebung der Maus dargestellt (Die BREITExHÖHE bestimmt den Bereich in dem die Maus verfolgt wird. Hier sollte meist das gleiche wie bei `--fb` stehen).|| ||`--scale XxY`||Vergrößert den Bildschirm um die Faktoren X und Y, siehe unten|| ||`--auto`||Der Bildschirm wird mit einer automatisch gewählten Auflösung aktiviert. Wenn ein Bildschirm nicht aktiviert wird hilft es, diese Option zur Kommandozeile hinzuzufügen.|| ||`--off`||Schaltet den Bildschirm aus|| ||`--above DEVICE`||Bildschirm über Bildschirm DEVICE anordnen|| ||`--below DEVICE`||Bildschirm unter Bildschirm DEVICE anordnen|| ||`--left-of DEVICE`||Bildschirm links von Bildschirm DEVICE anordnen|| ||`--right-of DEVICE`||Bildschirm rechts von Bildschirm DEVICE anordnen|| == Ansicht skalieren (scale) oder schwenken (panning) == Hat man mehrere Monitore mit unterschiedlichen Auflösungen, stellt sich die Frage, was die einzelnen Monitore anzeigen sollen. Ein solcher Fall tritt etwa auf, wenn neben einem üblichen Monitor mit einer Auflösung von 1280x1024 ein größerer Fernseher mit HD-Auflösung von 1920x1080 als Monitor zum Einsatz kommen soll (weiterer häufiger Fall: mit einem kleinen Netbook, 800x480, wird ein größerer Beamer/Projektor, 1024x768, bedient). Man hat dann grundsätzlich drei Möglichkeiten: 1. '''Kleinster gemeinsamer Nenner''': Beide Geräte nehmen die geringere Auflösung, hier 1280x1024. Der größere Monitor kann seine Größe nicht ausnutzen. 1. '''Skalieren/scale''': Durch die Option 'scale' auf dem kleineren Monitor wird das größere Bild vom großen Monitor (hier 1920x1080) auf dem kleineren Monitor auf die niedrigere Auflösung skaliert ("zusammengestaucht") dargestellt (hier 1280x1024). Der große Monitor kann so seine volle Auflösung nutzen. Die Anzeige auf dem kleineren Monitor ist verzerrt, aber genügt meist, um einen Film zum Abspielen zu bringen oder um die Präsentations-Folien auf dem Beamer weiterzublättern. 1. '''Schwenken/panning''': Die Option 'panning' stellt den kleineren Bildschirm in eine Art "Verfolgungsmodus". Dort wird nur ein Ausschnitt der größeren Auflösung angezeigt. Die Position des Mauszeigers beeinflusst dann, auf welchen Ausschnitt des größeren Bildschirms der kleinere Monitor schwenkt. Diese Variante dürfte die am häufigsten verwendete der drei sein, da beide Monitore ihre volle Auflösung ausreizen. Falls bei alledem der sichtbare Ausschnitt ungünstig verschoben ist, kann man ihn mittels der Option `--pos XxY` verschieben, also z.B. `--pos 0x0` für die linke obere Ecke. === Skalieren/scale === Mit der Option `scale` wird das Bild vom größeren Monitor auf die geringere Auflösung des kleineren zusammengestaucht. Beispiel: Der kleinere Monitor namens "LVDS", Auflösung von 1280x1024, soll das Bild des größeren, 1920x1080, darstellen: {{{#!vorlage Befehl xrandr --output LVDS --scale 1.5x1.05 }}} Die Faktoren berechnen sich aus gewünschter Auflösung, geteilt durch die Auflösung, die im Bildschirm eingestellt ist (in diesem Fall 1920/1024=1,5 und 1080/1024=1,05). Da die beiden Faktoren (einer für die X- der andere für die Y-Achse) nicht identisch sind, wird die Anzeige in diesem Fall verzerrt. === Schwenken/panning === Mit der Option `--panning` lässt sich der kleinere Monitor in den "Verfolgungsmodus" stellen, in dem nur ein Ausschnitt der größeren Auflösung angezeigt wird. Die Position des Mauszeigers beeinflusst dann, auf welchen Ausschnitt des größeren Bildschirms der kleinere Monitor "schwenkt". Beispiel: Der kleinere Monitor namens "LVDS", Auflösung von 1280x1024, soll das Bild des größeren, 1920x1080, im panning-Modus darstellen: {{{#!vorlage Befehl xrandr --output LVDS --panning 1920x1080 }}} == Rotation / Ansicht drehen == Mit der Option `--orientation` kann die Ausrichtung der Anzeige geändert werden. Typischer Fall ist, dass man einen drehbaren Monitor hat, den man zum eBook-Lesen umgedreht hat. {{{#!vorlage Befehl xrandr --output LVDS --orientation inverted }}} Sollte die Meldung kommen, dass die Auflösung nicht unterstützt wird, muss man ggf. in der /etc/X11/xorg.conf eine Zeile "Virtual" einfügen, in der man die maximale virtuelle Auflösung hochsetzen muss: {{{ Section "Screen" Identifier "Default Screen" Device "ATI Technologies, Inc. Radeon X700 Pro (RV410)" Monitor "Externer" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080@50" "1024x768" "800x600" '''Virtual 1920 1920''' EndSubSection EndSection }}} Normalerweise errechnet der Monitor eine maximale vertikale Auflösung von (hier) 1080 Pixeln. Durch eine Drehung der Ansicht mit XRandR würde die gewünschte neue vertikale Auflösung darüber liegen. Daher muss die maximale virtuelle Auflösung hochgesetzt werden. = Probleme und Lösungen = == Allgemeine Probleme mit xorg.conf == Probleme kann eine bereits bestehende [:xorg.conf:/etc/X11/xorg.conf] bereiten. Einstellungen, die RandR selbst ermitteln kann, brauchen nicht mehr eingetragen zu werden. Beispiele: * doppelte Einträge für "Device" und "Screen" * Auflösungen (Modes) in der "Display"-Subsection * HorizSync- und VertRefresh-Einstellungen * "MonitorLayout"-Sections {{{#!vorlage Hinweis Auf jeden Fall sollte man eine Kopie der alten '''xorg.conf''' als Sicherung aufheben. }}} Falls man die '''/etc/X11/xorg.conf''' nicht von Hand anpassen will, kann man sich bis [:Jaunty:Ubuntu 9.04] mit {{{#!vorlage Befehl sudo dpkg-reconfigure -phigh xserver-xorg }}} eine neue Konfiguration erstellen lassen. Hier ein Auszug aus einer funktionierenden '''xorg.conf''' unter Verwendung einer [:Grafikkarten/ATI:ATI]-Karte: {{{Section "Device" Identifier "ATI Technologies Inc Radeon Mobility X700 (PCIE)" Driver "ati" BusID "PCI:3:0:0" EndSection Section "Monitor" Identifier "Default Display" EndSection Section "Screen" Identifier "Default Screen" Device "ATI Technologies Inc Radeon Mobility X700 (PCIE)" Monitor "Default Display" EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSection }}} == xrandr erkennt Auflösung nicht richtig== Sind keine EDID Informationen des Bildschirms verfügbar, wird dies in '''/var/log/kernel.log''' wie folgt protokolliert: {{{ [ 0.298125] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found [ 0.298127] EDD information not available. }}} Für weitere Hinweise, wie in der '''xorg.conf''' die Bildschirmparameter für horizonale und vertikale Frequenzen anzugeben sind, sollte man hier weiterlesen: [:Bildschirmauflösung#Bildwiederholraten-setzen:] Falls man einen zweiten Monitor im laufenden Betrieb anschließt, kann es passieren, dass "xrandr" nicht die richtige Auflösung erkennen kann. Das liegt daran, dass der [wikipedia:Framebuffer:], der beim Start von X initialisiert wird, nur die Größe hat, die alle in diesem Moment angeschlossenen Monitore benötigen. Hat man z.B. beim Rechnerstart nur einen Monitor mit einer maximalen Auflösung von 1024x768 angeschlossen und schließt einen zweiten Monitor mit einer maximalen Auflösung von 1280x1024 an, kann "xrandr" nur maximal eine Auflösung von 1024x768 einstellen (für beide Monitore!). Wenn man weiß, was für eine Auflösung man maximal benötigt, kann man diese in die [:xorg.conf:/etc/X11/xorg.conf] eintragen. Um eine maximale Auflösung von 2304x1792 (1024+1280 x 768x1024) anzeigen zu können, muss der Eintrag `Virtual` ergänzt werden. In der Praxis darf man auch höhere Werte verwenden - falls die Grafikkarte deswegen aussteigt, erfolgt eine entsprechende Rückmeldung. Beispiel: {{{ Section "Screen" (...) SubSection "Display" (...) Virtual 2304 2048 EndSubSection EndSection}}} Wenn vom System keine '''xorg.conf''' angelegt wurde (weil sie nicht mehr zwingend notwendig ist), dann kann man sie mit folgender Grundkonfiguration anlegen: {{{ Section "Device" Identifier "Configured Video Device" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" SubSection "Display" Virtual 1920 1200 EndSubSection EndSection }}} {{{#!vorlage Hinweis Bei bestimmten virtuellen Auflösungen läuft [:Compiz:] nicht mehr richtig und sollte dann deaktiviert werden. }}} == Rotation funktioniert nicht (Karten von NVIDIA) == Um den Bildschirm mittels "xrandr" rotieren zu können, muss in der /etc/X11/xorg.conf die Option '''RandRRotation''' aktiviert werden: {{{ Section "Device" (...) Driver "nvidia" Option "RandRRotation" "True" (...) EndSection}}} Nach einem Neustart des X-Servers kann man nun dann den Bildschirm mittels {{{#!vorlage Befehl xrandr -o Orientierung }}} rotieren. == Grandr deaktiviert Umschalttaste == Es ist möglich, dass sich die Umschalttaste [[Vorlage(Tasten, Shift)]] nicht mehr betätigen lässt, wenn man die Tastenkombinationen aktiviert (''"Hot Keys -> enable Hot Keys"''). Dann lassen sich keine Großbuchstaben und Umlaute mehr erzeugen. Oft wird vermutet, dass dieser Fehler an [:Compiz:] liegt (weil der Fehler nicht mehr auftritt, wenn dieses deaktiviert wird). Deaktiviert man jedoch die Tastenkombinationen bei "grandr", kann Compiz aktiv bleiben und es funktioniert wieder normal. == 4:3 Auflösung auf Breitbild-Laptops == 4:3 skalierte Auflösungen auf 16:9 Bildschirmen werden nicht mehr mit zwei schwarzen Bereichen rechts und links der Anzeige dargestellt, sondern werden über die verfügbare Breite gedehnt. Abhilfe schafft der Befehl: {{{#!vorlage Befehl xrandr --output LVDS1 --set "scaling mode" "Full aspect" }}} Wer dies permanent einstellen will, erstellt eine Datei '''/etc/xdg/autostart/4-3Auflösung.desktop''' mit folgendem Inhalt: {{{ [Desktop Entry] Type=Application Name=4-3Auflösung Exec=xrandr --output LVDS1 --set "scaling mode" "Full aspect" }}} Der korrekte Anzeigename (`--output xxx`) muss gegebenenfalls angepasst werden und kann über den Befehl {{{#!vorlage Befehl xrandr }}} ermittelt werden. Um die Änderungen nur für einen Benutzer auszuführen, genügt der Eintrag des Befehls in ''"System > Einstellungen > Startprogramme"''. = Links = * [http://www.intellinuxgraphics.org/dualhead.html DualHead-Einrichtung für Intel-Karten mit RandR] {en} * [http://www.thinkwiki.org/wiki/Xorg_RandR_1.2 RandR-Wiki auf thinkwiki.org] {en} * [http://wiki.debian.org/XStrikeForce/HowToRandR12 RandR-Wiki auf Debian.org] {en} * [http://www.tug.org/pracjourn/2010-1/dohmen/dohmen.pdf LaTeX/Beamer-Präsentationen mit RandR] {en} {dl} (PDF) * [post:1780754: Zwischen Notebookbildschirm und externem Monitor hin- und herwechseln] - Skript ggf. anpassen! * [https://wiki.ubuntu.com/X/Config Online-Handbuch zum XServer] {en} * [:Bildschirmauflösung:] * [:XServer:] {Übersicht} Grundlagen # tag: Multimedia, System