ubuntuusers.de

"gsettings set org.gnome.shell favorite-apps" in Script Ausführen lassen

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

STYLUS3530

Anmeldungsdatum:
22. März 2018

Beiträge: 118

Hallo

In diesem Thread(https://forum.ubuntuusers.de/topic/die-symbole-aus-dem-launcher-bei-jeden-start-e/) hatte ich ein Problem, dass ich Teils losen konnte.

Es ist so dass ich jetzt versucht habe den Befehl in den Terminal auszuführen und dieser funktioniert Perfekt, also die Favoriten werden dann eingestellt.

gsettings set org.gnome.shell favorite-apps “['ubiquity.desktop', 'firefox.desktop', 'thunderbird.desktop', 'org.gnome.Nautilus.desktop', 'rhythmbox.desktop', 'libreoffice-writer.desktop', 'org.gnome.Software.desktop', 'yelp.desktop', 'ubuntu-amazon-default.desktop']”

Wenn ich aber versuche denn Befehl zu runnen in einen cronjob, funktioniert dass nicht. Will also dass jedes mal bei einen Neustart die Favoriten gesetzt werden.

Weiss vielleicht jemand wie ich dass in einen Script machen kann?

Schon mal vielen Dank

LG

STYLUS

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4673

Wohnort: Berlin

@STYLUS3530: Das funktioniert grundsätzlich erst einmal nicht weil die Shell nichts mit typographischen Anführungszeichen anfangen kann. Für die Shell haben "-Zeichen eine Bedeutung, aber nicht und .

Die nächste Frage wäre dann wo und wie genau Du diesen Befehl mit crond ausführst. Wenn Du die Standard- und die Fehlerausgabe in eine Datei umleitest, was steht dann dort drin?

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

Marc_BlackJack_Rintsch schrieb:

@STYLUS3530: Das funktioniert grundsätzlich erst einmal nicht weil die Shell nichts mit typographischen Anführungszeichen anfangen kann. Für die Shell haben "-Zeichen eine Bedeutung, aber nicht und .

Die nächste Frage wäre dann wo und wie genau Du diesen Befehl mit crond ausführst. Wenn Du die Standard- und die Fehlerausgabe in eine Datei umleitest, was steht dann dort drin?

Ich werde dass morgen mal nachsehen weil ich im Moment den PC nicht da habe. Aber wenn ich mich nicht irre habe ich im Script die normale Anführungszeichen benutzt. Werde dann berichten.

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

@Marc_BlackJack_Rintsch: Ich habe mal nachgesehen, vielleicht mache ich ja was falsch, deswegen beschreibe ich mal wass genau ich gemacht habe.

Zuerst mache ich ein script file an:

sudo nano /usr/sbin/Launcher_Test.sh

Darin steht folgendes:

########################
# Launcher Test Script #
########################
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive;
{
  gsettings set org.gnome.shell favorite-apps "['org.gnome.Nautilus.desktop', 'firefox.desktop', 'libreoffice-writer.desktop', 'libreoffice-calc.desktop', 'libreoffice-draw.desktop', 'libreoffice-impress.desktop', 'libreoffice-base.desktop']"
} > /var/log/last_cron_update.log 2>&1

Ich mache dass script ausfuhrbar:

sudo chmod +X /usr/sbin/Launcher_Test.sh

Ich bearbeite jetzt das crontab file:

sudo nano /etc/crontab

Zu den file fuge ich folgende zeile hinzu:

@reboot    root    /usr/sbin/Launcher_Test.sh

Nach einen Reboot aber steht immer noch nichts in dem logfile(/var/log/last_cron_update.log)

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4673

Wohnort: Berlin

@STYLUS3530: Die #!/bin/bash-Zeile gehört an den Anfang als allererste Zeile. Was sagt denn /var/log/syslog zu CRON und dem Skript?

Steht in /var/log/last_cron_update.log etwas wenn Du ein echo 'Hallo' in Dein Skript einbaust?

Was erwartest Du von welchem Benutzer die Einstellungen geändert werden?

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

@ Marc_BlackJack_Rintsch Ich habe zuerst die #!/bin/Bash Zeile jetzt an erster stelle gesetzt.

Dann nochmal versucht dass script auszufuhren, ohne erfolg. In die syslog datei stand folgendes:

Apr 24 09:49:55 A204-U-xx CRON[640]: (root) CMD (   /usr/sbin/Launcher_Test.sh)
Apr 24 09:49:55 A204-U-xx systemd[1]: Starting Snappy daemon...
Apr 24 09:49:55 A204-U-xx ModemManager[611]: <info>  ModemManager (version 1.6.8) starting in system bus...

Ich habe dass script dann geandert so:

#!/bin/bash
export DEBIAN_FRONTEND=noninteractive;
{
  echo 'Hallo';
} > /var/log/last_cron_update.log 2>&1

Auch jetzt stand nichts in die last_cron_update.log datei

Die einstellungen sollten geandert werden vom benutzer 'gebraucher'

Apr 24 10:02:54 A204-U-xx CRON[532]: (root) CMD (   /usr/sbin/Launcher_Test.sh)
Apr 24 10:02:54 A204-U-xx cron[444]: Please install an MTA on this system if you want to use sendmail!
Apr 24 10:02:54 A204-U-xx CRON[476]: (root) MAIL (mailed 58 bytes of output but got status 0x00ff from MTA#012)
Apr 24 10:02:54 A204-U-xx dbus-daemon[482]: [system] AppArmor D-Bus mediation is enabled
Apr 24 10:02:54 A204-U-xx systemd[1]: Started Login Service.
Apr 24 10:02:54 A204-U-xx systemd[1]: Starting WPA supplicant...
Apr 24 10:02:54 A204-U-xx avahi-daemon[449]: Successfully called chroot().
Apr 24 10:02:54 A204-U-xx avahi-daemon[449]: Successfully dropped remaining capabilities.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

gsettings kommuniziert ja über den DBus Session Bus mit einem Backend wie dconf - das passiert innerhalb einer laufenden Benutzersession und mit Benutzerrechten. cron läuft nicht in der Session und ist daher nicht unbedingt das beste Werkzeug für sowas, vor allem wenn man das Skript dann noch mit root-Rechten laufen lässt. Da müsste man zumindest den Pfad für die DBUS_SESSION_BUS_ADDRESS mit angeben, den korrekten Benutzer verwenden und es braucht eine bereits laufende Session: https://askubuntu.com/a/457023

Wenn man das Paket dbus-user-session installiert, müsste man Systemd-Units und -Timer in der User-Session (vgl. Systemd/User) nutzen können (bei Ubuntu 16.04 gibt es standardmäßig noch Upstart für die Verwaltung der User Session, mit späteren Ubuntu-Versionen ist das endlich weggefallen). Dann kann man sowas komplett in einer laufenden Session halten.

Was mir nicht ganz klar ist, warum man den Wert regelmäßig neu setzen sollte - in dem anderen Thread hast du typographische Anführungszeichen in den gsettings-Befehl eingebaut statt " - nutzt du eventuell Libre Office oder andere Schreibprogramme, die im Gegensatz zu Editoren ungewollt Zeichen im Text ersetzen können, um den typographischen Konventionen für geschriebenem Text zu entsprechen?

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

seahawk1986 schrieb:

Was mir nicht ganz klar ist, warum man den Wert regelmäßig neu setzen sollte - in dem anderen Thread hast du typographische Anführungszeichen in den gsettings-Befehl eingebaut statt " - nutzt du eventuell Libre Office oder andere Schreibprogramme, die im Gegensatz zu Editoren ungewollt Zeichen im Text ersetzen können?

Ja, ich nutze fast immer den eingebauten editor von GMAIL, aber was die Anfuhrungszeichen betrifft, in der Ubuntu Machine achte ich schon darauf dass die da richtig stehen. Sollte mir aber die angewohnheid machen dass auch hier im Forum so zu machen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

STYLUS3530 schrieb:

Ja, ich nutze fast immer den eingebauten editor von GMAIL

Das ist kein richtiger Texteditor. Nimm etwas, das garantiert die Zeichen so erhält wie sie eingegeben wurden.

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

seahawk1986 schrieb:

STYLUS3530 schrieb:

Ja, ich nutze fast immer den eingebauten editor von GMAIL

Das ist kein richtiger Texteditor. Nimm etwas, das garantiert die Zeichen so erhält wie sie eingegeben wurden.

Und hast Du einen Tip zu einen guten unter Ubuntu? Unter WIndows nehme ich immer notepad von Windows selber

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

Das vorinstallierte gedit (im Startmenü heißt das je nach Ubuntu-Version "Texteditor" oder "Textbearbeitung") sollte leicht bedienbar sein, wenn man bislang Windows Notepad genutzt hat.

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

seahawk1986 schrieb:

Das vorinstallierte gedit (im Startmenü heißt das je nach Ubuntu-Version "Texteditor" oder "Textbearbeitung") sollte leicht bedienbar sein, wenn man bislang Windows Notepad genutzt hat.

Ok danke, dan werde ich dass benutzen

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4673

Wohnort: Berlin

@STYLUS3530: Also ausgeführt wird das Skript laut Log also. Beim zweiten Log sieht man, das crond versucht eine Mail zuzustellen, was mangels installiertem „mail transfer agent“ (MTA) nicht geklappt hat. crond verschickt die Ausgaben von Programmen per Mail, da wäre also wahrscheinlich interessante Information, die im Nirvana verschwunden ist.

Ich frage mich aber ob Du das überhaupt bei jedem Neustart und so früh machen möchtest, oder ob das beim betreffenden Benutzer in ~/.config/autostart/ nicht besser aufgehoben wäre.

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

Marc_BlackJack_Rintsch schrieb:

@STYLUS3530: Also ausgeführt wird das Skript laut Log also. Beim zweiten Log sieht man, das crond versucht eine Mail zuzustellen, was mangels installiertem „mail transfer agent“ (MTA) nicht geklappt hat. crond verschickt die Ausgaben von Programmen per Mail, da wäre also wahrscheinlich interessante Information, die im Nirvana verschwunden ist.

Ich frage mich aber ob Du das überhaupt bei jedem Neustart und so früh machen möchtest, oder ob das beim betreffenden Benutzer in ~/.config/autostart/ nicht besser aufgehoben wäre.

Leider habe ich keine MTA installiert.

Dass andere habe ich auch schon probiert:

sudo nano /home/gebraucher/.config/autostart

Diese zeile steht dan drin:

gsettings set org.gnome.shell favorite-apps "['org.gnome.Nautilus.desktop', 'firefox.desktop', 'libreoffice-writer.desktop', 'libreoffice-calc.desktop', 'libreoffice-draw.desktop', 'libreoffice-impress.desktop', 'libreoffice-base.desktop']"

Leider ohne erfolg

STYLUS3530

(Themenstarter)

Anmeldungsdatum:
22. März 2018

Beiträge: 118

Endlich, es hat funktioniert und dass dank sei "Rioja", in diesen Linksteht die Losung: https://forum.ubuntuusers.de/topic/die-symbole-aus-dem-launcher-bei-jeden-start-e/#post-8962227

Dieser Beitrag hier kann jetzt auch als gelost markiert werden, denn wie wir wissen gibt es verschiedene Wege nach Rome, nur frage ich mich immer noch wieso dass mit dem normalen Script nicht klappt.

Nach mal danke an alle die geholfen haben.

LG

STYLUS

Antworten |