lightdm führt das Skript display-setup-script nicht aus

10

Um Probleme mit der Auflösung von zwei Monitoren zu lösen, habe ich die Ratschläge befolgt, die in anderen Fragen zum Sitzungs- und Anzeige-Setup-Skript enthalten sind. Ich habe folgendes /etc/lightdm/lightdm.conf:

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false
display-setup-script=/usr/bin/dualmon.sh
session-setup-script=/usr/bin/dualmon.sh

Ich habe auch die folgende (ausführbare) Datei /usr/bin/dualmon.sh, die ich erstellt habe:

#!/bin/bash

xrandr --output LVDS1 --auto --left-of HDMI1 --output HDMI1 --auto
# notify-send Dualscreen activated

touch /home/shade/Desktop/touched

Die Auflösung ist jedoch sowohl auf dem Anmeldebildschirm als auch nach dem Anmelden falsch. Außerdem ist die Datei / home / shadow / Desktop / touch nicht vorhanden. Wenn ich das dualmon.shSkript manuell ausführe (nachdem ich mich angemeldet habe), ist die Auflösung korrekt eingestellt.

Dies lässt mich denken, dass die Skripte überhaupt nicht ausgeführt werden. Was ist die Ursache dafür und wie kann ich das beheben?

Schatten
quelle
1
Ich sehe genau das gleiche Problem. Der Versuch, i3 unter Ubuntu 12.04.3 einzurichten, ist fast neu installiert. Wenn Sie eine Lösung gefunden haben, beantworten Sie bitte Ihre eigene Frage. :)
dfarrell07
Ich habe eine Art Lösung gefunden, bei der das Skript nur ausgeführt wird, wenn die Konfigurationsanweisung display-setup-script nicht festgelegt ist, oder so. Seitdem bin ich jedoch auf 13.04 migriert, wo ich dieses Problem anscheinend nicht habe. Oder ich hatte es, kann aber in meiner aktuellen Installation nichts finden, was damit zu tun hat. Es tut uns leid.
Schatten
Okay, danke für die Info. Bis ich etwas anderes herausgefunden habe, führe ich nach der Anmeldung nur ein xrandr-Skript aus, um meine Anzeige zu reparieren.
dfarrell07
Können Sie versuchen, die beiden Skripte zu deaktivieren und nur in das Greeter-Setup-Skript einzufügen? Überprüfen Sie auch, ob Ihr Bash-Skript wirklich ausführbar ist :)
Starry
@Starry, das Problem tritt bei einer Vanilla 13.10-Installation nicht mehr auf, sodass die Frage größtenteils nicht mehr besteht. Vielen Dank für den Vorschlag.
Schatten

Antworten:

1

Mit Ubuntu können Sie Ihr Benutzerkonto am besten auf die richtige Auflösung für Ihr Dual-Monitor-Setup bringen:

  • Löschen Sie monitors.xml aus ~ / .config /
  • Öffnen Sie die Bildschirmanzeige in den Systemeinstellungen
  • Stellen Sie die entsprechenden Bildschirmeinstellungen ein (verwenden Sie bei Bedarf vorher XRandR oder ARandR).
  • Dann der große - Hit Apply

Sie werden feststellen, dass monitors.xml neu geschrieben wird und jedes Mal, wenn Sie sich anmelden, Ihr Dual-Monitor-Setup funktioniert.

Zweitens den Login - Bildschirm zur Arbeit kommen richtig der Prozess Sie folgen müssen , ist wie diese Antwort . Der schwierige Teil besteht darin, sicherzustellen, dass Ihre Berechtigungen korrekt sind. Neben dem Festlegen der richtigen Berechtigungen für den symbolischen Link müssen Sie auch sicherstellen, dass andere Benutzer auf die Datei monitors.xml sowie auf den Ordner ~ / .config zugreifen können.

Das Schöne an diesem Setup ist, dass im Gegensatz zum Versuch, einige xrandr-Befehle brutal zu erzwingen, Ihr Anmeldebildschirm dem Beispiel folgt, wenn Sie Ihre Auflösung / Monitor-Einrichtung in Ubuntu ändern.

Damit beide oben genannten Funktionen funktionieren, müssen Sie sicherstellen, dass Sie beim Start alle Verweise auf xrandr-Befehle entfernen.

Andrew Hargrave
quelle
Ich kann das nicht zum Laufen bringen. Das Kopieren von monitors.xml ändert nichts. Haben Sie einen Hinweis für mich, wie ich das debuggen kann? Berechtigungen sind festgelegt (Benutzer kann lesen, alle Dateien und Ordner des Benutzers lightdm), ich weiß nichts über Verweise auf xrandr, lightdm-Protokolldateien geben keine Hinweise, ... Danke!
Lumbric
Der Benutzer lightdm benötigt auch Zugriff auf die Datei (und einen symbolischen Link, wenn Sie diesen Weg gehen). Das war derjenige, der mich für eine Weile reingelegt hat
Andrew Hargrave