来自bash脚本的对话框

uzs*_*olt 12 bash user-interface dialog

我想创建一个简单的图形(Qt,Gtk,...)对话框,具体地说是一个简单的打印对话框,作为lpr的"前端",在bash中.我想要的是?每页打印多少页,打印间隔.这是(至少)两种选择.

解决这个问题的最佳工具是什么?

seh*_*ehe 21

据报道存在其他实现:

如果使用gpm,您甚至可以在控制台环境中使用鼠标.它需要一个tty,所以它可以在ssh,screen,xterm等上工作,但在管道/重定向时不会.

两者都具有或多或少相同的界面,因此您可以根据X显示器是否可用进行切换

这是一个对话框脚本,显示一个简单的YES/NO框:

#!/bin/bash
DIALOG=${DIALOG=dialog}

$DIALOG --title " My first dialog" --clear \
        --yesno "Hello , this is my first dialog program" 10 30

case $? in
  0)
    echo "Yes chosen.";;
  1)
    echo "No chosen.";;
  255)
    echo "ESC pressed.";;
esac
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

替换dialogxdialog:

在此输入图像描述


uzs*_*olt 5

我搜索了什么对话创建者.我发现了yad,我可以设置我想要的选项:

yad --skip-taskbar --center --title="Print dialog" {--image,--window-icon}=/usr/share/icons/Tango/72x72/devices/printer1.png --form --item-separator=, --field="Pages per sheet":CB 1,2,4,6,8 --field="Pages"
Run Code Online (Sandbox Code Playgroud)

对话

当我选择"每张2页"和"1-12"页面并点击OK输出后2|1-12|.

这就是我想要的.Zenity或Xdialog可以做类似的吗?