Führen Sie ein Startskript mit lightdm aus

17

Ich habe einen Tablet-PC und der Grafiktreiber unterstützt xrandr nicht. Um den Bildschirm zu drehen, führe ich ein Skript aus, das die Datei Xorg.conf ändert und dann lightdm neu startet. Ich habe auch ein Skript, das xsetwacom und xinput verwendet, um die Drehung der Eingabegeräte so zu ändern, dass sie der neuen Ausrichtung entsprechen.

Ich habe gelernt, wie das Skript ausgeführt wird, wenn ich mich anmelde, möchte aber, dass es vor der Anmeldung ausgeführt wird, damit ich die automatische Anmeldung mit lightdm nicht aktivieren muss. Ich brauche es, um zu laufen, oder die Eingabe (Touch und Stift) wird in Bezug auf den Bildschirm gedreht, sodass sich die Eingabe bei Berührung des Bildschirms in einem völlig anderen Bereich befindet, was die Verwendung der Bildschirmtastatur wirklich erschwert.

Ich habe mir andere Fragen auf dieser Site angesehen. Ich habe versucht, mein Skript in /etc/Xsession.d abzulegen, aber das schien nicht zu funktionieren. Ich habe auch versucht, es in /etc/rc.local zu schreiben, aber ich denke, das ist der falsche Ort, nichts scheint zu passieren. Ich habe auch versucht, nach Lightm-Skript-Hooks und verschiedenen anderen Google-Begriffen zu googeln.

Irgendwelche Vorschläge?

Edit 1: Nachdem ich ein paar Nachforschungen angestellt habe, scheint es mir nicht so zu sein, dass ich ein Skript mit LightDM ausführen möchte, sondern mit dem LighDM-Begrüßer (in diesem Fall denke ich, der Unity-Begrüßer?). Gibt es Script-Hooks für den Unity-Greeter?

cheshirekow
quelle

Antworten:

10

Möglicherweise möchten Sie versuchen, Skripts vor oder nach dem Start hinzuzufügen

/etc/init/lightdm.conf

( Eine Einführung in upstart zum Parsen dieser Datei finden Sie unter http://upstart.ubuntu.com/getting-started.html. )

Mit /etc/lightdm.conf können auch zu ladende Skripte angegeben werden. Sie haben eine detaillierte Beschreibung aller (vieler) Optionen, die in der Konfigurationsdatei lightdm.conf unter /usr/share/doc/lightdm/lightdm.conf verwendet werden können.

user31844
quelle
Danke für den Vorschlag, aber das scheint auch nicht zu funktionieren. Ich bin nicht hundertprozentig sicher, wie LightDM funktioniert, aber ich bin mir sicher, dass der LightDM-Prozess beim Anmelden nicht beendet wird, sondern den X-Server beim Anmelden / Abmelden neu startet. Das Hinzufügen eines Pre-Start-Skripts zu LightDM bewirkt, dass mein Skript ausgeführt wird, bevor LightDM gestartet wird, aber ich denke, dass LightDM danach x startet, sodass die Einstellungen, die ich über xinput / xsetwacom ändere, zum Zeitpunkt der Anzeige des Anmeldebildschirms nicht erhalten bleiben.
Cheshirekow
2
Nun, die Antwort ist nicht ganz richtig, aber es hat mir geholfen, die richtige Antwort zu finden. Ich denke, die LightDM-Konfiguration hat einige Skript-Hooks. Insbesondere habe ich display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh verwendet, was funktioniert hat. Ich fand die Antwort hier: askubuntu.com/questions/63681/...
cheshirekow
9

Ich möchte hinzufügen, dass "display-setup-script = / path / to / some / script" in den Abschnitt [SeatDefaults] von /etc/lightdm/lightdm.conf eingeht.

Ich verwende das Skript, um die richtige Auflösung und Bildschirmausrichtung für den Begrüßer festzulegen. Das sieht so aus:

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080
stig
quelle
1
Vielen Dank, auch bei Debian ist es im falschen [Lightdm]Abschnitt.
Alex
Gute Antwort, seine Frage beginnt wie folgt: "Ich habe einen Tablet-PC und der Grafiktreiber unterstützt xrandr nicht ...". Sie erklären also, wie Sie xrandr verwenden, um Ihren Bildschirm einzustellen.
Tele
1

Versuchen Sie, Ihr Skript ~/.xprofilewie unten beschrieben in die Datei einzufügen

#! /bin/sh
# ~/.xprofile: execute commands at the beginning of the X user
#              session - before the window manager is started.
#
# The xprofile files are natively sourced by the following
# display managers:
#
#     GDM     - /etc/gdm/Xsession
#     LightDM - /etc/lightdm/Xsession
#     LXDM    - /etc/lxdm/Xsession
#     SDDM    - /usr/share/sddm/scripts/Xsession
#
# More in https://wiki.archlinux.org/index.php/Autostarting

/usr/bin/nm-applet &
mja
quelle