Wie kann ich die primäre Anzeige in einem Dual-Monitor-Setup automatisch austauschen?

9

Ich habe ein MacBook Pro und zwei Thunderbolt-Displays bei der Arbeit. Ich arbeite mit geschlossenem MacBook-Deckel, weil es übertrieben ist und ich sowieso nicht genug Platz auf dem Schreibtisch habe.

Jeden Morgen komme ich zur Arbeit und stecke ein Thunderbolt-Kabel und ein Netzkabel ein, aber mein primärer Bildschirm (der vordere) und der sekundäre (einer zur Seite) sind vertauscht. Ich muss zu diesem dummen Lied und Tanz in der Displays / Arrangement-Systempräferenz und es wird nervig:

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Gibt es eine Möglichkeit, dies automatisch zu tun? Mit einer Einstellung? Ein AppleScript? Gibt es einen Grund, warum die Bildschirme immer umgedreht werden?

ein bezahlter Nerd
quelle

Antworten:

3

Update: Ich glaube ich habe es verstanden.

Es gibt ein Dienstprogramm namens cscreen, mit dem Sie die Anzeigeeinstellungen steuern können. Wenn Sie es ausführen, werden alle Anzeigen angezeigt:

$ cscreen
DisplayID  Index     Depth     Width     Height  Refresh
 4249fef       1        32      2560       1440     0
 4248344       2        32      2560       1440     0
use -h to display all usage options

Sicher genug, Sie können einen von ihnen als primär erzwingen (mit Menüleiste):

$ cscreen -i 4248344 -p

Sie können den zweiten Bildschirm wie folgt als primären Bildschirm festlegen:

$ cscreen -l | perl -lane 'print $F[0] if $F[1] == 2' | xargs -I id cscreen -i id -p

Um mich an einen Schlüssel zu binden, habe ich zuerst ein AppleScript-Skript erstellt, SwapScreen.scpt:

Swapscreen

Dann habe ich QuickSilver verwendet, um das Skript an einen F13 zu binden:

Quecksilber

Wenn ich jetzt mein MacBook anschließe und die Bildschirme durcheinander sind, drücke ich einfach F13. Süss!

ein bezahlter Nerd
quelle
1
Aber die Verwendung von cscreen löst das Arrangement-Problem für mich nicht. Mein 23 "Monitor befindet sich links und mein 13" MBP rechts. Wenn Sie jedoch cscreen verwenden, wird dies umgekehrt, sodass ich den Cursor in die entgegengesetzte Richtung bewegen muss, um von einer Anzeige zur anderen zu gelangen. Selbst beim Zurückschalten (dh beim Umschalten des Bildschirms) ist die Anordnung umgekehrt. Was benötigt wird, ist eine Möglichkeit, die Anordnung programmgesteuert auf die gleiche Weise zu fixieren, wie wenn Sie eine nach links / rechts von der anderen ziehen. Das Einstellen der Anordnung im Root-Benutzer, wie von DKMN hier vorgeschlagen, hat in meinem Fall nicht funktioniert.
Applehelpwriter
Einverstanden, wäre schön, wenn der Autor (Pyehouse) Open-Source-Bildschirm, so dass andere es verbessern könnten.
Studgeek
2

War schon da, habe das gemacht, mit Mac Pro und 4 Monitoren. ; 0

Es gibt einen merkwürdigen Fehler / eine seltsame Funktion in OSX, durch die die Standardeinstellungen für die Anzeige privilegiert werden. Dieses Verhalten hat sich mit 10.9 nicht geändert, und ich glaube, es ist die Ursache für Ihr Problem. Es ist sehr schlecht dokumentiert und wird im Internet diskutiert.

Eine dauerhafte Lösung:

  1. Melden Sie sich als Root an (Sie müssen ihn vorübergehend aktivieren).

  2. Stellen Sie die Anzeigeanordnung auf das ein, was Sie möchten (wie oben gezeigt).

  3. Melden Sie sich wieder an, wie Sie möchten

Es ist nicht klar, wie der Root-Benutzer für die interaktive Anmeldung aktiviert werden soll, wenn auch nicht schwer. Hier ist der offizielle Apple-Leitfaden:

http://support.apple.com/kb/PH11331 1

Ich würde es aus Sicherheitsgründen deaktivieren, wenn es fertig ist.

DKMN
quelle
Übrigens habe ich auch eine Weile mit einer kleinen App daran gearbeitet ...
DKMN
Gibt es eine Chance, die besagte App zu teilen?
BarrettJ
1

Es sollte sich an die externen Einstellungen erinnern.

Haben Sie versucht, die Kabel hinter dem Monitor auszutauschen, um die Verbindungsreihenfolge umzukehren? Vielleicht könnte der Trick tun.

Eine sehr einfache Lösung wartet einen Monat und aktualisiert auf OS X Mavericks, wo Sie die Möglichkeit haben, die Menüleiste und das Dock auf beiden Bildschirmen anzuzeigen

Marco Pappalardo
quelle
Ja, Anzeigen wurden wiederholt getauscht. Ich zögere jedoch, ein Upgrade auf eine Null-Punkt-Version von Mac OS X durchzuführen.
Ein bezahlter Nerd
1

Mit dem von mir geschriebenen Tool displayplacer können Sie die Hauptanzeige "weißer Balken" über Skripte / Hotkeys konfigurieren.

Konfigurieren Sie Ihre Bildschirme nach Ihren Wünschen, ziehen Sie den "weißen Balken" in den MacOS-Systemeinstellungen auf Ihren primären Bildschirm und führen Sie ihn aus displayplacer list. Es wird der Befehl zum Ausführen ausgegeben, um Ihre Bildschirme in ihre aktuelle Konfiguration zu versetzen. Der Bildschirm mit origin:(0,0)ist die Hauptanzeige mit dem "weißen Balken". Führen Sie diesen Terminalbefehl über ein Skript, Automator, BetterTouchTool usw. aus.

Beispielprofil 1 platziert den weißen Balken in der Menüleiste auf dem linken Monitor. displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"

Beispielprofil 1 platziert den weißen Balken in der Menüleiste auf dem rechten Monitor. displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0"

Auch über Homebrew erhältlich brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
quelle
0

cscreen funktioniert nicht richtig, wenn Sie mehr als 2 Monitore haben, und selbst wenn dies der Fall ist, werden die Positionen Ihrer Desktop-Symbole durch das Umschalten der primären Monitore durcheinander gebracht.

Die beste Lösung, die ich kenne, ist ein Dienstprogramm namens SwitchResX ( http://www.madrau.com/ ). Es verfügt über eine Funktion namens Anzeigesätze, die sich effektiv an alles über ein bestimmtes Anzeige-Setup erinnert (einschließlich Auflösung, Ausrichtung und primärer Bildschirm). Sie können dann über die Menüleiste oder über eine Verknüpfung zu einem bestimmten Set wechseln. Es speichert die Positionen Ihrer Desktopsymbole, wenn Sie zu einem anderen Set wechseln, und setzt sie beim Wiederherstellen zurück.

Funktioniert wie ein Zauber und es wird kein AppleScript benötigt. SwitchResX bietet auch eine hervorragende Hauptfunktion: einfache Änderung der Bildschirmauflösung, selbst in Auflösungen, die normalerweise nicht in den Systemeinstellungen verfügbar sind. Es ist wichtig, wenn Sie viel präsentieren und die Auflösung auf das Projektor-Setup umstellen müssen, bei dem Sie nicht weiterkommen.

Aholub
quelle