GUI消息框或显示在终端内部的消息框。

能够从用户那里获得简单的输入(例如,是/否或单选按钮。

评论

“消息框”是​​什么意思?一个图形警报框,一个弹出消息框?还有别的吗?

他的意思很明显。

#1 楼

对于标准的“围绕消息的框”,请使用boxes: />



如果您是指警报框,请使用boxes: :




还可以使用cowsay弹出窗口:

echo 'This is a test' | boxes


Zenity更图形化,具有更多选项,例如使用以下命令使窗口出现:

notify-send 'title' 'message'


甚至进度条,使用: >
zenity --error --text="An error occurred\!" --title="Warning\!"


notify-send看起来像这样: br />
zenity --question --text="Do you wish to continue/?"


notify-send看起来像这样: >
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."


zenity看起来像这样:



如果您真的很疯狂,请使用zenity

dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off


dialog看起来像这样:




盒子的来源
对话框1的来源
对话框2的来源
zenity 1的来源
zenity 2的来源
鞭子1的来源
马尾辫2的来源
马桶来源


评论


答案很完整,很有用!谢谢!

–user129371
17年3月21日在0:46

优秀的写作,@ polym –我每月都会在更新和升级部门使用zenity来动动自己的神经。

–弗兰克·诺克(Frank Nocke)
19-09-18在7:51

#2 楼

xmessage

这是GUI警报的祖父: >
我还打赌它应该可以在X11系统上广泛使用。

SO线程:如何从Linux中的bash脚本显示GUI消息框? |堆栈溢出

在Ubuntu 18.04中进行了测试。

评论


在我的Openbox安装中可以立即使用。谢谢!

– aexl
18年11月20日在18:52

默认情况下,xmessage甚至安装在Ubuntu Server上。因此,我可以在转发x连接时使用ssh -Y 登录计算机,然后运行some-command;当长时间运行的命令完成时,xmessage“ some-command done”将在桌面上弹出通知。

–斯蒂芬·奥斯特米勒(Stephen Ostermiller)
19年5月3日在20:30

很酷的命令。要在几秒钟后自动清除该消息,请执行以下操作:xmessage -timeout 10“再见,十秒钟!”。

– AlainD
19年9月11日15:49

在4k显示器上使用TINY。

– Gringo Suave
20-2-20在21:15



这将使我通过ssh长期运行的rsync命令产生奇迹。

– Sridhar Sarnobat
20-11-19在20:10



#3 楼

然后,由于@polym完全是最重要的答案,而错过了经典的消息传递:与write <username> [<terminal>]交互或作为管道的一部分




要编写的补语echo "message" | write username向所有用户发送消息



#4 楼

如果您愿意将文本通过管道传递给Python包装器,则可以使用terminaltables: python包装器。