staging.inyokaproject.org

Python-Script mit Tray Symbol im Autostart funktioniert nicht.

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

DasMurkel

Anmeldungsdatum:
31. Oktober 2006

Beiträge: Zähle...

Hi,

ich habe mir ein kleines Tool in Python geschrieben, das mittels AppIndicator ein Symbol im Tray erzeugt. Das klappt auch wunderbar, wenn ich es von der Konsole aus starte.

Ich hätte das aber gerne per Autostart beim Hochfahren automatisch geladen, habe also den Pfad des Scripts in die Startup-Programme eingetragen. Leider funktionniert das nicht, ich bekomme kein Tray-Symbol. ☹

Folgendes habe ich auch schon probiert: Das Script nicht direkt gestartet, sondern so: python /pfad/zum/script.py

Ein shell-Script gebastelt, was mit dem Starten des Python Programms 5 Sekunden wartet. Hintergrund dafür ist, dass meine Vermutung war, dass das Python Programm versucht das Tray-Symbol unterzubringen, bevor Unity fertiggeladen ist.

Über jede Idee, woran das liegen könnte, dass mein Programm nicht im Tray landet und wie ich das lösen kann bin ich sehr dankbar!

Viele Geüße

Matthias

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Zeig mal die ersten Zeilen deines Python-Skripts, den Autostart-Eintrag und schau nach, ob die Datei ausführbar ist.

DasMurkel

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 156

Du meinst das hier:

#!/usr/bin/env python

, das hier:

[Desktop Entry]
Type=Application
Exec=/pfad/zum/script.py // oder auch python /pfad/zum/script.py
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=Script
Name=Script
Comment[en_US]=mein kleines Python Script mit TrayIcon
Comment=mein kleines Python Script mit TrayIcon

und das hier: -r-xr-xr-x 1 meinUser meineGruppe 6.1K Aug 20 14:17 script.py

?

Wie gesagt, es funktioniert wunderbar, wenn ich es über Konsole starte (egal auf welchem Weg). Nur der Autostart klappt nicht. Auch, wenn ich mit ps -e nach dem Prozess suche, ist er nicht gestartet. Vermutlich, weil er sofort stirbt, wenn das mit dem Tray-Icon nicht funktioniert.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Hat dein Programm abgesehen vom Panel noch Abhängigkeiten zu anderen Programmen oder Diensten?

DasMurkel

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 156

Hi,

eigentlich nicht. Das hier sind meine imports:

import gobject
import gtk
import appindicator
import sys
import json
import os

Ich gehe einfach mal davon aus, dass Filesystem und damit der json-import und dergleichen vorhanden sind, wenn Unity startet ... 😉 Sonst werden nur noch andere selbstgeschriebene Python Sachen verwendet.

Werde mal versuchen, die Verzögerung beim Start auf 20 Sekunden zu erhöhen (Rechner ist nicht der flotteste) und gucken, was passiert.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Wenn du dein Programm über ein Skript aufrufst, kannst du auch mal die Ausgabe des Python-Skriptes in eine Datei schreiben lassen, eventuell hilft das bei der Fehlersuche:

1
2
3
#!/bin/bash
echo "Autostart" >> /tmp/script.log
/pfad/zum/script.py 2>&1 >> /tmp/script.log

DasMurkel

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 156

Hi,

danke für die Tips! Ich hab jetzt die Wartezeit auf 10 Sekunden erhöht und das hat zum Erfolg geführt.

Antworten |