시작 시 일부 터치패드 비활성화

시작 시 일부 터치패드 비활성화

수년 동안 저는 Mint가 시작되었을 때 Toshiba Z30 터치패드의 "스틱" 부분을 수동으로 비활성화해 왔습니다. 이 모델에는 마우스가 스스로 움직이는 하드웨어 문제가 있습니다.

시작 시(모든 사용자에 대해) 이 명령이 자동으로 실행되도록 여러 번 시도했지만 작동하지 않습니다.

실행 권한이 있는 스크립트를 생성했습니다.

ls -la /etc/init.d/disable-stick.sh
-rwxr-xr-x 1 root root 84 Feb 28 07:21 /etc/init.d/disable-stick.sh

그 내용은 다음과 같습니다:

$ cat /etc/init.d/disable-stick.sh

xinput disable 'AlpsPS/2 ALPS DualPoint Stick'
echo "Just ran disable stick script"

여기서는 다음과 같이 호출됩니다.

$ ls -la /etc/rc.local

-rwxr-xr-x 1 root root 345 Feb 28 07:16 /etc/rc.local

그중에는 다음이 포함됩니다.

$ cat /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/init.d/disable-stick.sh || exit 1
exit 0

나는 이것이 효과가 있어야 한다고 생각하며 많은 소스를 살펴보았습니다. 거의 작동합니다. 시작 로그에서 확인할 수 있습니다.

$ tail -n 100 /var/log/boot.log

[  OK  ] Started MySQL Community Server.
[FAILED] Failed to start Load/Save RF Kill Switch Status.
See 'systemctl status systemd-rfkill.service' for details.
[  OK  ] Started Network Manager Wait Online.
[  OK  ] Reached target Network is Online.
         Starting Docker Application Container Engine...
         Starting /etc/rc.local Compatibility...
         Starting TeamViewer remote control daemon...
         Starting LSB: disk temperature monitoring daemon...
         Starting LSB: Start NTP daemon...
         Starting LSB: VirtualBox Linux kernel module...
         Starting LSB: Starts and daemonize Glances server...
[  OK  ] Started LSB: disk temperature monitoring daemon.
[  OK  ] Started LSB: Starts and daemonize Glances server.
[   40.068428] rc.local[1373]: Unable to connect to X server
[   40.068683] rc.local[1373]: Just ran disable stick script
[  OK  ] Started /etc/rc.local Compatibility.
         Starting Hold until boot process finishes up...
         Starting Terminate Plymouth Boot Screen...
[  OK  ] Started LSB: Start NTP daemon.

"X 서버에 연결할 수 없습니다." - 정확하지 않습니다. 어떻게 작동하게 만들 수 있는지 아시나요?

고쳐 쓰다:

이 작은 스크립트는 /etc/init.d/disable-stick.sh확실히 작동합니다. 로그인 후 터미널에서 테스트했는데 마우스 움직임이 멈췄습니다. 시작 시 올바른 위치에서 실행되는지 확실하지 않습니다.

답변1

문제를 해결했는데 사용자로 로그인할 때까지 솔루션이 시작되지 않고 로그인할 때까지 마우스가 여전히 제대로 작동하지 않지만 운 좋게도 로그인 시 명령이 실행됩니다. 자동차 경보기가 울릴 때와 비슷한 안도감이다. 항상 터미널에 명령을 입력할 필요가 없다는 점도 안심입니다.

Linux mint의 GUI를 사용하여 런처에 다음과 같은 프로젝트를 추가했습니다. 리눅스 민트 런처에 프로젝트 추가

(Befehl) 명령을 사용하여 볼 수 없는 줄은 다음과 같습니다.

xinput disable 'AlpsPS/2 ALPS DualPoint Stick'

추가되면 목록에 나타납니다.

리눅스 민트 런처 메뉴에 새 항목이 포함되어 있습니다

이렇게 하면 자동 시작 폴더에 파일이 추가됩니다.

$ ls ~/.config/autostart/
blueman.desktop        hplip-systray.desktop            mintupload.desktop
Brightness.desktop     mint-ctrl-alt-backspace.desktop  mintwelcome.desktop
disable stick.desktop  mintupdate.desktop               shutter.desktop

생성된 파일의 내용은 다음 disable\ stick.desktop과 같습니다.

[Desktop Entry]
Type=Application
Exec=xinput disable 'AlpsPS/2 ALPS DualPoint Stick'
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[de_DE]=disable stick
Comment[de_DE]=switches off the trackpad at start
X-GNOME-Autostart-Delay=0

이제 프로그래밍 방식으로 이를 달성하는 데 필요한 것이 무엇인지 확인할 수 있습니다. 현재 저는 이 솔루션에 만족하지만 로그인 화면 자체 전에 실행되는지, 로그인한 다른 사용자에 대해 실행되는지 알고 싶습니다(아닌 것 같습니다).

관련 정보