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