JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Hallo, da grafische Tools (wie grandr) zum Wechseln vom Notebookbildschirm zu einem externen Monitor bei mir nicht richtig funktionieren würde ich das gerne mit einem kleinen Skript und xrandr realisieren. Im Moment habe ich dafür 2 Skripte: Monitor an:
| xrandr --output VGA --mode 1280x1024 || xrandr --output VGA --auto # externer Monitor an
xrandr --output LVDS --off # Notebookbildschirm aus
|
Monitor aus:
| xrandr --output LVDS --auto # Notebookbildschirm an
xrandr --output VGA --off # externer Monitor aus
|
Schöner wäre jedoch 1 Skript für beides. Habt ihr eine Idee, wie man das machen könnte? Ich habe mir gedacht, dass man prüfen könnte, ob bereits ein externer Monitor aktiviert ist (wenn ja: Monitor deaktivieren; bei nein: Monitor aktivieren). Aber ich weiß nicht, wie man das abfragen könnte. Mit Optionen möchte ich übrigens nicht so gerne arbeiten. Vielen Dank schon einmal im Voraus für eure Anregungen! Gruß JaiBee
|
ubuntufreak07
Anmeldungsdatum: 26. Dezember 2007
Beiträge: Zähle...
Wohnort: Berlin
|
Naja, du kannst ja einfach vorher den aktuellen Zustand prüfen:
| cmd=$(xrandr | grep -i "VGA connected")
if [ "$cmd" ]; then
#Kommandos, wenn externer Monitor benutzt wird
else
#Kommandos, wenn Notebookbildschirm benutzt wird
fi
|
|
JaiBee
(Themenstarter)
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Oh, so simpel... da hätte ich auch selbst drauf kommen können 😬. Natürlich trotzdem vielen Dank 😉 $cmd musste ich noch etwas abändern, da sich sonst der externe Monitor nur "blind" deaktivieren ließe (man müsste zuvor das Monitorkabel abziehen → kein Bild).
| #!/bin/bash
OUT1="VGA" # Monitorausgang, (meist VGA o. VGA-0) siehe `xrandr -q`
OUT2="LVDS" # Ausgang Notebookbildschirm (meist LVDS), siehe `xrandr -q`
if xrandr | grep -i "$OUT1 connected ("; then # wenn VGA angeschlossen, aber deaktiviert ist
echo "Aktiviere externen Monitor"
xrandr --output $OUT1 --auto --output $OUT2 --off # externer Monitor an / Notebookbildschirm aus
else
echo "Deaktiviere externen Monitor"
xrandr --output $OUT2 --auto --output $OUT1 --off # Notebookbildschirm an / externer Monitor aus
fi
|
Gruß JaiBee EDIT: Habe das Skript leicht verändert, damit man es auch in anderen Kombinationen verwenden kann. Tipp: GNOME Tastenkürzel (Abschnitt „Benutzerdefinierte-Aktionen“).
|
klemi
Anmeldungsdatum: 6. September 2006
Beiträge: Zähle...
|
Hallo JaiBee, darf ich erfahren, welche Grafikkarte du hast und welchen Treiber du installiert hast. Ich mache auch schon seit geraumer Zeit rum mit einem externen Monitor (HP LP2475w) an einem LG Laptop mit nvida 9800 Grafik. Danke für eine Rückmeldung! Gruß Klemi
|
JaiBee
(Themenstarter)
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
klemi schrieb: Hallo JaiBee, darf ich erfahren, welche Grafikkarte du hast und welchen Treiber du installiert hast. Ich mache auch schon seit geraumer Zeit rum mit einem externen Monitor (HP LP2475w) an einem LG Laptop mit nvida 9800 Grafik.
Ich habe ein Samsung NC10 mit folgender OnBoard-Karte: ~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) Bei meinem Netbook brauche ich das Skript seit Ubuntu 9.04 gar nicht mehr. Dir noch viel Erfolg! Gruß JaiBee
|
HW71
Anmeldungsdatum: 8. März 2008
Beiträge: 38
Wohnort: Nähe "Mainhatten" :o)
|
JaiBee schrieb: Oh, so simpel... da hätte ich auch selbst drauf kommen können 😬. Natürlich trotzdem vielen Dank 😉
Hallo zusammen, muss mich hier auch nochmal einklinken: wie hat das bei Dir mit den Gnome-Panels funktioniert? So wie man erwarten würde, also: wenn ext. Monitor angeschlossen und LVDS deaktiviert - war dann das Panel mit den Menus ("Anwendungen", "Orte" und "System" incl. Benachrichtigungs-Area etc) auch auf dem ext. Monitor sichtbar - oder war das dann "weg" (weil es eigentlich nach wie vor auf dem internen Display angezeigt wird)? Ich hab irgendwo mal was gelesen, dass Gnome Probleme hat, die Panels auf andere Displays zu switchen... Hintergrund der Frage:
bei meiner Schwägerin habe ich das Problem, dass sobald der Laptop in der Dockingstation steckt, sollte ein externer Monitor der Hauptbildschirm sein. Ich habe es zwar soweit hinbekommen, dass der ext. Monitor als "Erweiterung" nutzbar war, aber der interne LCD des Laptops immer der Hauptbildschirm blieb.
Wenn man also neue Anwendungen starten wollte, musste man erst den Kopf verrenken, um auf den internen LCD zu schielen, dann dort im "Anwendungen" Menu klicken und anschließend das sich öffnende Fenster "rüberziehen" auf den großen externen Monitor, was auf die Dauer umständlich ist. ☹ Da sie im "angedockten" Zustand auf das interne Display verzichten könnte, wäre diese Lösung mit dem Script eigentlich ideal - vorausgesetzt das mit den Panels funktioniert "richtig" ☺ Danke im voraus & Gruß, H.W.
|
HW71
Anmeldungsdatum: 8. März 2008
Beiträge: 38
Wohnort: Nähe "Mainhatten" :o)
|
Nachtrag zu meinem vorhergehenden Post: Laptop-Bildschirm und ext. TFT hatten unterschiedliche Auflösungen, weshalb es zusätzlich Probleme gab (Klonen des Displays führte zu abgeschnittenen Panels). Ich konnte das Script mittlerweile direkt am Laptop ausprobieren und es hat wie erwartet funktioniert, d.h. wenn der Laptop auf der Dockingstation sitzt und Ubuntu hochgefahren wird, so wird der externe TFT (mit der richtigen Auflösung) benutzt und umgekehrt.
Ich musste lediglich die Funktion abschalten, dass beim Zuklappen des internen Bildschirms das Bild abgedunkelt wird, denn das hat auch den externen TFT abgedunkelt... Danke nochmal für das Script & Gruß, H.W.
|
JaiBee
(Themenstarter)
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Hallo HW71, sorry, ich hatte deine Beiträge übersehen. Übrigens hatte ich das Skript nicht ins Panel integriert, sondern mit einer Tastenkombination belegt (GNOME Tastenkürzel (Abschnitt „Benutzerdefinierte-Aktionen“)) und damit geswitcht. Schön, dass es bei dir jetzt funktioniert. Viele Grüße JaiBee
|
fatlip
Anmeldungsdatum: 17. April 2008
Beiträge: 15
|
Hallo, ich packe den Thread noch mal aus, mit einer kurzen Frage: Wo habt ihr das Skript hingepackt, damit es beim Start automatisch ausgeführt wird? Der Grund, warum ich frage erschließt sich aus diesem Thread: Autostartskript startet nicht Gruß David
|
JaiBee
(Themenstarter)
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Es muss nicht beim Anmelden starten. Du kannst dir einen Speicherort aussuchen. Muss jetzt aber los, Gruß
|
HW71
Anmeldungsdatum: 8. März 2008
Beiträge: 38
Wohnort: Nähe "Mainhatten" :o)
|
fatlip schrieb: Wo habt ihr das Skript hingepackt, damit es beim Start automatisch ausgeführt wird?
Hi David, also ich würde ja vorschlagen, dass Du zuerst mal eine paar Kontrollausgaben in das Script mit einbaust, damit man sieht, ob das ganze überhaupt korrekt aufgerufen wird. Bin leider selbst kein Experte in Sachen scripten, aber da gibt es doch sicher einfache Möglichkeiten, irgendwas in's Systemlog zu schreiben, z.B. ganz am Anfang des Scripts und dann in den jeweiligen case- und if / else Branches. Auf diese Weise könnten wir doch zumindest die Sache mal ein wenig eingrenzen ⇒ wenn gar nix im Logfile erscheint, gibt's ein prinzipielles Problem beim Aufruf. Aber zu Deiner eigentlichen Frage:
Ich komme aktuell leider nicht auf den Rechner von meiner Schwägerin, deshalb kann ich nicht sagen, wo ich das Teil seinerzeit eingebaut hatte, aber ich meine, es wäre die von Dir bereits erwähnte /etc/rc.local gewesen, aber ich schau morgen gerne nochmal nach. Gruß & viel Erfolg! ☺
|
Deichscheich
Anmeldungsdatum: 28. Februar 2008
Beiträge: 18
|
Yeah, vielen dank, das Script funktioniert super! Ich schalte damit von meinem Notebook-Screen zum externen Monitor im Portrait-Modus. Dabei muss ich cairo-dock einmal neu starten, damit es sich wieder am unteren Bildschirmrand positioniert. So sieht es bei mir aus: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | #!/bin/bash
OUT1="VGA1" # Monitorausgang, (meist VGA o. VGA-0) siehe `xrandr -q`
OUT2="LVDS1" # Ausgang Notebookbildschirm (meist LVDS), siehe `xrandr -q`
if xrandr | grep -i "$OUT1 connected ("; then # wenn VGA angeschlossen, aber deaktiviert ist
echo "Aktiviere externen Monitor"
xrandr --output $OUT1 --auto --rotate left --output $OUT2 --off # externer Monitor an / Notebookbildschirm aus
kill -15 $(pgrep cairo-dock$) # cairo-dock beenden
cairo-dock -o # cairo neu starten, OpenGL erzwingen
else
echo "Deaktiviere externen Monitor"
xrandr --output $OUT2 --auto --output $OUT1 --off # Notebookbildschirm an / externer Monitor aus
kill -15 $(pgrep cairo-dock$) # cairo-dock beenden
cairo-dock -o # cairo neu starten, OpenGL erzwingen
fi
|
|
Fozzybaer
Anmeldungsdatum: 29. Juni 2010
Beiträge: Zähle...
|
Hallo,
ich muss mich hier jetzt auch mal einklinken....
Mein Problem: Ich habe einen HTPC mit einem internen TFT via VGA und einem externen TFT-Fernseher via HDMI. Als Treiber nutze ich nouveau. Das Umschalten via xrandr funktioniert prima.
Nun möchte ich, dass nach dem Booten und angeschaltetem Fernseher der interne TFT deaktiviert wird bzw. bei abgeschaltetem Fernseher der interne TFT aktiviert wird. Nur wie stelle ich fest, ob der Fernseher an- oder abgeschaltet ist ?
Xrandr liefert bei aktivem und deaktiviertem Fernseher immer das Selbe, d.h. immer "DVI-D-1 connected". Für Xrandr ist also nur entscheidend, ob der HDMI Anschluß im Fernseher steckt, und nicht ob das Gerät auch eingeschaltet ist.
Gibt es eine Möglichkeit, zu prüfen ob das Gerät an ist? #
Und wenn ja, gibt es eine Möglichkeit, dass der interne TFT auch nach dem Booten automatisch an- bzw. Ausgeschaltet wird, je nachdem ob der Fernseher an- oder abgeschaltet wird (per Script, welches irgendwie per Event angetriggert wird)?
Es wäre schön, wenn mir jemand helfen könnte.
|
warakurna
Anmeldungsdatum: 5. Februar 2008
Beiträge: 133
|
Hej! Auch wenn der Thread schon etwas älter ist, muss ich nochmal nachfragen...
Ich habe mir gerade erst ein externes LCD für meinen EeePC 1201N zugelegt. Soweit läuft alles via nvidia-settings super, aber ist doch sehr mühsam. Hat jemand Erfahrung mit dem hier beschriebenen Skript bei nvidia ION Chipsätzen? Gibt es da bekannte Probleme?
Ich werde heute abend auf jeden Fall testen, ob das funktioniert. Eine bessere Methode habe ich bislang noch nicht finden können. Schöne Grüße,
Jan
|
marsei85
Anmeldungsdatum: 3. November 2015
Beiträge: 148
|
Für Laptop mit angeschlossenem Grundig 22' Fernseher (braucht spezielle Auflösung): 1
2
3
4
5
6
7
8
9
10
11
12
13
14 | #!/bin/bash
OUT1="eDP1" # Monitorausgang, (meist VGA o. VGA-0) siehe `xrandr -q`
OUT2="HDMI1" # Ausgang Notebookbildschirm (meist LVDS), siehe `xrandr -q`
xrandr --newmode "1856x1050_60.00" 162.00 1856 1976 2168 2480 1050 1053 1063 1089 -hsync +vsync
xrandr --addmode HDMI1 "1856x1050_60.00"
if xrandr | grep -i "$OUT2 connected ("; then # wenn VGA angeschlossen, aber deaktiviert ist
echo "Aktiviere externen Monitor"
xrandr --output $OUT1 --auto --left-of $OUT2 --output $OUT2 --mode "1856x1050_60.00"
else
echo "Deaktiviere externen Monitor"
xrandr --output $OUT1 --auto --output $OUT2 --off # Notebookbildschirm an / externer Monitor aus
fi
|
Korrekter Modus sollte mit
überprüft werden!
|