1

I'd like to automatically disable the touchpad on my Thinkpad X301 after the system boots up.

I can successfully run the script manually, but when I try to execute it by any autostart method, it just won't do.

The script looks like that:

#!/bin/bash
xinput set-prop 10 "Device Enabled" 0
exit 0
  • I checked that the ID is correct with xinput list.
  • I have granted execution rights to the script.

What I've tried with no success:

  • to add it to Startup Applications in Control Center
  • put a disable_touchpad.desktop file to ~/.config/autostart with the following content:

    [Desktop Entry]
    Type=Application
    Exec=/home/username/disable_touchpad.sh
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=Disable Touchpad
    Icon=/home/username/Pictures/icon_touchpad.png
    

I also tried to put the script from my home folder to /usr/local/bin (and edit the file above accordingly), did not make any difference.

Currently I put the script to my Desktop and I manually execute it every time.

I know that there is one more way to try, which is using crontab and @reboot, but I would prefer the options above and would really like to know why these approaches don't work.

What am I doing wrong?

muru
  • 197,895
  • 55
  • 485
  • 740

1 Answers1

1

Might be ubuntu-mate startup program taking time to load(touchpad driver). you can try adding sleep into your above script.

#!/bin/bash
sleep 30
xinput set-prop 10 "Device Enabled" 0
exit 0

Please increase the sleep time if above does not work.

gaganyaan
  • 201
  • 1
  • 8
  • You're a genius! :) It did not work with 30, but I increased it to 60 and it's perfect. I added the script to startup applications and now it works like a charm. Thank you! – chris.mccoy Feb 06 '16 at 12:36