Ubuntu Unity启动时自动执行触控板配置脚本失败求助
Ubuntu Unity启动时自动执行触控板配置脚本失败求助
我之前在Ubuntu Unity上配置开机自动设置触控板的时候也踩过类似的坑,给你几个排查和解决的方向,应该能搞定:
先检查脚本的执行权限
手动运行脚本没问题,但系统开机时可能因为脚本没有可执行权限而无法运行。打开终端执行这条命令给脚本加上权限:chmod +x ~/.config/autostart/touchpad.sh固定设备ID不可靠,换成设备名称/属性名称
你脚本里用的xinput set-prop 12 327 1中的数字ID(12)和属性编号(327、343)不是固定的——每次开机或者连接其他输入设备时,这些编号都可能变化,导致脚本执行失败。
建议换成更稳定的设备名称和属性名称:- 先运行
xinput list找到你的触控板名称,比如看起来像SynPS/2 Synaptics TouchPad这样的条目 - 再运行
xinput list-props "你的触控板名称"查看对应的属性名称,比如“Natural Scrolling Enabled”(自然滚动)、“Tap to Click”(点击触摸) - 把脚本里的命令改成类似这样:
这样不管设备ID怎么变,都能精准找到你的触控板。#!/bin/bash xinput set-prop "SynPS/2 Synaptics TouchPad" "Natural Scrolling Enabled" 1 xinput set-prop "SynPS/2 Synaptics TouchPad" "Tap to Click" 1
- 先运行
检查.desktop文件的路径和配置
确认Exec=/home/jschoete/.config/autostart/touchpad.sh里的用户名jschoete是正确的,路径没有拼写错误。另外可以尝试在Exec里加上bash的绝对路径,比如:Exec=/bin/bash /home/jschoete/.config/autostart/touchpad.sh添加延迟确保X环境就绪
有时候开机时脚本执行得太早,X窗口环境还没完全加载,导致xinput命令无法生效。可以在脚本开头加个延迟:#!/bin/bash sleep 3 # 延迟3秒,可根据实际情况调整 xinput set-prop "你的触控板名称" "Natural Scrolling Enabled" 1 xinput set-prop "你的触控板名称" "Tap to Click" 1查看启动日志找错误线索
如果上面的方法都不行,可以查看用户级的启动日志,看看脚本执行时有没有报错:journalctl --user -u touchpad.desktop日志里会告诉你具体是权限问题、命令找不到还是其他错误,方便针对性解决。
备注:内容来源于stack exchange,提问作者J. Schmidt
相关产品推荐
相关产品推荐

