Bash
如何在 XFCE 中為 Bash 製作進度對話框?
以前,在 KDE 中,這很簡單——我用步驟數呼叫 KDialog,我得到 DCOP 句柄作為回報,然後我用那個引用和步驟呼叫 dcop,進度對話框得到更新。
但是,現在 DCOP 已過時,並且由於我從 KDE 3.5.10 遷移到 XFCE,我認為將我的腳本從 KDialog+DCOP 轉換為 KDialog+DBUS 我遷移到 XFCE 進度對話框是一個好主意。
**那麼如何在 XFCE 中為 Bash 目的建構進度對話框呢?**Bash 目的 = 我在 Bash 中執行一些計算,但進度以 GUI 方式顯示,作為桌面上的漂亮對話框。
您可以使用對話實用程序。它可以在終端內部和外部工作。
要在 X 伺服器上獲取它,您可以使用它的xdialog或gdialog/zenity變體。請注意,zenity 推薦用於 XFCE,因為它使用 GTK+。事實上,我認為 Kdialog 是 Xdialog 的 KDE 變體。
這是一個簡單的 Zenity 腳本,在 X 伺服器上執行,帶有是/否框:
DIALOG=zenity $DIALOG --title " My first dialog" --clear \ --yesno "Hi, this is my first dialog" 10 30
這是一個簡單的教程,其中包含有關可用的不同對話框的各種範例。還有一個關於zenity的很好的教程。
關於您的圖形進度對話框,有一個專門用於此目的。這是文件的範例腳本:
#!/bin/sh ( echo "10" ; sleep 1 echo "# Updating mail logs" ; sleep 1 echo "20" ; sleep 1 echo "# Resetting cron jobs" ; sleep 1 echo "50" ; sleep 1 echo "This line will just be ignored" ; sleep 1 echo "75" ; sleep 1 echo "# Rebooting system" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress \ --title="Update System Logs" \ --text="Scanning mail logs..." \ --percentage=0 if [ "$?" = -1 ] ; then zenity --error \ --text="Update canceled." fi