Für das Einlesen der vorhandenen Partitionen verwende ich: lsblk. Außerhalb von snap benötigt lsblk keine root-Rechte. Im Snap-Programm (ein übersetztes Qt5-Programm) klappt dieser Befehl nicht:
1 2 | befehl "lsblk --output KNAME,FSTYPE,SIZE,UUID,MOUNTPOINT 1> " + userpath + "/.config/qt-fsarchiver/disk2.txt"; system (befehl.toLatin1().data()) |
Der Zugriff auf lsblk wird verweigert. Entweder benötigt lsblk Root-Rechte oder es ist in einem Snap-Programm nicht möglich lsblk zu verwenden. Wenn lsblk mit Root-Rechten funktionieren würde, dann käme dieser Befehl in einer Batch-Datei zur Anwendung: (Funktioniert außerhalb des Snap-Programmes tadelos)
1 | echo Passwort | sudo -S -b lsblk --output KNAME,FSTYPE,SIZE,UUID,MOUNTPOINT 1> " + userpath + "/.config/qt-fsarchiver/disk2.txt"; |
Die Übergabe des Passwortes funktioniert nicht. Der 2.Teil des Befehls funktioniert: Der userpath ist beispielweise: /home/xxx/snap/Programmname/x10/.config/qt-fsarchiver/disk2.txt. In disk2.txt ist nicht die Auswertung von lsblk nicht vorhanden, lediglich der Befehl.
Das Qt5-Programm habe ich unter Xenial Xerus in ein Snap-Programm übersetzt. Bei dieser Ubuntu-Version ist die Übersetzung und Installation des Snap-Programms kein Problem. In Ubuntu 18.04 habe ich noch ungelöste Probleme (so-Dateien seien falsch). Das ist nur als Hinweis gedacht.
Vielleicht kann ich Anregungen bekommen. Danke.
Grüße aus Südbaden