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

如何让YAD对话框中的图片可点击以运行Bash脚本?

YAD对话框图片点击执行Bash脚本的解决方案

问题场景

需要实现YAD对话框中的图片点击后运行指定Bash脚本,当前尝试的命令如下:

yad --title="WeatherIcon" --image=forecaNOW.png --dclick-action="bash -c 'weatherBOX.sh'" --no-buttons

问题分析与修正方案

当前命令存在引号嵌套解析冲突、脚本路径未明确的问题,以下是可行的修正方案:

方案1:修正引号并使用相对路径(脚本在当前工作目录)

yad --title="WeatherIcon" --image=forecaNOW.png --dclick-action='bash -c "./weatherBOX.sh"' --no-buttons
  • 用单引号包裹整个--dclick-action内容,避免双引号嵌套导致的解析错误
  • 脚本前加./明确指向当前目录的目标脚本

方案2:使用绝对路径(最可靠,不受当前工作目录影响)

yad --title="WeatherIcon" --image="/home/your-user/path/to/forecaNOW.png" --dclick-action='bash -c "/home/your-user/path/to/weatherBOX.sh"' --no-buttons
  • 替换/home/your-user/path/to/为实际的图片和脚本存储路径
  • 绝对路径可彻底规避路径识别问题

方案3:直接执行脚本(需脚本已添加执行权限)

如果脚本已配置执行权限,可简化命令:

yad --title="WeatherIcon" --image=forecaNOW.png --dclick-action="/home/your-user/path/to/weatherBOX.sh" --no-buttons

必要前置操作

  • 给目标脚本添加执行权限:
chmod +x /home/your-user/path/to/weatherBOX.sh
  • 确保YAD版本支持--dclick-action参数,若版本过旧可尝试升级YAD

内容的提问来源于stack exchange,提问作者RasatPC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 09:05:02