Согласно этому сообщению ubuntuforums.org, новомодной поваренной книге и ответу CameronNemo, я пытался изменить первую строку с
start on login-session-start
и я переместил conf файл в /etc/init/
. Сценарий теперь работает, но он не работает. Отчеты о файле журнала Cannot connect to X server
. Я пытался добавить к сценарию
export DISPLAY=":0"
export XAUTHORITY="/home/marco/.Xauthority"
но это еще не работает. Ошибка Invalid MIT-MAGIC-COOKIE-1 key
.
Обратите внимание, что у меня нет проблемы для выполнения sudo xinput list
после входа в систему.
Я использую Lubuntu 14.04, и я хочу отключить сенсорную панель при начальной загрузке, если мышь подключена. С этой целью я создал это ~/.config/upstart/touchpad.conf
новомодное задание:
start on desktop-start
script
mouse_state_old=-1
touchpad_id="$(xinput list | grep -i touchpad | grep -oP "\bid\s*=\s*\K\d+")"
while true ; do
mouse_state="$(xinput list | grep -ci mouse)"
if [ "$mouse_state" -ne "$mouse_state_old" ] ; then
if [ "$mouse_state" -gt 0 ] ; then
killall syndaemon
xinput disable "$touchpad_id"
else
xinput enable "$touchpad_id"
syndaemon -m 100 -i 1 -k -d
fi
fi
mouse_state_old="$mouse_state"
sleep 3
done
end script
Это сдельные работы, но только после того, как я вхожу в ОС. Я хочу сенсорную панель, отключенную также, прежде чем я войду в систему в экране входа в систему.
БОЛЕЕ НЕОБХОДИМЫЙ INFOS И ПРОСТО НЕПРАВИЛЬНЫЙ: согласно поваренной книге, кажется, что lightdm не испускает корректное событие. Если я работаю вручную
/sbin/initctl -q emit login-session-start DISPLAY_MANAGER=lightdm
новомодный сценарий вызывается. Таким образом, я создал a /etc/lightdm/lightdm.conf.d/90-upstart_login.conf
файл conf с
[SeatDefaults]
greeter-setup-script=/home/marco/.local/usr/bin/all/upstart_login.sh
и /home/marco/.local/usr/bin/all/upstart_login.sh
сценарий с
#!/bin/sh
/sbin/initctl -q emit login-session-start DISPLAY_MANAGER=lightdm
Это работает, если вызвано вручную от удара, но не при начальной загрузке.
У меня есть lightdm 1.10.1-0ubuntu1 версия, таким образом, она должна испустить событие.
Вы перепутываете систему и задания сессии и события. lightdm
испускает событие очень хорошо, но к системному экземпляру Выскочки. Скопируйте Ваш ~/.config/upstart/touchpad.conf
в /etc/init/
и изменитесь start on
событие к login-session-start
.
Вместо того, чтобы использовать Upstart, вы можете попытаться поместить свой фрагмент скрипта в /etc/X11/session.d/
.
Убедитесь, что он называется 99local и что у него нет заголовка #!bin/sh
.
Он также не должен быть исполняемым.
Это обеспечит запуск вашего сценария после настройки xsession и его запуск всегда, поскольку сценарии в этом каталоге всегда запускаются при запуске X-сервера.