Kann ich das Vorhandensein einer zweiten Anzeige in einem Shell-Skript oder einer Conky-Konfiguration erkennen?

1837
Amanda

Ich möchte meine Platzierung ändern, je nachdem, ob ich mit meinem Laptop auf dem Schoß arbeite (einen Bildschirm) oder ihn an meinem Schreibtisch an einen größeren Monitor (Doppelanzeige) anhängen lassen.

Das Problem ist, dass ich möchte, dass es links unten auf meinem Laptopbildschirm angezeigt wird. Bei meinem Dual-Display-Setup befindet sich die "untere linke" auf meinem externen Monitor.

Es scheint, als gäbe es zwei Lösungen:

  • Fügen Sie dem Skript, das ich zum Starten von conky (conky.sh) verwende, eine if / else-Anweisung hinzu, die abhängig von meiner Darstellungsanordnung eine andere Konfigurationsdatei startet.

  • Fügen Sie meiner conky config eine if / else-Anweisung hinzu, die je nach Anzeigeanordnung entweder die Ausrichtung oder einen Einrückungswert festlegt.

(Und ja, mir ist klar, dass zumindest die Shell-Version nur funktioniert, wenn ich beim Start von conky Dinge eingesteckt / getrennt habe. Ich kann damit leben.

Aber ... ich weiß nicht einmal, wie man eine Doppelanzeige oder einen zweiten Monitor in Bash oder Conky erkennt.

3
Hast du das jemals zum Laufen gebracht? Wenn ja, können Sie Ihre conky-Konfiguration mit anderen teilen? crypdick vor 6 Jahren 0

2 Antworten auf die Frage

3
Benc Marek

Der oben genannte Vorschlag von Nathan führt unter allen Umständen zum gleichen Ergebnis, da der xrandrBefehl Informationen zu allen Anzeigeausgängen ( verbunden / getrennt ) liefert .

Dieser Code wird funktionieren:

$ xrandr | grep -sw 'connected' | wc -l 

Hinweis: Nicht meine Idee. Ich habe gerade Nathans Vorschlag und dies zusammengeführt .

In diesem Fall benötigen Sie nicht das `-s`-Flag (oder die einfachen Anführungszeichen). Anthony Geoghegan vor 7 Jahren 0
1
Nathan Lippi

Sie können xrandr und grep verwenden, um die angeschlossenen Monitore zu erkennen. Verwenden Sie dann, wc -lum die Anzahl der zurückgegebenen Zeilen zu zählen.

Versuchen Sie dies im Terminal:

xrandr | grep connected | wc -l