In Linux Mint 14 funktioniert das Ausführen eines Skripts aus Startup Applications nicht, aus dem Terminal jedoch schon

In Linux Mint 14 funktioniert das Ausführen eines Skripts aus Startup Applications nicht, aus dem Terminal jedoch schon

Ich habe ein Skript erstellt, um mein Intuos-Tablet zu Beginn einer Sitzung einzurichten:

#!/bin/sh

xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelUp "key ctrl minus";
xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelDown "key ctrl plus";
xsetwacom set "Wacom Intuos4 4x6 pad" Button 1 "key ctrl 0"; #touchring button

xsetwacom set "Wacom Intuos4 4x6 stylus" Button 2 3;
xsetwacom set "Wacom Intuos4 4x6 stylus" Button 3 2;
xsetwacom set "Wacom Intuos4 4x6 stylus" TabletPCButton on;

~/bin/.wacomsetup.shdie ich als ausgeführt gespeichert habe chmod a+x ~/bin/.wacomsetup.sh. Beim Überprüfen der Eigenschaften wird angezeigt, dass die Ausführung als Programm zulässig ist, mein Benutzerkonto die Datei jedoch nur lesen und schreiben kann.

Ich habe bestätigt, dass es funktioniert, wenn ich es vom Terminal aus ausführe sh ~/bin/.wacomsetup.sh, aber wenn ich den Pfad als Befehlseintrag in einen neuen Eintrag in den Startanwendungen eingebe (ist dies spezifisch für Cinnamon?), wird das Skript nach der Anmeldung/dem Neustart nicht ausgeführt (ich muss es manuell ausführen).

Startprogramm bearbeiten:
Name: Setup Wacom Intuos
Befehl: sh ~/bin/.wacomsetup.sh
Kommentar:ksdfk

Muss ich dem Skript andere Berechtigungen erteilen, damit es beim Start auf diese Weise ausgeführt werden kann?

Danke
(ich wäre dankbar, wenn jemand diese Frage mit einem passenderen Tag versehen könnte, falls es bessere Tags gibt.)

Antwort1

Einige Dinge, die Sie ausprobieren können:

  1. Ersetzen Sie das „~“ im Pfad in Startanwendungen durch den absoluten Pfad zu Ihrem Home-Ordner (z. B. /home/whateveryourusernameis).

  2. Entfernen Sie das shim Pfad, da es nicht erforderlich ist. Solange das Skript ausführbar ist (mit dem für Sie in den DACLs gesetzten Bit „x“), #!/bin/sherkennt das beim Start des Skripts, dass es sich um ein Shell-Skript handelt, und startet automatisch den Shell-Interpreter, um die Befehle auszuführen.

  3. Versuchen Sie, das Skript nach zu verschieben /usr/bin, sodass esWeltlesbar und ausführbar, und setzen Sie die Command:in Startanwendungen auf nur wacomsetup.sh. Obwohl ich bezweifle, dass dieser Schritt notwendig ist, da Startanwendungen nach der Anmeldung unter Ihrem Benutzerkonto ausgeführt werden und Xorg bereits gestartet sein sollte ...

  4. Nur um sicherzugehen, dass das Problem nicht das Skript istLäuftaber die Befehle können aus irgendeinem Grund nicht ausgeführt werden: Versuchen Sie oben im Skript unter der #!/bin/shZeile Folgendes hinzuzufügen: echo scripted > ~/scripted(ändern Sie den Teil „scripted“, wenn Sie bereits eine Datei mit diesem Namen für eine andere Verwendung haben). Stellen Sie dann sicher, dass die Datei nicht existiert, melden Sie sich ab und wieder an und prüfen Sie, ob die Datei geschrieben wird. Wenn nicht, wird das Skript nicht einmal ausgeführt. Wenn Sie die Datei sehen, wird das Skript ausgeführt, aber die xsetwacomAufrufe schlagen fehl.

Antwort2

Ich bin nicht sicher, was Sie mit „Startup-Anwendungen“ meinen. Ich nehme an, es handelt sich um ein GUI-Frontend. Wo haben Sie es gefunden?

Haben Sie schon versucht, eine neue .desktop-Datei hinzuzufügen ~/.config/autostart? Sie sollte ungefähr so ​​aussehen:

[Desktop Entry]
Name=wacomsetup
Type=Application
Exec=/home/your_user/bin/.wacomsetup.sh
X-GNOME-Autostart-enabled=true
Comment=Blah blah
Hidden=false

Speichern Sie es beispielsweise unter, wacomsetup.desktopmelden Sie sich dann ab und wieder an.

verwandte Informationen