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

2

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

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

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

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

Lupo Dharkael
quelle
1
Haben Sie '#! / Bin / bash' als erste Zeile Ihres Skripts?
Herb Wolfe
@HerbWolfe ja, ich habe meine frage bearbeitet und jetzt kannst du mehr kontext haben. Das Problem scheint im eigentlichen Verhalten des Befehls xfconf-query zu liegen.
Lupo Dharkael

Antworten:

1

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.

Lupo Dharkael
quelle