На этом сайте есть несколько вопросов об отключении сенсорных панелей на ноутбуках, но ни один из них, похоже, не вполне отвечает на мой вопрос.
Я хочу отключить сенсорную панель (я сделал это) и оставить ее отключенной после приостановки / возобновления (у меня не получается).
Я использую Ubuntu 12.04 на дешевом китайском ноутбуке.
У меня есть исполняемый файл / home / yannick / bin / notouch, который выглядит следующим образом:
xinput set-prop `xinput list | grep "ImPS/2 Generic" | awk '{print $7}' | sed "s/id=//"` "Device Enabled" 0
Сценарий запускает xinput один раз, чтобы получить номер идентификатора (который оказывается) моей сенсорной панели , а затем снова запускает xinput для отключения сенсорной панели. У меня есть это в моем .bashrc и в других местах.
В настоящее время, когда я приостанавливаю и затем возобновляю свой ноутбук, тачпад снова оживает, и я действительно хочу остановить это. Итак, у меня также есть файл
/etc/pm/sleep.d/97disable_touchpad (принадлежит root, + x), который выглядит так:
#!/bin/bash
case "$1" in
thaw|resume)
/home/yannick/bin/notouch 2>/tmp/notoucherrors
;;
*)
;;
esac
exit $?
И, черт возьми, это не так не работает! Действительно, сценарий запускается после возобновления, и содержимое / tmp / notoucherrors таково:
Unable to connect to X server
Unable to connect to X server
Черт, я хочу, чтобы моя сенсорная панель оставалась отключенной при переходе в спящий режим и возобновлении работы. Как мне это сделать?
Вот еще две вещи, которые я пробовал и которые я не мог заставить работать:
1) $ synclient TouchpadOff = 1
Это возвращает
Couldn't find synaptics properties. No synaptics driver loaded?
2) Системные настройки -> Мышь и сенсорная панель. У меня есть только варианты для мыши (я бы даже сказал, что Ubuntu почему-то считает, что мой тачпад - это мышь). В частности, нет возможности отключить сенсорную панель - все, что у меня есть, это настройки мыши (общие, скорость указателя, перетаскивание, тайм-аут двойного щелчка).
У меня есть частичный обходной путь, который пока подойдет - я случайно установил переменную DISPLAY и надеюсь. Работает на данный момент. Я также запускаю notouch как мой идентификатор пользователя (а не root).
Мой скрипт disable_touchpad в sleep.d теперь выглядит так:
#!/bin/bash
case "$1" in
thaw|resume)
echo "running notouch" >> /tmp/notouchlogger
export DISPLAY=:0
su -c - yannick /home/yannick/bin/notouch 2>>/tmp/notoucherrors
;;
*)
;;
esac
exit $?
и, похоже, работает.
С привилегиями root попробуйте создать файл /etc/pm/sleep.d/0000trackpad.
sudo -i gedit /etc/pm/sleep.d/0000trackpad
введите свой пароль, если требуется, после следующего кода в gedit и сохраните файл
#!/bin/sh
case "$1" in
resume)
DISPLAY=:0.0 su USER -c '/usr/bin/synclient TouchpadOff=0' ;;
esac
, выйдите и снова войдите в систему