Отключите сенсорную панель в экране входа в систему

РЕДАКТИРОВАНИЕ (пересмотр 4)

Согласно этому сообщению 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 версия, таким образом, она должна испустить событие.

2
задан 13 April 2017 в 15:24

2 ответа

Вы перепутываете систему и задания сессии и события. lightdm испускает событие очень хорошо, но к системному экземпляру Выскочки. Скопируйте Ваш ~/.config/upstart/touchpad.conf в /etc/init/ и изменитесь start on событие к login-session-start.

1
ответ дан 2 December 2019 в 05:11

Вместо того, чтобы использовать Upstart, вы можете попытаться поместить свой фрагмент скрипта в /etc/X11/session.d/.

Убедитесь, что он называется 99local и что у него нет заголовка #!bin/sh.

Он также не должен быть исполняемым.

Это обеспечит запуск вашего сценария после настройки xsession и его запуск всегда, поскольку сценарии в этом каталоге всегда запускаются при запуске X-сервера.

0
ответ дан 2 December 2019 в 05:11

Другие вопросы по тегам:

Похожие вопросы: