Wie führe ich einen Befehl xfconf-query aus einem mit sudo gestarteten Bash-Skript aus?

587
Lupo Dharkael

Ich schreibe ein Skript für XFCE Spin Fedora 25, das das System konfiguriert und die Konfiguration der XFCE-Desktopumgebung mithilfe von xfconf-query ändert.

Dieses Skript muss mit sudo ausgeführt werden, da es das System ändern und Pakete installieren muss. Das Problem kommt von xfconf-query selbst. Es funktioniert nicht, wenn ich das Skript mit sudo starte, aber es funktioniert, wenn ich es als benutze bash script.sh. Ich habe beschlossen, $ USER als Argument an das Skript zu übergeben und zu versuchen, die Befehle xfconf-query zu verwenden su <user> -c "commands here", aber es funktioniert nicht.

Jetzt muss ich zwei getrennte Skripts verwenden, eines für allgemeine Aufgaben und das andere für alle xfconf-query-Befehle.

Edit: Wenn ich sudo xfconf-query -c xsettings -p /Net/ThemeName -s "Greybird"das Terminal eingebe, funktioniert es, aber wenn ich denselben Befehl mit sudo verwende, funktioniert es nicht. Dieser Befehl muss möglicherweise vom Benutzer verwendet werden, der die Änderung anfordert, aber es ist seltsam, dass er mit su <user> -c "command here"einem Bash-Interpreter mit Privilegien nicht funktioniert.

2
Haben Sie '#! / Bin / bash' als erste Zeile Ihres Skripts? Herb Wolfe vor 7 Jahren 1
@HerbWolfe ja, ich habe meine Frage bearbeitet und jetzt kannst du mehr Kontext haben. Das Problem scheint das intrinsische Verhalten des Befehls xfconf-query zu sein. Lupo Dharkael vor 7 Jahren 0

1 Antwort auf die Frage

1
Lupo Dharkael

Ok, ich habe in einem Forum eine Lösung gefunden. Es funktioniert nicht richtig mit Sudo, aber es funktioniert mit Gksudo! http://forum.xfce.org/viewtopic.php?id=10870

edit: Ich habe einen anderen Weg gefunden. Ich habe die Lösung in diesem Beitrag im xfce-Forum veröffentlicht.