Wie kann ich ein Skript ausführen, das vor meinem Anmeldebildschirm startet?

Wie kann ich ein Skript ausführen, das vor meinem Anmeldebildschirm startet?

Ich habe meinen Touchscreen kalibriert und festgestellt, dass das beste verfügbare Tool xinput_calibrator ist. Also habe ich es verwendet. Es gibt zwei Optionen (von denen eine nicht funktioniert hat), also bin ich hier für die zweite. Es heißt, ich soll diesen Befehl „in einem Skript ausführen, das mit Ihrer X-Sitzung beginnt“:

xinput set-int-prop "3M 3M USB Touchscreen - EX II" "Evdev Axis Calibration" 32 14410 2146 14574 2115

Also habe ich ~/.xinitrc, ~/.xsessionund ausprobiert ~/.xsessionrc, die alle nicht existierten. Also habe ich sie erstellt und der genaue Inhalt war dieser Befehl. Die ersten beiden Dateien führten dazu, dass meine Anmeldungen fehlschlugen (nach der Anmeldung falle ich auf den Anmeldebildschirm zurück).

Mit der letzten Datei funktionierte die Kalibrierung zwar, allerdings erst nach dem Einloggen...

Ich brauche diesen Befehl zum AusführenVorder Anmeldedialog wird angezeigt. Ich habe überlegt, diesen Befehl am Ende von hinzuzufügen, /etc/X11/xinit/xinitrcohne Ergebnis (es hat sich nichts geändert). Außerdem habe ich versucht, ihn am Ende von hinzuzufügen /etc/X11/Xsession.d/40x11-common_xsessionrc(nachdem ich einige der Dateien überprüft hatte), aber das Ergebnis war genau dasselbe, als wenn ich ihn an hinzugefügt hätte ~/.xsessionrc.

Wie kann ich diesen Befehl ausführen, bevor der Anmeldebildschirm angezeigt wird (ist das vor dem Start des Fenstermanagers oder vor dem Start der X-Sitzung)?

(Ich verwende Kubuntu mit dem Standard-Fenstermanager, falls das wichtig ist)

AKTUALISIERENDa ich Kubuntu verwende, ist mein Display-Manager kdm. Wie die akzeptierte Antwort vermuten lässt, habe ich die Datei bearbeitet /etc/kde4/kdm/Xsetupund wie erwähntHierIch habe den Befehl vor dem standardmäßig vorhandenen Befehl hinzugefügt. Und es funktioniert wunderbar :)

Antwort1

Alle Dateien, die Sie zu ändern versucht haben, werden nach der Anmeldung gelesen. Darüber hinaus sind ~/.xinitrcund ~/.xsessionder vollständige Befehlssatz, der in einer Sitzung ausgeführt wird; ~/.xinitrcwird gelesen, wenn Sie ausführen xinitoder startxvon einer Eingabeaufforderung im Textmodus aus, und ~/.xsessionwird gelesen, wenn Sie eine „benutzerdefinierte Sitzung“ (der Name kann variieren) von einer grafischen Anmeldeaufforderung aus ausführen.

Sie müssen IhreBildschirm Manager, das Programm, das die Anmeldeaufforderung anzeigt. Für kdm, den KDE-Displaymanager, fügen Sie Ihren Befehl zu /etc/kde4/kdm/Xsetup(oder /etc/kde3/kdm/Xsetupfür ältere Versionen) hinzu (das ist der Pfad unter Debian, ich habe nicht überprüft, ob Kubuntu denselben Pfad verwendet).

Für gdm (den Gnome-Display-Manager) fügen Sie Ihren Befehl zu hinzu /etc/gdm/Init/Default. Für xdm (den herkömmlichen X-Display-Manager) fügen Sie Ihren Befehl zu hinzu /etc/X11/xdm/Xsetup.

Antwort2

Ich schlage vor, dass Sie Ihre eigene Konfigurationsdatei erstellen. Ein einfaches Beispiel:

/usr/lib/X11/xorg.conf.d/20-calibration.conf

Dateiinhalt:

Section "InputClass"
         Identifier "Calibration"
         MatchProduct "3M 3M USB Touchscreen - EX II"
         Option "Calibration" "14410 2146 14574 2115"
EndSection

Das sollte genügen.

Antwort3

Sie könnten es mit /etc/rc.local versuchen?

.

Antwort4

Wenn Sie OpenSUSE haben, können Sie Ihr Skript nach /etc/init.d kopieren und insserv script name ausführen. insserv aktiviert ein Skript:http://man-wiki.net/index.php/8:insserv.

verwandte Informationen