搜索
首页系统教程LINUXZenity:在外壳脚本中构建GTK对话框

Zenity是一种工具,可让您使用命令行在Linux中创建图形对话框。它使用GTK ,这是​​一种用于创建图形用户界面(GUI)的工具包,使您可以轻松地将视觉元素添加到您的脚本中。

Zenity对于外壳脚本非常有用,因为它提供了一种通过对话框,文件选择器,进度条等与用户进行交互的简单方法。

在本文中,我们将深入了解Zenity的工作原理,它可以创建的对话框的类型以及如何在Shell脚本中有效使用它。

为什么要使用Zenity?

在编写Shell脚本时,通常通过终端中的文本输入/输出进行用户交互。但是,在某些情况下,您可能希望提供更具用户友好的体验,尤其是当脚本适用于可能不满意终端命令的人时。

Zenity通过允许您创建易于理解和使用的图形对话框来帮助解决此问题。

在Linux中安装Zenity

大多数现代Linux发行版都带有Zenity预安装,您可以通过在终端中键入以下命令来检查系统上的Zenity

 Zenity- version

<strong>4.0.1</strong>

如果安装了Zenity ,则此命令将显示版本号。如果未安装,则可以使用软件包管理器安装它。

 sudo apt安装Zenity [在<strong>Debian,Ubuntu和Mint</strong>上]
sudo yum安装Zenity [在<strong>Rhel/Centos/Fedora</strong>和<strong>Rocky/Almalinux</strong>上]
Sudo Emerge -a sys -apps/zenity [ <strong>Gentoo Linux</strong>上]
sudo apk添加Zenity [在<strong>Alpine Linux</strong>上]
sudo pacman -s Zenity [在<strong>Arch Linux</strong>上]
sudo zypper安装Zenity [在<strong>OpenSuse</strong>上]    
sudo pkg安装Zenity [在FreeBSD上]

Linux中Zenity的基本用法

Zenity非常易于使用,因为它通过使用各种选项从命令行中调用不同类型的对话框进行操作。每个选项对应于特定类型的对话框。

示例1:显示信息对话框

Zenity的最简单用途之一是显示一个信息对话框。

 Zenity -Info -Text =“这是一个信息对话框”

Zenity:在外壳脚本中构建GTK对话框

示例2:显示警告对话框

您还可以使用以下命令显示警告对话框:

 Zenity - -warning -Text =“这是警告消息”

Zenity:在外壳脚本中构建GTK对话框

示例3:显示问题对话框

问题对话框可用于向用户询问是/否问题。结果作为退出代码返回。

如果Zenity  -  Question -Text =“您想继续吗?”;然后
    回声“用户选择是”
别的
    Echo“用户选择否”
fi

Zenity:在外壳脚本中构建GTK对话框

示例4:显示文件选择对话框

Zenity也可以用来打开文件选择对话框,从而使用户可以从其系统中选择文件:

 file = $(zenity-文件 - 选择-title =“选择文件”)
回声“您选择:$ file”

Zenity:在外壳脚本中构建GTK对话框

示例5:显示文本输入对话框

您可以创建一个对话框,该对话框提示用户输入一些文本,这对于获取用户输入很有用。

 USER_INPUT = $(Zenity -Entry -title =“ Intup ofult ofurt ofurt”  -  Text =“输入您的名称:”)
回声“您输入:$ user_input”

Zenity:在外壳脚本中构建GTK对话框

示例6:显示密码对话框

如果要询问用户输入密码,则可以使用“密码”对话框,但是输入将隐藏在视图中:

密码= $(zenity -password -title =“输入您的密码”)
回声“输入密码:$密码”

Zenity:在外壳脚本中构建GTK对话框

示例7:显示进度栏对话框

Zenity可以显示一个进度栏,当您想指出任务正在进行中时,这很有用。

 ((
对于{1..100};做
    回声$ i
    睡眠0.1
完毕
)| zenity  -  progress  -  title =“进展任务” -Text =“请wait ...” -pecentage = 0

Zenity:在外壳脚本中构建GTK对话框

示例8:显示错误对话框

当您的脚本中出现问题时,您可以显示错误对话框:

 zenity -error -text =“发生错误!”

Zenity:在外壳脚本中构建GTK对话框

示例9:显示列表对话框

Zenity可以显示一个选项列表供用户选择:

 zenity -list -title =“选择一个选项” -COLUMN =“ options”选项1“”选项2“选项3”

Zenity:在外壳脚本中构建GTK对话框

在shell脚本中使用Zenity

可以将Zenity无缝集成到Shell脚本中,以创建更具用户友好的体验。

这是一个使用各种Zenity对话框的简单脚本的完整示例。

 #!/bin/bash

#欢迎消息
Zenity -Info -Text =“欢迎来到用户设置脚本”

#要求用户的名字
user_name = $(zenity -entry -title =“用户信息” -Text =“请输入您的名字:”)

#要求确认
如果Zenity  -  Question -Text =“您的名字$ user_name?”;然后
    Zenity -Info -Text =“谢谢,$ user_name”
别的
    Zenity -error -Text =“名称不匹配。退出脚本。”
    出口1
fi

#文件选择
file = $(zenity-文件 - 选择-title =“选择要处理的文件”)
Zenity -Info -Text =“您选择:$ file”

#显示进度
((
对于{1..100};做
    回声$ i
    睡眠0.1
完毕
)| zenity -progress -title =“处理文件” -Text =“请在我们处理文件...”时等待

Zenity -Info -Text =“过程完成!”

此脚本首先欢迎用户,然后询问他们的名字,确认名称,要求他们选择文件,并在处理文件时显示进度条。它演示了如何使用Zenity将图形接口添加到否则基于文本的脚本中。

Zenity:在外壳脚本中构建GTK对话框

Zenity的错误处理

Zenity根据用户操作返回不同的退出代码。了解这些代码有助于处理脚本中正确的错误或用户取消。

  • 退出代码0 :用户单击“确定”或选择一个选项。
  • 退出代码1 :用户单击“取消”或关闭对话框。
  • 退出代码-1 :发生了一些错误。

您可以使用这些退出代码来处理不同的用户响应:

如果Zenity  -  Question -Text =“您想继续吗?”;然后
    Echo“继续...”
别的
    回声“用户取消操作”。
    出口1
fi
结论

Zenity是在Shell脚本中创建图形对话框的非常有用的工具。无论您是构建简单的文件选择器,交互式问题对话框还是进度条,Zenity都可以通过提供用户友好的界面来增强您的脚本。

通过使用Zenity ,您可以使非技术用户更容易访问命令行应用程序和Shell脚本。

以上是Zenity:在外壳脚本中构建GTK对话框的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
对于各种任务,Linux和Windows之间的性能有何不同?对于各种任务,Linux和Windows之间的性能有何不同?May 14, 2025 am 12:03 AM

Linux在服务器和开发环境中性能优异,而Windows在桌面和游戏领域表现更好。1)Linux的文件系统在处理大量小文件时表现出色。2)Linux在高并发和高吞吐量网络场景中表现优异。3)Linux的内存管理在服务器环境中更具优势。4)Linux在执行命令行和脚本任务时效率高,而Windows在图形界面和多媒体应用上表现更好。

如何使用Pygobject在Linux中创建GUI应用程序如何使用Pygobject在Linux中创建GUI应用程序May 13, 2025 am 11:09 AM

创建图形用户界面(GUI)应用程序是使您的想法栩栩如生并使您的程序更加用户友好的绝佳方法。 PygoBject是一个Python库,允许开发人员使用Linux桌面上创建GUI应用程序

如何在Arch Linux中使用PhpMyAdmin安装灯泡如何在Arch Linux中使用PhpMyAdmin安装灯泡May 13, 2025 am 11:01 AM

Arch Linux提供了灵活的尖端系统环境,是用于在小型非关键系统上开发Web应用程序的强大解决方案,因为是一个完全开源的,并且在内核上提供了最新的最新版本

如何在Arch Linux上安装LEMP(NGINX,PHP,MARIADB)如何在Arch Linux上安装LEMP(NGINX,PHP,MARIADB)May 13, 2025 am 10:43 AM

由于其滚动释放模型,它包含了尖端软件Arch Linux的设计和开发以作为服务器运行以提供可靠的网络服务,因为它需要额外的时间进行维护,持续的升级和明智的FI

12必备Linux控制台[终端]文件管理器12必备Linux控制台[终端]文件管理器May 13, 2025 am 10:14 AM

Linux控制台文件管理器在日常任务,在本地计算机上管理文件时或连接到远程时,可能非常有帮助。目录的视觉控制台表示可以帮助我们快速执行文件/文件夹操作和SAV

Qbittorrent:强大的开源Bittorrent客户端Qbittorrent:强大的开源Bittorrent客户端May 13, 2025 am 10:12 AM

Qbittorrent是一个受欢迎的开源Bittorrent客户端,允许用户通过Internet下载和共享文件。最新版本Qbittorrent 5.0最近发行了,并带有新功能和改进。 本文将

ARCH Linux上的设置NGINX虚拟主机,PhpMyAdmin和SSLARCH Linux上的设置NGINX虚拟主机,PhpMyAdmin和SSLMay 13, 2025 am 10:03 AM

以前的Arch Linux LEMP文章仅涵盖了基本内容,从安装网络服务(NGINX,PHP,MYSQL和PHPMYADMIN)以及配置MySQL Server和PhpMyAdmin所需的最小安全性。 这个主题与形式严格有关

Zenity:在外壳脚本中构建GTK对话框Zenity:在外壳脚本中构建GTK对话框May 13, 2025 am 09:38 AM

Zenity是一种工具,可让您使用命令行在Linux中创建图形对话框。它使用GTK,这是​​一种用于创建图形用户界面(GUI)的工具包,使您可以轻松地将视觉元素添加到您的脚本中。 Zenity可能非常

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能