瀏覽代碼

Merge remote-tracking branch 'qubesos/pr/15'

* qubesos/pr/15:
  Fall back to gnome utilities if kdialog not present

Fixes QubesOS/qubes-issue#1429
Marek Marczykowski-Górecki 8 年之前
父節點
當前提交
be2c9313a4
共有 2 個文件被更改,包括 45 次插入39 次删除
  1. 21 18
      qubes-rpc/qvm-copy-to-vm.kde
  2. 24 21
      qubes-rpc/qvm-move-to-vm.kde

+ 21 - 18
qubes-rpc/qvm-copy-to-vm.kde

@@ -19,25 +19,28 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #
 #
+if type kdialog 2> /dev/null; then
+    VM=$(kdialog -inputbox "Enter the VM name to send files to:")
+    if [ X$VM = X ] ; then exit 0 ; fi
 
-VM=$(kdialog -inputbox "Enter the VM name to send files to:")
-if [ X$VM = X ] ; then exit 0 ; fi
+    SIZE=$(du --apparent-size -c -- "$@" 2> /dev/null | tail -1 | cut -f 1)
+    REF=$(kdialog --progressbar "Copy progress")
+    qdbus $REF org.freedesktop.DBus.Properties.Set "" maximum $SIZE
 
-SIZE=$(du --apparent-size -c -- "$@" 2> /dev/null | tail -1 | cut -f 1)
-REF=$(kdialog --progressbar "Copy progress")
-qdbus $REF org.freedesktop.DBus.Properties.Set "" maximum $SIZE
+    export PROGRESS_TYPE=gui
 
-export PROGRESS_TYPE=gui
+    /usr/lib/qubes/qrexec-client-vm $VM qubes.Filecopy \
+        /usr/lib/qubes/qfile-agent "$@" |
+    (while read sentsize ; do
+        CURRSIZE=$(($sentsize/1024))
+        qdbus $REF  org.freedesktop.DBus.Properties.Set "" value $CURRSIZE
+    done)
 
-/usr/lib/qubes/qrexec-client-vm $VM qubes.Filecopy \
-	/usr/lib/qubes/qfile-agent "$@" |
-(while read sentsize ; do
-	CURRSIZE=$(($sentsize/1024))
-	qdbus $REF  org.freedesktop.DBus.Properties.Set "" value $CURRSIZE
-done)
-
-qdbus $REF close
-# we do not want a dozen error messages, do we
-# if ! [ "x"$agentstatus = xDONE ] ; then
-# 	kdialog --sorry 'Abnormal file copy termination; see /var/log/qubes/qrexec.xid.log in dom0 for more details'
-# fi
+    qdbus $REF close
+    # we do not want a dozen error messages, do we
+    # if ! [ "x"$agentstatus = xDONE ] ; then
+    # 	kdialog --sorry 'Abnormal file copy termination; see /var/log/qubes/qrexec.xid.log in dom0 for more details'
+    # fi
+else
+    exec /usr/lib/qubes/qvm-copy-to-vm.gnome "$@"
+fi

+ 24 - 21
qubes-rpc/qvm-move-to-vm.kde

@@ -19,29 +19,32 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #
 #
+if type kdialog 2> /dev/null; then
+    VM=$(kdialog -inputbox "Enter the VM name to send files to:")
+    if [ X$VM = X ] ; then exit 0 ; fi
 
-VM=$(kdialog -inputbox "Enter the VM name to send files to:")
-if [ X$VM = X ] ; then exit 0 ; fi
+    SIZE=$(du --apparent-size -c -- "$@" 2> /dev/null | tail -1 | cut -f 1)
+    REF=$(kdialog --progressbar "Move progress")
+    qdbus $REF org.freedesktop.DBus.Properties.Set "" maximum $SIZE
 
-SIZE=$(du --apparent-size -c -- "$@" 2> /dev/null | tail -1 | cut -f 1)
-REF=$(kdialog --progressbar "Move progress")
-qdbus $REF org.freedesktop.DBus.Properties.Set "" maximum $SIZE
+    export PROGRESS_TYPE=gui
 
-export PROGRESS_TYPE=gui
+    set -o pipefail
+    /usr/lib/qubes/qrexec-client-vm $VM qubes.Filecopy \
+        /usr/lib/qubes/qfile-agent "$@" |
+    (while read sentsize ; do
+        CURRSIZE=$(($sentsize/1024))
+        qdbus $REF  org.freedesktop.DBus.Properties.Set "" value $CURRSIZE
+    done)
+    if [ $? -eq 0 ]; then
+        rm -rf "$@"
+    fi
 
-set -o pipefail
-/usr/lib/qubes/qrexec-client-vm $VM qubes.Filecopy \
-	/usr/lib/qubes/qfile-agent "$@" |
-(while read sentsize ; do
-	CURRSIZE=$(($sentsize/1024))
-	qdbus $REF  org.freedesktop.DBus.Properties.Set "" value $CURRSIZE
-done)
-if [ $? -eq 0 ]; then
-    rm -rf "$@"
+    qdbus $REF close
+    # we do not want a dozen error messages, do we
+    # if ! [ "x"$agentstatus = xDONE ] ; then
+    # 	kdialog --sorry 'Abnormal file copy termination; see /var/log/qubes/qrexec.xid.log in dom0 for more details'
+    # fi
+else
+    exec /usr/lib/qubes/qvm-move-to-vm.gnome "$@"
 fi
-
-qdbus $REF close
-# we do not want a dozen error messages, do we
-# if ! [ "x"$agentstatus = xDONE ] ; then
-# 	kdialog --sorry 'Abnormal file copy termination; see /var/log/qubes/qrexec.xid.log in dom0 for more details'
-# fi