Zenity通过一个命令将图形界面添加到shell脚本中。Shell脚本是自动化重复任务的一种很好的方法,但是它们通常局限于终端——Zenity将它们从终端带到桌面。
我们在过去介绍了shell脚本。您不必是一名程序员就可以开始使用shell脚本—它们只需要了解Linux终端命令。
默认情况下,Zenity随Ubuntu提供。如果您使用的是Ubuntu衍生产品,如Kubuntu,则可能需要使用以下命令手动安装:
sudo apt-get install zenity
Zenity是GNOME的一部分,因此它应该已经包含在使用GNOME桌面的Linux发行版中。如果没有zenity包,请检查包管理器。
你可以在终点站和泽尼蒂玩。假设您希望在shell脚本出现问题时创建一个错误窗口。下面是一个可以使用的命令示例:
zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”
运行该命令,您将看到一个包含消息的窗口。
将此命令放入shell脚本中的正确位置,您将得到图形错误消息。您还可以使用变量来包含有关错误的更多信息。
假设你想问一个“是”或“否”的问题。您可以使用如下命令:
zenity –question –title=”Query” –text=”Would you like to run the script?”
您可以在shell脚本中捕获yes或no响应,并根据用户单击的按钮执行不同的命令。
还有一个文本输入对话框:
zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”
在shell脚本中捕获用户的输入,然后可以将其存储为变量。
还有文件选择器、日历和其他类型的对话框。有关对话框类型及其选项的完整列表,请参阅Zenity的手册页。
让我们尝试使用Zenity创建一个简单的图形shell脚本。只需三个命令,我们就可以创建一个图形计时器程序:
#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.
TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.\n\n Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)
sleep $TIME
zenity –info –title=”Timer Complete” –text=”The timer is over.\n\n It has been $TIME.”
我们在使用一些额外的技巧。我们从第一个zenity命令获得时间变量的值,并将其提供给sleep命令。我们还使用/n在zenity对话框中创建新的文本行。
保存shell脚本并对其运行chmod+x命令以授予其可执行权限后,我们可以启动它。
输入持续时间,脚本将使用标准的sleep命令在后台倒计时。当sleep命令的计时器完成时,脚本将显示zenity info消息。
您可以为此脚本创建桌面或面板快捷方式,然后运行它,甚至不必触碰终端。
这只是在划伤zenity所能做的事情的表面;您可以使用它来**更复杂的程序。如果您正在寻找有关shell脚本的更多信息,请参阅我们的shell脚本中循环使用指南。
...修补补,你会喜欢shell脚本,因为总是有调整要做。关于如何使用这些模式作为其他脚本的基础的一些想法包括: ...
...bash是什么、不同的模式(交互式和非交互式)以及它是如何产生的基础知识开始,这个站点提供了一个全面的背景知识来帮助您理解命令行的机制。 ...
...示符命令(其中包含一些条件逻辑)。这对于原始任务和简单的自动化是很好的,但是当你想做一些复杂的事情时,这是一个真正的障碍。 ...
...改其目录,您可以控制他们可以访问哪些命令。下面介绍如何在Linux上设置受限shell。 受限炮弹 受限shell不是另一个shell。这是标准外壳的另一种模式。Bash、Korn、Fish和其他shell都可以在受限shell模式下启动。在本文中,我们将...
Bash不是唯一的Linux shell。很容易尝试其他的shell,比如非常流行的Zsh。找到一个您喜欢的shell后,使用chsh命令将其设置为默认shell。我们会教你怎么做。 为什么贝壳很重要 shell位于您和操作系统之间。它在终端窗口内提供环境...
Linux上有多种类型的环境变量。了解如何查看它们,为本地和远程登录创建它们,并使它们在重新启动后仍然有效。 环境变量的工作原理 启动终端窗口及其内部的shell时,会引用一组变量,以确保shell配置正确。这些变量还确...
...小又简单。 在使用Linux计算机的第一个小时内,您将学习如何使用Bash和其他shell附带的cd命令。也许您以前有在其他操作系统上使用它的经验,不需要解释。它会改变当前的工作目录,对吗?还有什么要知道的? 好吧,比你想象...