标签: zenity

在 16.04 下运行 zenity 时出现错误消息:Gtk-Message:GtkDialog 映射而没有临时父级。这是不鼓励的

在 ubuntu 16.04 下,我收到以下消息

 Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged
Run Code Online (Sandbox Code Playgroud)

当我用命令打开 zenity 时

  zenity --text-info --filename=<filename>
Run Code Online (Sandbox Code Playgroud)

这在 14.04 下不会发生。我认为答案与这篇文章有关,但这篇文章没有解释如何实施建议的解决方案。有人可以解释一下我应该将建议的行添加到哪个文件吗?

您可以通过为 GtkDialog 提供一个模态的父级来修复此警告。相关的函数是 gtk_window_set_transient_for()(它设置这个窗口总是在另一个窗口的顶部或瞬态)和可选的 gtk_window_set_modal() 以使其成为一个模态对话框。这最终是各种 GtkDialog 构造函数所做的。

gui gtk zenity

23
推荐指数
2
解决办法
4万
查看次数

如何创建带有多个进度条的 wget GUI?

我正在编写自己的脚本来下载多个项目(同时,每个命令一个项目)wget,我需要一个进度条。我目前zenity --progress用于我的进度条,但问题是它在下载时会产生多个进度条。

我想要实现的是类似于 Nautilus 中的文件传输对话框:

Ubuntu 的文件传输对话框

任何人都可以向我指出正确的方向,哪些程序或语言将实现这一目标。

注意: 我只有 shell 脚本的基本知识,其他的不多。

zenity wget

21
推荐指数
1
解决办法
6237
查看次数

Zenity 和文本格式

我刚刚发现 zenity 支持 html 标签。

zenity --error --text "hello &lt;b&gt;world&lt;/b&gt;"
Run Code Online (Sandbox Code Playgroud)

但是如何使它与entrytype 一起工作?

zenity --entry --text "hello &lt;b&gt;world&lt;/b&gt;"
Run Code Online (Sandbox Code Playgroud)

它是打印标签而不是解释它们。

html zenity

13
推荐指数
2
解决办法
1万
查看次数

zenity 的组合框使用记录在哪里?

我偶然发现可以显示带有 zenity 的组合框(测试版本:2.32.1)。请参阅以下代码:

#!/bin/bash
array=(a b c d e)
value=$(zenity --entry --title "Window title" --text "${array[@]}" --text "Insert your choice.")
Run Code Online (Sandbox Code Playgroud)

结果用以下 3 张图像说明:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我有两个问题:

  1. 是否有关于此功能的文档?我在zenity 文档中没有找到任何内容

  2. 为什么我的数组的第一个值没有出现在组合框中?在上面的例子中,我的数组是(a b c d e),组合框只显示b c d e

    作为一种解决方法,我在数组中添加了一个值,例如(0 a b c d e).

zenity

11
推荐指数
3
解决办法
7345
查看次数

如何从 cron 脚本调用 zenity?

示例脚本error.sh

#! /bin/bash

zenity --error --text='Something very bad has happened!'  
Run Code Online (Sandbox Code Playgroud)

我的incron-config

~/Documents IN_MOVED_TO ~/scripts/error.sh
Run Code Online (Sandbox Code Playgroud)

如果我error.sh在终端 GUI 对话框中运行会弹出,但不会在上面的 incron 场景中运行。

当我在 Documents 文件夹中移动文件时,如何让 zenity 弹出该对话框?

cron zenity

9
推荐指数
2
解决办法
1万
查看次数

避免在对话框中显示取消按钮

我正在使用 Kubuntu 18.04:

$ zenity --version
3.28.1
Run Code Online (Sandbox Code Playgroud)

我想显示一个--list带有 zenity的对话框,但我不想显示“取消”按钮(实际上,如果也没有“确定”,我也可以)。使用以下--no-cancel选项应该很容易:

$ zenity --list --no-cancel
--no-cancel is not supported for this dialog
Run Code Online (Sandbox Code Playgroud)

输出似乎表明 zenity 知道该选项,但不想让我使用它。

我只想向用户显示表格中的数据。我不在乎选择/编辑或返回结果。

有什么替代方法吗?或者zenity根本无法做到这一点?

command-line zenity button

8
推荐指数
2
解决办法
3566
查看次数

如何使用 bash 脚本轻松创建 GUI 对话框?

我需要为两个 Bash 列表(文件)记录中的每一个显示一些文本以及项目(大约 15 个值)。在同一屏幕上,我需要呈现三向选择(按钮、滚动选择窗口等)。

我是一个 Ubuntu(11.04) 脚本菜鸟,刚刚开始在脚本中使用 Zenity。我的朋友推荐了YAD。

我可以在 YAD 中完成所有这些还是使用我们不知道的其他简单的 GUI 工具?

.

command-line bash scripts zenity yad

7
推荐指数
2
解决办法
1万
查看次数

如何使用zenity文件选择

我是新手zenity,我正在尝试制作一个简单的脚本来加载文件,zenity --file-selection并使用wc命令来获取该文件的字数。我已经成功制作了一个可用于浏览文件的表单,但我无法获得任何输出。你能告诉我我在哪里犯了错误吗?

我目前的脚本是:

#creates a box

if zenity --entry \
--title="Word count" \
--text="Enter file location" \
--entry-text "File path"

  then
#Zenity file selection code for browsing and selecting files

FILE=`zenity --file-selection --title="Select a File"`
case $? in
         0)
                echo "\"$FILE\" selected.";;
         1)
                echo "No file selected.";;
        -1)
                echo "An unexpected error has occurred.";;
esac

# To show the location in the text box

if zenity --entry \
--title="Word count" \
--text="Enter file location" …
Run Code Online (Sandbox Code Playgroud)

bash scripts files zenity

7
推荐指数
2
解决办法
9079
查看次数

如何从“ls”加载带有空间嵌入数据的“zenity”列表对话框?

zenity当数据包含空格时,我在加载列表对话框时遇到问题。

当列出的数据中没有空格时,这是直接的,
但我不知道空间嵌入文件名的简单/标准方法。

出于某种原因, $( ls -Q /tmp) (引用输出)的输出仍然
在每个空格处拆分文件名。输出中的引号和反斜杠
ls | sed似乎被视为“最终字符串”而不是
“可读数据行”(如前两个数据行)......

我已经设法“解决这个问题”,但自我修改代码可能
不是最好的方法!(尽管它很有趣!:)


这是不起作用的方法

zenlist="/tmp/zen list"; touch "$zenlist"
zenity --list --title='A single-column List' --width=600 --height=450 \
--column='Spaces are allowed within "q u o t e s"' \
"How much wood would a woodchuck chuck," \
"if a wooodchuck could chuck wood?" \
$(ls -Q -1 "$zenlist"* |sed 's/$/ \\/')
echo ""
# rm "$zenlist"  # Uncomment this line to delete the file
Run Code Online (Sandbox Code Playgroud)

这种方法有效,但必须有“常规”(更好)的方法!?

zenlist="/tmp/zen …
Run Code Online (Sandbox Code Playgroud)

bash zenity

6
推荐指数
2
解决办法
7682
查看次数

如何防止 Microsoft Teams “允许设置更改?” 启动时的对话框?

我使用的是 Ubuntu 20.04,并且我已经使用 Ubuntu 软件安装了 Microsoft Teams。

我的问题是我在开始团队时总是遇到这个烦人的对话框。我说了是和不是很多次。无论我单击“团队开始”什么,下次都会再次出现该对话框。

对话框:

Allow settings change?
Allow snap "teams-for-linux" to change "default-url-scheme-handler" subproperty "msteams" to "teams-for-linux_teams-for-linux.desktop"
Run Code Online (Sandbox Code Playgroud)

对话

有没有人知道如何删除或阻止此对话框?

zenity snap 20.04 microsoft-teams

6
推荐指数
1
解决办法
1361
查看次数

标签 统计

zenity ×10

bash ×3

command-line ×2

scripts ×2

20.04 ×1

button ×1

cron ×1

files ×1

gtk ×1

gui ×1

html ×1

microsoft-teams ×1

snap ×1

wget ×1

yad ×1