Zenity可以创建下列类型的简单对话框:
-
日历
-
文件选择框
-
列表框
-
提示图标
-
消息框
-
进度框
-
文本框
-
文本信息框
在您写脚本时,可以使用Zenity创建简单的交互式对话框,例如:
-
您可以创建从用户那儿获得信息的对话框。例如,您可以提示用户从日历对话框中选择日期,或者从文件选择框里选择一个文件。
-
您可以创建向用户提供信息的对话框。例如,您可以用进度条来显示一个操作的当前运行状态,或者用一个警告框提醒用户。
当用户关闭了对话框,Zenity将输出对话框操作的文本到显示器。
当您写了Zenity命令,确保每个参数用双引号括起来。
例如,使用 :
zenity
--calendar --title="假期安排"
不要用:
zenity
--calendar --title=假期安排
如果您没有使用双引号,可能会产生不可预料的结果。
访问键允许您用键盘来执行一个操作,而不是用鼠标点击菜单命令或对话框按钮。每个访问键有一个标识符,是一个在菜单或对话框选项上的带下划线的字母。
一些Zenity对话框支持使用访问键,要指定一个字符用于访问键,在对话框的文本字符前面加一个下划线,下面的例子是如何让字母“C”作为访问键:
"选择(_C)".
Zenity返回以下退出代码:
退出代码
描述
0
|
用户按了确定或关闭。
|
1
|
用户按了取消,或者点了窗口关闭按钮。
|
-1
|
发生了一个有异常。
|
5
|
对话框因超时而关闭。
|
所有Zenity对话框支持以下常规选项:
--title=标题
指定对话框的标题。
--window-icon=图标路径
指定显示在窗口框架上的图标,有四个图标也可以用下列关键字 - 'info', 'warning', 'question' 和 'error'。
--width=宽度
指定对话框的宽度。
--height=高度
指定对话框的高度。
--timeout=超时
指定超出时间(秒)后对话框自动关闭。
Zenity提供以下帮助选项:
--help
显示简短的帮助文本。
--help-all
显示所有对话框的完整帮助。
--help-general
显示常规对话框选项的帮助文本。
--help-calendar
显示日历对话框选项的帮助文本。
--help-entry
显示文本输入框选项的帮助文本。
--help-error
显示错误框选项的帮助文本。
--help-info
显示信息框选项的帮助文本。
--help-file-selection
显示文件打开框选项的帮助文本。
--help-list
显示列表框选项的帮助文本。
--help-notification
显示提示框选项的帮助文本。
--help-progress
显示进度框选项的帮助文本。
--help-question
显示询问框选项的帮助文本。
--help-warning
显示警告框选项的帮助文本。
--help-text-info
显示信息框选项的帮助文本。
--help-misc
显示其他杂项的帮助文本。
--help-gtk
显示 GTK+ 选项的帮助文本。
Zenity也提供了其他的选项:
--about
显示关于 Zenity对话框,包含Zenity版本信息、版权入信息和开发信息。
--version
显示Zenity的版本号。
Zenity支持标准的 GTK+ 选项,更多 GTK+ 选项的相关信息,请输入zenity
-?命令。
通常,Zenity会检测启动它的终端窗口,并保持在它之上。这个行为也可以通过不设置WINDOWID环境变量来禁用。
使用--calendar选项来创建日历对话框。Zenity返回选定的日期,并把它输出到显示器,如果没有在命令行指定日期,就使用当前系统日期。
日历对话框支持以下选项:
--text=文本
指定日历对话框里显示的文本。
--day=日
指定日历对话框中的天数,day必须是介于 1~31 之间的数字。
--month=月
指定日历对话框中的月份,month必须是介于 1~12 之间的数字。
--year=年
指定日历对话框中的年份。
--date-format=日期格式
指定选定的日期返回时的样式,默认的格式取决于您的区域设置,日期格式必须可以被strftime函数接受,例如%A
%d/%m/%y。
下面的脚本示范了如何创建一个日历对话框:
#!/bin/sh if zenity --calendar \ --title="选择日期" \ --text="通过点击选择日期。" \ --day=10 --month=8 --year=2004 then echo $? else echo "没有选择日期" fi
使用--file-selection选项创建一个文件选择对话框,Zenity在标准输出返回选中的文件或目录。默认的文件选择对话框模式是打开对话框。
文件对话框支持以下选项:
--filename=文件名
指定文件选择对话框在第一次显示时,选定的文件或文件夹。
--multiple
允许在文件选择对话框里选中多个文件。
--directory
在文件选择对话框里只允许选中文件夹
--save
设置文件选择对话框模式为保存对话框。
--separator=分隔符
指定用于分隔返回的文件名列表的字符。
下面的脚本示范了如何创建一个文件选择对话框:
#!/bin/sh FILE=`zenity --file-selection --title="选择文件"` case $? in 0) echo "\"$FILE\" 被选中。";; 1) echo "没有选择文件。";; -1) echo "没有选择文件。";; esac
下面的脚本示范了如何创建一个通知区域图标:
#!/bin/sh zenity --notification\ --window-icon="info" \ --text="有系统更新软件包!"
使用--list选项创建一个列表框,Zenity在标准输出返回选中行的第一列项目。
对话框里的数据必须指定行和列,可以由标准输入提供,每一项都必须由换行符分隔。
如果您使用--checklist或--radiolist选项,每一行必须由“TRUE”或“FALSE”开始。
列表框支持以下选项:
--column=列
指定列表框显示的列标题,您必须为每个要显示的列,用--column指定一个列标题。
--checklist
指定列表框的第一列包含一个复选框。
--radiolist
指定列表框的第一列包含单选按钮。
--editable
指定显示的项可以编辑。
--separator=分隔符
指定当列表框返回选中项时,使用什么字符。
--print-column=列
指定选择列上显示什么,默认是“1”,“ALL”用于在列表上显示所有列。
下面的例子示范了如何创建一个列表框:
#!/bin/sh zenity --list \ --title="选择您想查看的 Bugs" \ --column="Bug 编号" --column="严重" --column="描述" \ 992383 Normal "多选时 GtkTreeView 崩溃" \ 293823 High "GNOME 字典不能使用代理" \ 393823 Critical "菜单编辑器在 GNOME 2.0 中不能运行"
Zenity可以创建四种消息框:
对于每一种类型,使用--text选项来指定显示在对话框里的文本。
使用--error选项创建一个错误框。
下面的脚本示范了如何创建一个错误框:
#!/bin/bash zenity --error \ --text="找不到 /var/log/syslog."
使用--info选项创建一个信息框。
下面的脚本示范了如何创建一个信息框:
#!/bin/bash zenity --info \ --text="全部合并。更新第 3 个文件,总共 10 个。"
使用--question选项创建一个询问框。
下面的脚本示范了如何创建一个询问框:
#!/bin/bash zenity --question \ --text="您确定要执行吗?"
使用--warning选项创建一个警告框。
下面的脚本示范了如何创建一个警告框:
#!/bin/bash zenity --warning \ --text="断开电源以防止冲击电流。"
使用--progress选项创建一个进度框。
Zenity从标准输入一行行读取数据。如果某一行以 # 开头,进度框里的文本会被那一行上的文本替换,如果某一行只是一个数字,数字会被换成进度条的百分比。
进度框支持以下选项:
--text=文本
指定显示在进度框里的文本。
--percentage=百分比
指定进度框开始时的百分比设定。
--auto-close
当达到 100% 时自动关闭对话框。
--pulsate
指定进度条跳动,直到从标准输入读到一个 EOF 文件结束符。
下面的脚本示范了如何创建一个进度框:
#!/bin/sh ( echo "10" ; sleep 1 echo "# 更新邮件日志" ; sleep 1 echo "20" ; sleep 1 echo "# 复位定时计划任务" ; sleep 1 echo "50" ; sleep 1 echo "这一行会被忽略" ; sleep 1 echo "75" ; sleep 1 echo "# 重启系统" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress \ --title="更新系统日志"
\ --text="扫描邮件日志..." \ --percentage=0 if [ "$?" = -1 ] ; then zenity --error \ --text="更新被取消。" fi
使用--entry选项,创建一个文本框,Zenity将文本框的内容返回到标准输出。
文本框支持以下选项:
--text=文本
指定在文本框中显示的文本。
--entry-text=文本
指定显示在文本框的文本域里的文本。
--hide-text
隐藏文本框中文本域中的内容。
下面的脚本示范了如何创建一个文本框:
#!/bin/sh if zenity --entry \ --title="添加一项" \ --text="请输入您的密码:" \ --entry-text "密码" \ --hide-text then echo $? else echo "没有输入密码" fi
使用--text-info选项来创建一个文本信息框。
文本信息框支持以下选项:
--filename=文件名
指定一个加载到文本信息框里的文件。
--editable
显示的文本允许编辑,当对话框关闭后,编辑后的文本显示到显示器上。
下面的脚本示范了如何创建一个文本信息框:
#!/bin/sh FILE=`zenity --file-selection \ --title="选择一个文件"` case $? in 0) zenity --text-info \ --title=$FILE \ --filename=$FILE \ --editable 2>/tmp/tmp.txt;; 1) echo "没有选择文件。";; -1) echo "没有选择文件.";; esac
相关推荐
红色语言的跨平台对话框 (基本操作系统) wsize 300x200 zenity /info "Hi! Programming is more easy with <b>Red-Zenety</b>" 错误 zenity /error "Error!" 问题 zenity /question "Did you like it?" 入口 ...
是一种通用的diálogos软件,可简化GNOME对话框中的包装程序和想法,并可以在对话框中进行操作。 Utiliza las bibliotecas GTK + y GLADE。 操作系统Windows Vista 数据表 便携的 尺寸 作业系统 版本 修改后的src ...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
修复分区表禅意脚本 带有Zenity GUI的简单脚本,用于备份,还原或修复分区表。 只需使用sudo特权运行它,您将看到以下内容: 您有以下三个之一: 备份当前分区表。 恢复旧的分区表。 修复分区表。
shell 脚本语言 zennity实例 编写简单菜单对话框 mian 为在linux下 运行的脚本文件 编辑可用vi打开 Zenity 使用手册: http://library.gnome.org/users/zenity/stable/index.html.zh_CN
若弹出对话框,选“运行”。 应用举例 1.将 ubuntu 装在移动硬盘中,配置好。拿到目标机上,从usb启动,然后运行 ubuntu-cloner ,选择“克隆当前系统”,按提示进行,即可将移动硬盘中的系统克隆到目标机中。 2. ...
RDesktop GUI 脚本是一个简单的 Bash 脚本,它调用 zenity 和 rdesktop 并支持从 Linux 操作系统管理 RDP 连接。 该脚本最初是在 Linux Mint 17.1(以及扩展 Ubuntu)上编写的,但是,它可能适用于其他基于 Linux 的...
我想要一个非常简单的对话框实现来询问用户问题,例如“ zenity”(或以前的XDialog)类型的接口的意图。 在查看了选项之后,我决定使用基于swing的UI组件,并且它基于以下信息:...
在Linux上,需要zenity才能使文件对话框窗口正常工作。 在macOS和Windows上,直接使用本机窗口。 可选的 可选地,使用外部python脚本在CMake时计算高阶基的公式。 因此,PolyFEM可能需要有效安装Python和一些其他...
rsync-zenity 简单的基于 Zenity 的 GUI (Gtk),用于将本地文件夹同步到... 要用作 Nautlius 脚本,请在 ~/.gnome2/nautilus-scripts 中创建一个符号链接 ln -s pwd /rsync-zenity.sh ~/.gnome2/nautilus-scripts/Sync
类似CPUZ一样的存在~使用Zenity作为图形化界面~摆脱了终端进行操作的烦恼。同时提供了读写缓存的接口(尚待完善)。
yadapps 来自 bash 和 yad 的一些有用的迷你应用程序(zenity 的简单 gui 助手分支)
重在学习一种通用的解决方案或思路,不必过分纠结使用何种发行版,迷失在发行版之间差异的细枝末节中! 基本配置 解决 shell 弹出报错 在 shell 中使用 zenity 弹出框,报错: WARNING **: Error retrieving ...
dlgs是用于显示对话框和输入框的跨平台库。 安装 go get -u github.com/gen2brain/dlgs 文献资料 上的。 例子 item , _ , err := dlgs . List ( "List" , "Select item from list:" , [] string { "Bug" , "New ...
在Linux和BSD上使用kdialog zenity , yad , notify-send , xmessage , dialog或whiptail (取决于可用功能)。 在Mac上使用osascript / System Events 。 在Windows上使用cscript (如果cscript失败,则使用msg...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Zenity菜单用于GUI体验,回退到无法使用Zenity的基于终端的菜单。 命令行参数可用于从终端快速启动功能。 配置保存在$ XDG_CONFIG_HOME / starcitizen-lug /中。 密钥绑定备份到$ XDG_CONFIG_HOME / starcitizen-...
托盘通知弹出窗口-消息和问题-输入和密码-保存文件-打开文件-选择文件夹-颜色选择器是对OpenGL Vulkan GLFW GLUT GLUI VTK SFML TGUI SDL Ogre Unity3d ION OpenCV CEGUI MathGL GLM CPW GLOW Open3D IMGUI MyGUI ...
建议使用键盘快捷键进行设置利用gnome-screenshot来截取屏幕快照,使用zenity来进行文件上传(两者都包含在Ubuntu中)。 说明(Linux) 克隆或下载仓库 使用chmod + x poomf使其可执行 将此文件放置在所需的任何...
托盘通知弹出窗口-消息和问题-输入和密码-保存文件-打开文件-选择文件夹-颜色选择器对OpenGL Vulkan GLFW GLUT GLUI VTK SFML TGUI SDL Ogre Unity3d ION OpenCV CEGUI MathGL GLM CPW GLOW Open3D IMGUI MyGUI GLT ...