You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Unity启动时自动执行触控板配置脚本失败求助

Ubuntu Unity启动时自动执行触控板配置脚本失败求助

我之前在Ubuntu Unity上配置开机自动设置触控板的时候也踩过类似的坑,给你几个排查和解决的方向,应该能搞定:

  • 先检查脚本的执行权限
    手动运行脚本没问题,但系统开机时可能因为脚本没有可执行权限而无法运行。打开终端执行这条命令给脚本加上权限:

    chmod +x ~/.config/autostart/touchpad.sh
    
  • 固定设备ID不可靠,换成设备名称/属性名称
    你脚本里用的xinput set-prop 12 327 1中的数字ID(12)和属性编号(327、343)不是固定的——每次开机或者连接其他输入设备时,这些编号都可能变化,导致脚本执行失败。
    建议换成更稳定的设备名称和属性名称:

    1. 先运行xinput list找到你的触控板名称,比如看起来像SynPS/2 Synaptics TouchPad这样的条目
    2. 再运行xinput list-props "你的触控板名称"查看对应的属性名称,比如“Natural Scrolling Enabled”(自然滚动)、“Tap to Click”(点击触摸)
    3. 把脚本里的命令改成类似这样:
      #!/bin/bash
      xinput set-prop "SynPS/2 Synaptics TouchPad" "Natural Scrolling Enabled" 1
      xinput set-prop "SynPS/2 Synaptics TouchPad" "Tap to Click" 1
      
      这样不管设备ID怎么变,都能精准找到你的触控板。
  • 检查.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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:22:46