XFCEでBashの進捗ダイアログを作成するには?

XFCEでBashの進捗ダイアログを作成するには?

以前のKDEではこれは簡単でした。ステップ番号を使用してKDialogを呼び出し、その代償としてDCOPハンドルを取得し、その参照とステップを使用してdcopを呼び出すと、進捗ダイアログが更新されました。

ただし、DCOPは廃止され、KDE ​​3.5.10からXFCEに移行した後、スクリプトをKDialog + DCOPからKDialog + DBUSに変換してから、XFCE進行ダイアログに移行するのが最善であると思いました。

それでは、XFCEでBashの進捗ダイアログをどのように構築しますか?Bashの目的= Bashでいくつかの計算を実行していますが、進捗状況はデスクトップのクールなダイアログボックスなどのGUIに表示されます。

ベストアンサー1

あなたはそれを使用することができます会話便利です。それは同時に働くことができます内部と外部ターミナル。

Xサーバーから取得するには、次のものを使用できます。ダイアログボックスまたはgdialog/zenity変形。 XFCEはGTK +を使用しているため、zenityの使用をお勧めします。実際、私はKdialogをXdialogのKDEバリエーションだと思います。

以下は、はい/いいえボックスを持つXサーバーで実行される単純なZenityスクリプトです。

DIALOG=zenity
$DIALOG --title " My first dialog" --clear \
--yesno "Hi, this is my first dialog" 10 30

これは簡単です地図時間さまざまなダイアログボックスのさまざまな例を使用できます。そしてそこに良いチュートリアル禅について。

グラフの進捗ダイアログに関しては、以下があります。この目的のために特に一つ。以下は、マニュアルのサンプルスクリプトです。

#!/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

おすすめ記事