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 서버에 가져오려면 다음을 사용할 수 있습니다.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

관련 정보