[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] [:Terminal: Ein Terminal öffnen] [:Autostart: Automatischer Start von Programmen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./disper_logo.png, 64, left)]] Da es unter Ubuntu auf einem PC mit [:Grafikkarten/Nvidia:nVidia-Grafikkarte] und zweitem Monitor recht aufwändig ist, nach jedem Systemstart die Bildschirme über das nVidia-Dienstprogramm zu verwalten, wurde das Programm [http://willem.engen.nl/projects/disper/ Disper] {en} entwickelt. Es klont, erweitert oder verschiebt den Desktop auf die jeweils angeschlossenen Bildschirme. Beim Klonen wird die höchste gemeinsame Auflösung gewählt, beim Erweitern des Desktop wählt es für jeden Monitor die maximal mögliche Auflösung. Außerdem ist es möglich, den Anzeigen-Dialog von Ubuntu unter ''"System -> Einstellungen -> Bildschirmauflösung"'' weiterhin zu verwenden. Dies ist praktisch für diejenigen, die an ihr Notebook ständig verschiedene Bildschirme oder Beamer mit unterschiedlichen Auflösungen anschließen. Vor einer Präsentation entfällt das nervige Rumgefuchtel am Notebook, mit dem die Zuschauer gelangweilt werden und das zudem den Vortragenden nervös macht, wenn es mal wieder nicht klappt. Ein weiteres Anwendungsbeispiel ist ein Notebook, das bei Betrieb in der Docking-Station den Desktop immer automatisch auf den externen Monitor erweitern soll. Alles in Allem spart man sich nach einmaliger Einrichtung eine Menge (Klick-)Arbeit. {{{#!vorlage Hinweis Das Programm befindet sich noch in Entwicklung. Bekannte Probleme: * nur mit 1 bis 2 Displays getestet * TV-out funktioniert (noch) nicht * bisher nur für Nvidia-Karten geeignet und getestet * XRandR unterstützt kein Import/Export von Disper * Multi-Grafikkarten Konfiguration nicht getestet * Disper verursacht bei bestimmtem Konfigurationen auf älteren X-Servern Abstürze }}} = Installation = Das Programm ist ab [:Precise:Ubuntu 12.04] in den offiziellen Paketquellen enthalten. Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation disper, universe }}} = Bedienung = Nach der Installation können mit folgendem Befehl in einem Terminal-Fenster [3] die verfügbaren Aktionen angezeigt werden: {{{#!vorlage Befehl disper --help }}} Am einfachsten ist die Bedienung von Disper über die folgenden Kürzel: {{{#!vorlage Hinweis Von den folgenden Aktionen kann pro Ausführung nur eine verwendet werden. Darüber hinaus ist bei den Buchstabenkürzeln die Groß- und Kleinschreibung zu beachten. }}} {{{#!vorlage Tabelle <-3 tablestyle="width: 95%;" rowclass="titel"> Aktionen +++ Kürzel Erläuterung +++ `-l` `--list` Zeigt die verfügbaren Bildschirme an +++ `-s` `--single` Desktop wird nur auf den primären Monitor angezeigt +++ `-S` `--secondary` Desktop wird nur auf dem sekundären Monitor angezeigt +++ `-c` <^>`--clone` Beide Bildschirme zeigen den gleichen Inhalt. Dafür wird die größte Auflösung, die beide Anzeigegeräte unterstützen verwendet. +++ `-e` `--extend` Erweitert den Desktop auf beide Monitore +++ `-p` `--export` Exportiert die Einstellungen +++ `-i` `--import` Importiert Einstellungen }}} == Weitere Optionen == Wem die Kürzel nicht ausreichen, dem bietet Disper die Möglichkeit, detailliertere Einstellungen für die einzelnen Anzeigegeräte fest zu legen: {{{#!vorlage Tabelle erweiterte Einstellungen +++ Kürzel Erläuterung +++ `-r AUFLÖSUNG(EN)` <|2 ^>Um die gewünschte Monitor-Auflösung anzugeben. Wenn keine Auflösungen angegeben werden, verwendet Disper die Einstellungen aus '''.nvidia-setting-rc''' oder befragt die Monitore. +++ <^>`--resolution=AUFLÖSUNG(EN)` +++ `-d ANZEIGEGERÄT(E)` <|2 ^>Um die Anzeigegeräte zu benennen, mit denen Disper arbeiten soll. Wenn keine angegeben werden, verwendet Disper Einstellungen aus '''.nvidia-settings-rc''' und befragt das System nach angeschlossenen Monitoren. +++ `--displays=ANZEIGEGERÄT(E)` +++ `-t RICHTUNG` <|2 ^>Gibt an, in welcher Richtung vom Hauptbildschirm sich der zweite Bildschirm befindet. Mögliche Angaben sind `left` für links, `right` für rechts, `top` für über und `bottom` für unter dem Hauptbildschirm. Wenn kein Wert angegeben wird, verwendet Disper Einstellungen aus '''.nvidia-settings-rc'''. +++ <^>`--direction=RICHTUNG` +++ `--scaling=SKALIERUNG` Bei Verwendung von Monitoren (Fernsehern, Projektoren) mit unterschiedlicher Auflösung muss das Bild in manchen Anwendungsfällen für den Monitor skaliert werden. Zum Beispiel, wenn man ein die Anzeige vom Hauptmonitor auf einen zweiten mit unterschiedlicher Auflösung dupliziert. `--scaling` gibt an, welche Skalierungsart man wünscht. Möglich sind `default` (die System-Voreinstellung verwenden), `native` (der Monitor soll seine eingebaute Skalierung verwenden), `scaled` (Treiber und Graphikkarte sollen das Bild skalieren), `centered` (das Bild soll nicht skaliert, sondern nur zentriert werden) und `aspect-scaled` (das Bild soll vom Treiber und der Graphikkarte so skaliert werden, dass die Seitenverhältnisse beibehalten werden (gibt eventuelle schwarze Balken um das Bild)). Auch hier befragt Disper das System und verwendet Informationen aus '''.nvidia-settings-rc''', wenn man diese Option nicht angibt. }}} = Beispiele = Da die vielen Optionen und Parameter für Disper schnell verwirren können, gibt es nun ein paar Beispiele. == Disper in einem Starter nutzen == Um die Verwendung von Disper zu erleichtern, kann man sich verschiedene [:Programmstarter:] auf dem Desktop oder im Panel anlegen. Unter [:GNOME:GNOME 2] funktioniert das beispielsweise über: * [[Vorlage(Tasten, rmt)]] -> ''"Starter anlegen..."''" bzw. * [[Vorlage(Tasten, rmt)]] -> ''"Zum Panel hinzufügen... -> Benutzerdefinierter Anwendungsstarter"''. {{{#!vorlage Tabelle Starter 1 +++ '''Name''' TwinView EIN +++ '''Kommentar''' Schaltet Monitor-TwinView ein +++ '''Befehl''' disper -e +++ '''Typ''' Anwendung }}} Und einen weiteren Starter mit folgenden Eigenschaften: {{{#!vorlage Tabelle Starter 2 +++ '''Name''' TwinView AUS +++ '''Kommentar''' Schaltet Monitor-TwinView aus +++ '''Befehl''' disper -s +++ '''Typ''' Anwendung }}} Als Symbol kann beispielsweise eines der Logos verwenden, welches in der Disper-Tar-Datei enthalten ist. == Disper in einem Skript nutzen == Eine etwas komplexeres Beispiel stellt die Nutzung von Disper in einem Skript dar. Es sei folgende Beispielsituation gegeben: 1. Notebook mit LCD-Display (Auflösung: 1440x900) 1. Externer 24" FullHD-Monitor (Auflösung: 1920x1080) Zuhause soll wegen der höheren Auflösung nur am externen 24"-Monitor gearbeitet werden, unterwegs zwangsläufig nur mit dem internen Bildschirm. Mithilfe eines Skriptes, das in den Autostart [4] eingetragen wird, soll der externe Monitor automatisch beim Hochfahren erkannt und der gesamte Desktop auf den externen Monitor gezeigt werden (der interne wird deaktiviert). Wird kein externer Monitor erkannt, so bleibt alles auf beim alten. Das Beispiel-Skript sieht folgendermaßen aus [5]: {{{#!code bash #!/bin/sh disper --displays=auto -e lines=`disper -l|wc -l` display_count=$((lines / 2)) if [ $display_count = 1 ] ; then gconftool-2 \ --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \ --type integer "0" gconftool-2 \ --set "/apps/panel/toplevels/top_panel_screen0/monitor" \ --type integer "0" ## manchmal kann aufgrund einer speziellen xorg.conf die Option -s benoetigt werden ## Normalerweise ist dies nicht notwendig. disper else gconftool-2 \ --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \ --type integer "1" gconftool-2 \ --set "/apps/panel/toplevels/top_panel_screen0/monitor" \ --type integer "1" ## Hier kann man Disper anweisen, entweder den Bildschirm zu klonen (-c), zu erweitern (-e) oder ## nur den 2. Bildschirm (-S) zu nutzen. disper -Option... fi }}} Soll hingegen der primäre Monitor immer verwendet werden, sollte man das nächste Skript verwenden. Dies ist insbesondere dann sinnvoll, wenn man ein Notebook zeitweise mit externem Monitor/Beamer betreibt und das Notebookdisplay weiterhin benutzen möchte (z.B. bei Präsentationen). {{{#!code bash #!/bin/sh disper --displays=auto -e lines=`disper -l|wc -l` display_count=$((lines / 2)) if [ $display_count = 2 ] ; then gconftool-2 \ --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \ --type integer "1" gconftool-2 \ --set "/apps/panel/toplevels/top_panel_screen0/monitor" \ --type integer "1" ## Hier kann man Disper anweisen, entweder den Bildschirm zu klonen (-c), zu erweitern (-e) oder ## nur den 2. Bildschirm (-S) zu nutzen. disper -Option... fi }}} == GNOME-Extension für Disper == Für die [:GNOME_Shell:] gibt es die Erweiterung [https://extensions.gnome.org/extension/433/disper-displays/ Disper Displays] {en}, welche den Umgang mit Disper erheblich erleichert, indem sie im Panel ein Symbol zum schnellen Wechsel der Multimonitor-Konfiguration zur Verfügung stellt. = Links = * [http://willem.engen.nl/projects/disper/ Projektseite] {en} * [launchpad:disper:] {en} #tag: Hardware, Desktop, Bildschirm, Nvidia, GNOME 3