이전 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