Хорошо, я сделал для него правило udev, и, как сказал @terdon, это гораздо более чистый способ
Итак, благодаря этому руководству я создал «touchpad_toggle.rules», файл в /etc/udev/rules.d/ (требует доступа root) и заполнил его двумя строками:
SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/username/.Xauthority", RUN+="/home/username/on.sh"
SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/username/.Xauthority", RUN+="/home/username/off.sh"
намного более чистый путь
Содержимое этих сценариев включения и выключения оболочки - это просто кастрированная версия скрипта в моем вопросе. Пример - off.sh:
#!/bin/bash
declare -i TID
TID=`xinput list | grep -Eo 'Touchpad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput disable $TID
Вам нужно использовать xinput включить $ TID в on.sh
И не забудьте добавить скрипт в мой вопрос (или тот, который предложил @terdon, но без цикла) для автозапуска сеанса, как он сказал вам в своем ответе.
Вот и все, но я должен добавить одно:
Если у вас есть тачпад Synaptics (у меня Elantech, поэтому он не подходит для меня), вы можете заменить свои сценарии (пути, которые вы пишете после RUN + =), с помощью простой команды /usr/bin/synclient TouchpadOff=0 и 1 соответственно
Проблема заключается в вашей конфигурации:
Вероятным источником вашей проблемы является запись PRUNEFS.
PRUNEFS
Список файлов, разделенных пробелами (как используется в / etc / mtab), которые не должны сканироваться updatedb (8). Совпадение типов файловой системы не зависит от регистра. По умолчанию никакие типы файловых систем не пропускаются.
При сканировании файловой системы пропускаются все файловые системы, установленные в поддереве, даже если их тип не соответствует какой-либо записи в PRUNEFS.
Менее вероятная возможность:
PRUNEFS
Одна из строк 0, нет, 1 или да. Если PRUNE_BIND_MOUNTS равно 1 или да, привязки монтирования не сканируются updatedb (8). Все файловые системы, установленные в поддереве привязки, также пропускаются, даже если они не привязаны к привязке.
По умолчанию привязки монтирования не пропускаются.
Источники:
https: / /linux.die.net/man/5/updatedb.conf