如何運行在登入畫面之前啟動的腳本?

如何運行在登入畫面之前啟動的腳本?

我正在校準我的觸控屏,發現最好的工具是 xinput_calibrator。所以我用了它。它有兩個選項(其中一個不起作用),所以我選擇第二個。它說我應該「在以 X 會話啟動的腳本中」執行此命令:

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

所以我嘗試了~/.xinitrc~/.xsession~/.xsessionrc,所有這些都不存在。所以我創建了它們,確切的內容就是這個命令。前兩個文件使我的登入失敗(登入後,我退回到登入畫面)。

對於最後一個文件,校準是有效的,但只有在登入後...

我需要運行該命令將顯示登入對話框。我想將此命令添加到末尾/etc/X11/xinit/xinitrc但沒有結果(沒有任何改變)。另外,我嘗試將其添加到末尾/etc/X11/Xsession.d/40x11-common_xsessionrc(在檢查了一些文件之後),但結果與將其添加到~/.xsessionrc.

如何在登入畫面顯示之前執行此命令(是在視窗管理器啟動之前,還是在 X 會話啟動之前)?

(我正在使用預設視窗管理器運行 Kubuntu,如果這很重要的話)

更新由於我使用的是 Kubuntu,所以我的顯示管理器是 kdm。正如已接受的答案所示,我編輯了該文件/etc/kde4/kdm/Xsetup,並且如上所述這裡我在預設情況下的命令之前添加了該命令。它就像一個魅力:)

答案1

您嘗試更改的所有檔案都會在您登入後~/.xinitrc讀取~/.xsession~/.xinitrc如果您從文字模式提示字元執行xinit或從文字模式提示字元讀取,則如果您從圖形登入提示字元執行「自訂工作階段」(名稱可能有所不同),則讀取。startx~/.xsession

您需要配置您的顯示管理器,顯示登入提示的程式。對於 kdm(KDE 顯示管理器),將您的命令新增至/etc/kde4/kdm/Xsetup(或/etc/kde3/kdm/Xsetup對於舊版本)(這是 Debian 上的路徑,我尚未驗證 Kubuntu 是否使用相同的路徑)。

對於 gdm(Gnome 顯示管理器),將命令新增至/etc/gdm/Init/Default.對於 xdm(傳統的 X 顯示管理器),將命令新增至/etc/X11/xdm/Xsetup.

答案2

我建議您建立自己的配置文件,一個簡單的例子:

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

文件內容:

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

這應該夠了吧。

答案3

你可以嘗試 /etc/rc.local 嗎?

答案4

當您有 OpenSUSE 時,您可以將腳本複製到 /etc/init.d 並執行 insserv script name。 insserv 啟用腳本:http://man-wiki.net/index.php/8:insserv

相關內容