Моя сенсорная панель настроена для регистрации касания в 3 пальца в качестве среднего щелчка с помощью
synclient TapButton3=2
Это работает хорошо, поэтому я настроил эту команду на автоматический запуск через несколько секунд после входа в систему уже несколько месяцев назад, используя графический интерфейс Startup Applications. Вот как выглядят соответствующие файлы:
$ cat .config/autostart/touchpad-settings.sh.desktop
[Desktop Entry]
Type=Application
Exec=bash -c 'sleep 7 ; /usr/local/bin/touchpad-settings.sh'
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Touchpad settings
Comment=
$ cat /usr/local/bin/touchpad-settings.sh
#! /bin/bash
synclient TapButton3=2
Так что это работало нормально все время, но, так как несколько дней или, может быть, недель назад, конфигурация сбрасывается после приостановки работы ноутбука и его повторного пробуждения. Касание тремя пальцами затем открывает переключатель окон в виде Alt kbd> + Tab kbd> вместо того, чтобы производить щелчок по среднему щелчку и запрос synclient
для этого значения настроек, снова подтверждает TapButton3=0
.
Есть идеи, что могло вызвать это? Как я могу это исправить или хотя бы автоматически перенастроить после пробуждения?
Я понятия не имею, что вызывает это, но это может быть решено быстро.
Вы можете написать скрипт и запускать его каждый раз после приостановки. Вот как это работает:
Сначала создайте скрипт, содержащий настройки сенсорной панели. Моя выглядит так:
#!/bin/bash
#=============
# touchpad.sh
#=============
# This script sets up my touchpad settings at login/after suspend
# Executed from /lib/systemd/system-sleep
# wait for a few seconds for the desktop to be set up properly first
sleep 5;
# synclient needs a server to connect to
declare -x DISPLAY=":0.0"
declare -x XAUTHORITY="/home/<YOUR USERNAME>/.Xauthority"
# enable middle click
synclient TapButton2=3
synclient TapButton3=2
# disable window switcher
synclient ClickFinger3=2
exit 0
Не забудьте вставить ИМЯ ПОЛЬЗОВАТЕЛЯ и сделать скрипт исполняемым : chmod a + x / path / to / script / touchpad.sh
Далее вы создаете скрипт, который запускает touchpad.sh после приостановки. Для Ubuntu 16 вам нужно сохранить его в каталоге /lib/systemd/system-sleep/
. Вот как выглядит мой:
#!/bin/sh
case $1 in
pre)
# Place your pre suspend commands here, or `exit 0`
# if no pre suspend action required
exit 0
;;
post)
# Place your post suspend (resume) commands here, or
# `exit 0` if no post suspend action required
/path/to/script/touchpad.sh
exit 0
;;
esac
Вам понадобятся права root для записи в /lib/systemd/system-sleep/
, и снова не забудьте сделать скрипт исполняемым с sudo chmod a+x your_wakeup_script.sh
Наконец, кредиты, где кредиты должны.