Как запустить скрипт, который запускается до экрана входа в систему?

Как запустить скрипт, который запускается до экрана входа в систему?

Я калибровал свой сенсорный экран и увидел, что лучший инструмент — 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.

Связанный контент