Autor Thema: Multimonitor-Setup optimieren / Monitor per Konsole/Skript aktivieren  (Gelesen 727 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline choclin

  • Neuling
  • *
  • Beiträge: 6
  • Desktop: XFCE4
  • Grafikkarte: NVIDIA NVS 5400M
  • Grafikkartentreiber: nonfree
  • Kernel: 3.16
  • Prozessor: 4x Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
  • Skill: Durchschnitt
  • Zweig: stable
Hallo zusammen,

ich bin seit etwa einem halben Jahr Manjaro-Nutzer und sehr zufrieden damit. Es läuft auf einem Thinkpad T430, das meist in einer Dockingstation mit externen Monitoren betrieben wird. Ich habe nun zwei Standorte mit Dockingstation, wo jeweils zwei externe Monitore dran hängen. Die Auflösungen sind aber nicht identisch. Also schrieb ich mir folgendes Skript, mit dem ich einerseits Bumblebee starten und andererseits die Monitorkonfiguration für die verschiedenen Konstellationen setzen kann:
#!/bin/bash
#
# This script starts all services needed to run a multimonitor setup on the Thinkpad T430
#


case "$1" in
    "home")
        xrandr --output VIRTUAL4 --mode VIRTUAL4.640-1680x1050 --output VIRTUAL4 --pos 1280x0 --output VIRTUAL4 --primary --output VIRTUAL5 --mode VIRTUAL4.643-1280x1024 --output VIRTUAL5 --pos 0x0 --output LVDS1 --auto --output LVDS1 --pos 2960x350
        xfconf-query -c xfce4-panel -p /panels/panel-0/output-name -s VIRTUAL4
        ;;
    "office")
        xrandr --output VIRTUAL5 --pos 0x0 --output VGA1 --pos 1280x0 --output LVDS1 --pos 2560x300
        xfconf-query -c xfce4-panel -p /panels/panel-0/output-name -s VGA1
        ;;
    "mobile")
        # set panel to appear on notebook LCD
        xrandr --output LVDS1 --auto
        xfconf-query -c xfce4-panel -p /panels/panel-0/output-name -s LVDS1
        ;;
    *)
        sudo modprobe bbswitch
        sudo bumblebeed &
        sudo optirun true
        sudo intel-virtual-output
esac

Das rufe ich nach dem Login einmal ohne Parameter auf (startet Bumblebee, damit die externen per DVI angeschlossenen Monitore angesprochen werden können) und anschließend nochmal mit dem Standortparameter.

Nach dem ersten Durchgang ist weiterhin nur das Thinkpad-LCD aktiv, die externen Monitore sind noch deaktiviert. Leider schafft mein xrandr-Kommando es nicht, die Monitore zu aktivieren. Das muss ich noch händisch in Einstellungen -> Anzeige machen. Wie kann ich das direkt im Skript lösen?

Außerdem ist unschön, dass die Position des Panels offenbar über das Sitzungsende hinaus gespeichert wird. Wenn ich mich nun einlogge, ist das Panel nicht sichtbar, weil es wahrscheinlich noch VIRTUAL4 zugeordnet ist, aber nur der LCD (LVDS1) aktiv ist. Hier müsste ich wahrscheinlich noch ein Startup-Skript ergänzen, dass die Panel-Position nach dem Login erstmal auf Auto setzt.

Und noch eine letzte Frage: Ist es möglich, dass die vorhandenen Monitore erkannt werden und daraus gleich der richtige Standort abgeleitet wird? Natürlich könnte ich die Ausgabe von xrandr auch selbst parsen und das auswerten. Aber vielleicht gibt es dafür schon etwas fertiges?

Ich bin gespannt auf eure Antworten.

choclin