Externen Bildschirm im laufenden Betrieb an Notebook anstecken

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Rosenrot
Beiträge: 39
Registriert: 24.07.2017 20:24:54

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von Rosenrot » 28.11.2018 21:01:10

Ich denke inzwischen, dass die Einstellungen von Cinnamon vorgenommen werden.
Wo Cinnamon aber die Konfiguration dafür hernimmt kann ich nicht finden.
Es würde ja schon reichen diese Konfiguration entsprechend anzupassen.
Kann mir jemand in dieser Hinsicht helfen, der schon einige Erfahrung diesbezüglich hat?

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von MartinV » 29.11.2018 00:19:29

Rosenrot hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 11:16:35
Leider führen die Einstellungen im Skript, wenn es in der udev-Regel aufgerufen wird zu etwas vollkommen anderem als wenn ich es manuell aufrufe.
Rufe ich es manuell auf ist alles wie gewünscht.
Bei udev sucht er sich die irrwitzigsten Einstellungen aus. Durchaus dann auch mal mit Abwechslung.
Liegt es vielleicht daran, dass der Monitor beim abziehen nicht richtig "abgemeldet wird" und die alten Einstellungen noch gelten?
Rosenrot hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 11:16:35
Ich denke es liegt daran, dass irgendwo vom System auch noch mal Einstellungen vorgenommen werden.
Und zwar NACHDEM mein Skript aufgerufen wird.
Darauf aufbauend kommt dann halt Mist raus.
Rosenrot hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 21:01:10
Ich denke inzwischen, dass die Einstellungen von Cinnamon vorgenommen werden.
Wenn das Skript direkt aufgerufen richtig funktioniert, aber über udev seltsame und unterschiedliche Ergebnisse herauskommen, könnte es sein, daß Dein Skript und Cinnamon gleichzeitig versuchen, den neuen Monitor zu konfigurieren.
Du könntest einfach eine kleine Pause in das Skript einfügen, damit es erst nach der automatischen Konfiguration von Cinnamon die xrandr-Befehle ausführt. Ein "sleep 1" oder "sleep 2" vor dem ersten xrandr könnte schon genügen.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

Rosenrot
Beiträge: 39
Registriert: 24.07.2017 20:24:54

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von Rosenrot » 29.11.2018 13:11:23

Hi,
ich hab das gerade mal ausprobiert.
Die Änderung hat keinen Einfluss.
Ich denke es liegt wirklich daran, dass Cinnamon beginnt nachdem udev fertig ist.

Außerdem ist mir aufgefallen, dass der Sperrbildschirm falsch angezeigt wird.
Auch nachdem das Skript manuell gestartet wurde.
Beim zweiten mal manuell starten nachdem der externe Bildschirm abgezogen war ist aber alles wieder gut.

Gibt es eventuell vorgefertigte udev-Regeln für den VGA-Ausgang?

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von MartinV » 29.11.2018 16:05:19

Rosenrot hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 13:11:23
Ich denke es liegt wirklich daran, dass Cinnamon beginnt nachdem udev fertig ist.
Falls es tatsächlich daran liegt, läßt es sich vielleicht austricksen.
Die xrandr-Prozesse abkoppeln/im Hintergund laufen lassen und erst nach 5 Sekunden Verzögerung ausführen:

Code: Alles auswählen

#!/bin/bash
# Debug code, bitte #-Zeichen der nächsten Zeile entfernen.
# echo "udev Skript gestartet" > /tmp/MeinUdevSkript.out
# hier bitte deinen Benutzernamen eintragen
USER=DeinBenutzerName
# notwendige Umgebungsvariablen setzen
export DISPLAY=:0.0
export XAUTHORITY=~$USER/.Xauthority
# es ist immer eine gute Idee, in Skripten absolute Pfade zu verwenden
XRANDR=/usr/bin/xrandr

EXTERNAL_OUTPUT="VGA-0"
INTERNAL_OUTPUT="LVDS"

$XRANDR | grep $EXTERNAL_OUTPUT | grep " connected "

{
  sleep 5 # darauf warten, daß Cinnamon fertig ist
  
  if [ $? -eq 0 ]
  then
    $XRANDR --output $INTERNAL_OUTPUT --off
    $XRANDR --output $INTERNAL_OUTPUT --mode 1440x900
    $XRANDR --output $EXTERNAL_OUTPUT --same-as $INTERNAL_OUTPUT
    $XRANDR --output $EXTERNAL_OUTPUT --mode 1680x1050
    $XRANDR --output $INTERNAL_OUTPUT --panning 1680x1050
    $XRANDR --output $EXTERNAL_OUTPUT --fb 1680x1050
  else
    $XRANDR --output $EXTERNAL_OUTPUT --off
    $XRANDR --output $INTERNAL_OUTPUT --mode 1440x900
  fi
} & # im Hintergrund laufen lassen, damit Cinnamon glaubt, udev sei fertig.

# Debug code, bitte #-Zeichen der nächsten Zeile entfernen.
# echo "udev Skript beendet" >> /tmp/MeinUdevSkript.out
Es wäre auch einen Versuch wert, mal z.B. openbox statt Cinnamon zu starten und das Verhalten zu vergleichen.
Rosenrot hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 13:11:23
Gibt es eventuell vorgefertigte udev-Regeln für den VGA-Ausgang?
Ich verstehe Deine Frage nicht.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

Rosenrot
Beiträge: 39
Registriert: 24.07.2017 20:24:54

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von Rosenrot » 29.11.2018 18:36:07

Hallo,
auch das hat leider keinen Unterschied gebracht.
Langsam weiß ich echt nicht mehr.

Mit den systemeigenen udev-Regeln meine ich diese, welche in /lib/udev/rules.d liegen.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von MartinV » 01.12.2018 13:03:39

In Sachen udev weiß ich hier auch nicht weiter. :(
Vielleicht ist es das Beste, einfach einen Starter für Dein Skript in das Cinnamon-Panel zu legen.
Der Mausklick wird weniger Zeit kosten als weitere Forschung. :wink:

Edit: Es wäre noch interessant, das Verhalten mit anderen Desktops with xfce oder openbox zu vergleichen.
Wenn die Konfusion nur bei Cinnamon auftritt, könnte man in einem Cinnamon-Forum oder bei den Cinnamon-Entwicklern nachfragen.
Zuletzt geändert von MartinV am 01.12.2018 15:06:05, insgesamt 1-mal geändert.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von rendegast » 01.12.2018 13:56:15

Debiandisper?
Anzeigeumschalter für einfaches Hinzufügen und Entfernen von Anzeigegeräten

Nie mehr Kopfschmerzen kurz vor Ihrer Präsentation. Mithilfe von Disper ist es möglich Anzeigegeräte mit einem Knopfdruck hinzuzufügen oder auch zu entfernen. Disper erkennt alle momentan angeschlossenen Anzeigegeräte und konfiguriert die Ausgabe automatisch. Hierbei kann man spezifizieren ob die aktuelle Bildschirmausgabe auf weitere Anzeigegeräte geklont werden soll, oder ob der Desktop auf diese erweitert werden soll.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Rosenrot
Beiträge: 39
Registriert: 24.07.2017 20:24:54

Re: Externen Bildschirm im laufenden Betrieb an Notebook anstecken

Beitrag von Rosenrot » 07.12.2018 16:33:03

Hallo zusammen,

also ich hab jetzt die letzten Tage noch einmal ein wenig intensiver nach einer Lösung gesucht.
Da war aber nichts zu machen.
Ich habe jetzt tatsächlich den Fenstermanager gewechselt und bin auf Awesome umgestiegen.
Das erfordert zwar mehr Konfigurationsaufwand aber das ist es mir wert.

Gruß
Rosenrot

Antworten