Linux Shell 脚本使用YAD工具实现Shell图形化界面

1. YAD (Yet Another Dialog)工具介绍

简介:
YAD 是 zenity 的增强分支,基于 GTK+ 的图形化工具,用于增强 Shell 脚本的交互性。它功能强大且支持多种窗口部件(如对话框、表单、进度条等),提供丰富的图形控件,适合需要复杂交互的脚本。

特点:

  • 高度灵活:支持多种控件(表格、树形视图、进度条、日历、滑块等)。
  • 脚本友好:通过命令行参数配置,与 Shell 脚本无缝集成。
  • 自定义界面:支持窗口尺寸、主题、图标等细节调整。
  • 事件驱动:可通过 –button 和 –form 处理复杂交互。

优点:

功能强大,适合复杂界面。

文档详细(man yad 或在线资源)。

缺点:

学习曲线较陡(参数较多)。

依赖 GTK+ 库。

2.Linux Debian系统安装YAD


3.以下是获取 yad 详细文档的途径及基本使用方法:

1). 查看本地文档

  • 通过 man 手册
    安装 yad 后,可直接通过终端查看其完整文档:

    若未找到手册,可能需要额外安装文档包(如 yad-doc)。

  • 命令行帮助
    运行 yad --helpyad --help-all 可查看所有支持的选项和参数列表。例如:

2). 在线文档与资源

  • 官方仓库与 Wiki
    yad 的代码托管在 GitHub,其 Wiki 页面提供了详细的使用说明和示例。
  • 社区教程
    开发者社区和博客(如 CSDN)常有 yad 的教程,可通过搜索关键词 “yad shell 图形化” 查找相关文章。

4. 基本用法示例

以下是一些常见功能的简单示例,供参考:

消息框

文件选择

表单输入

进度条


5.创建Linux Shell脚本文件test.sh,写入下面简单输入框的测试代码:

6.赋予test.sh执行权限

7.运行test.sh

如果出现下面报错:

需要安装at-spi2-core

8.再次运行test.sh,Linux Shell脚本成功实现图形化界面


9.以下是使用yad工具实现的图形化Shell脚本,用于将指定文件夹中的图片转换为PDF文件

img2pdf.sh

赋予执行权限,并运行img2pdf.sh效果如下: