GNU Linux的操作系统建立在非常强大的内核称为Linux。 Linux以其命令行操作而闻名。 随着Linux在日常和桌面计算中的发明,nix保持不再偏向命令行,它同样是图形化和开发图形应用程序保持不再是一个困难的任务。
Zenity显示图形框
在这里,在这篇文章中,我们将讨论创建和使用名为“ 的zenity”GTK +应用程序简单的图形对话框中执行。
Zenity是什么?
的zenity是一个开源和显示GTK +对话框的命令行和使用shell脚本一个跨平台的应用程序。 它允许在图形框中向/从shell请求和呈现信息。 该应用程序允许您在命令行中创建图形对话框,并使用户和shell之间的交互非常容易。
还有其他的替代品,但没有比较的zenity的简单,特别是当你不需要复杂的编程。 Zenity,一个工具,你必须有你的手。
Zenity特性
- FOSS软件
- 跨平台应用程序
- 允许GTK +对话框执行
- 命令行工具
- 在Shell脚本中的支持
用处
- 轻松创建GUI
- 比其他复杂工具更少的功能
- 使shell脚本能够与GUI用户交互
- 对于图形用户交互,可以进行简单的对话创建
由于的zenity适用于所有已知的主要平台,并基于GTK +库的zenity程序可以从其他平台移植到/。
在Linux中安装Zenity
Zentity默认安装或者在今天大多数的标准Linux发行库可用。 您可以通过执行以下命令检查是否安装到您的机器上。
ravisaive@youcl:~$ zenity --version 3.8.0
ravisaive@youcl:~$ whereis zenity zenity: /usr/bin/zenity /usr/bin/X11/zenity /usr/share/zenity /usr/share/man/man1/zenity.1.gz
如果它没有安装,您可以使用如下公寓或Yum命令进行安装。
ravisaive@youcl:~$ sudo apt-get install zenity [on Debian based systems] root@youcl:~# yum install zenity [on RedHat based systems]
此外,您还可以从源文件建立它,使用下面的链接下载最新的zenity源代码包(即当前版本3.8)。
Zenity基本对话框
一些的zenity的基本对话框,它可以直接在命令行调用的。
1.快速日历对话框怎么样?
root@youcl:~# zenity --calendar
日历对话框
2.错误对话框
root@youcl:~# zenity --error
错误对话框
3.一般文本输入对话框
root@youcl:~# zenity --entry
条目对话框
4.信息对话框
root@youcl:~# zenity --info
信息对话框
5.问题对话框
root@youcl:~# zenity --question
问题框
6.进度栏
root@youcl:~# zenity --progress
进度条
7.缩放对话框
root@youcl:~# zenity --scale
缩放框
8.密码对话框
root@youcl:~# zenity --password
密码框
9.窗体对话框
root@youcl:~# zenity --forms
形式
关于对话
root@youcl:~# zenity --about
关于Zenity
创建Shell脚本对话框
现在,我们将使用要讨论的zenity对话框创建简单的shell脚本在这里。 虽然我们可以通过执行创建一个对话框的zenity直接从shell命令(象我们上面那样),但是我们不能为了获得一些有意义的结果链接两个对话框。
如果一个交互式对话框从你的输入,并显示结果。
#!/bin/bash first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry) zenity --info --title="Welcome" --text="Mr./Ms. $first" last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry) zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"
将它保存到“anything.sh”(常规),不要忘记使其可执行。 坐落于anything.sh文件755权限并运行该脚本。
root@youcl:~# chmod 755 anything.sh root@youcl:~# sh anything.sh
输入您的名字
欢迎对话框
输入您的姓氏
欢迎消息
关于脚本描述
传统shebang aka hashbang
#!/bin/bash
在下面的行中,“first”是一个变量,变量的值在运行时是Generated。
- '-entry“指的zenity被要求生成一个文本输入框。
- ' -标题='定义生成的文本框的标题。
- “-text ='定义了可在文本输入框中的文本。
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)
以下脚本文件的这一行用于生成信息(-info)对话框,标题为“欢迎”和文本“Mr./Ms.first”
zenity --info --title="Welcome" --text="Mr./Ms. $first"
脚本的这一行类似于脚本的行号二,除了这里定义了一个新变量“last”。
last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)
脚本的最后一行再次类似于脚本的第三行,它生成信息对话框,其中包含变量'$ first'和'$ last'。
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"
有关如何创建一个使用shell脚本自定义对话框的更多信息,请访问下面的参考页的zenity。
在接下来的文章中,我们将与GUI用户的交互更加shell脚本整合的zenity。 直到那时敬请关注,并连接到youcl。 不要忘记在评论部分给你宝贵的反馈。