나는 파티에 조금 늦었다는 것을 알고 있습니다 (또한 내 대답은 우분투 메이트에 국한 되지 는 않습니다 ).
나는 당신과 매우 비슷한 요구 사항을 가지고 있지만 데비안 9 (스트레치)에서 xfce를 실행하므로 그놈 / gsettings가 설치되어 있지 않습니다. usb-mouse를 플러그인 / 플러그 해제 할 때마다 시냅틱 터치 패드를 비활성화 / 재 활성화하기 위해 udev 규칙을 사용하여 시냅틱 터치 패드 드라이버를 바인딩 해제 / 리 바인딩하는 (posix) 쉘 스크립트를 트리거합니다.
루트로서 다음 내용으로 /usr/local/sbin/touchpadctl.sh를 작성하십시오.
#!/bin/sh
set -o errexit #(equivalent -e)
set -o nounset #(equivalent -u)
usage(){
echo "Usage: ${0} {-enable|-e|-disable|-d}"
}
if [ $# -ne 1 ]; then
usage
exit 1
fi
base_dir=/sys/bus/serio/drivers/psmouse
device_id=serio1
if [ ${1} = "-disable" -o ${1} = "-d" ]; then
logger "${0} is disabling the touchpad"
echo -n manual > $base_dir/bind_mode
echo -n $device_id > $base_dir/unbind 2>/dev/null || true
elif [ ${1} = "-enable" -o ${1} = "-e" ]; then
logger "${0} is enabling the touchpad"
echo -n auto > $base_dir/bind_mode
else
usage
exit 1
fi
터치 패드 제어 스크립트를 실행 가능하게 만드십시오.
sudo chmod +x /usr/local/sbin/touchpadctl.sh
이제 스크립트를 테스트하십시오. 터치 패드를 비활성화하려면 :
sudo /usr/local/sbin/touchpadctl.sh -d
터치 패드를 활성화하려면 :
sudo /usr/local/sbin/touchpadctl.sh -e
이것은 "드라이버 바인딩 해제"를 사용하기 때문에 X / xorg / wayland / gnome에 대한 의존성 은 없습니다 . 결과적으로 부팅 중에 올바르게 작동하는 udev 규칙에서 사용할 수 있습니다.
루트로서 다음 내용으로 /etc/udev/rules.d/01-touchpad.rules를 작성하십시오.
KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="add", \
RUN+="/usr/local/sbin/touchpadctl.sh -disable"
KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="remove", \
RUN+="/usr/local/sbin/touchpadctl.sh -enable"
리눅스의 모든 것들과 마찬가지로, 당신의 마일리지는 다를 수 있습니다-당신은 그것을 "조정"해야하지만, 이해하기 쉽도록 최선을 다했습니다. 드라이버 바인딩 / 바인딩 해제에 대한 자세한 내용 은 Linux Weekly News에서 Greg Kroah-Hartman의 2005 기사를 읽고 커널 소스 에도 유용한 정보 가 있습니다 . udev 규칙 작성에 대한 자세한 내용은 Daniel Drake의 훌륭한 자습서를 참조하십시오 .