2016-09-07 2 views
1

Ich habe ein Python-Skript, das mein Linux-Terminal, Browser, Datei-Manager und Texteditor beim Systemstart öffnen sollte. Ich entschied crontab ist eine geeignete Möglichkeit, das Skript automatisch auszuführen. Leider lief es nicht gut, nichts passierte, als ich meinen Laptop neu startete. Also habe ich die Ausgabe des Skripts in einer Datei festgehalten, um einige Hinweise zu bekommen. Es scheint, dass mein Skript nur teilweise ausgeführt wird. Ich benutze Debian 8 (Jessie), und hier ist mein Python-Skript:, wie Python-Skript ordnungsgemäß mit Crontab bei jedem Systemstart ausführen

#!/usr/bin/env python3 

import subprocess 
import webbrowser 

def action(): 
    subprocess.call('gnome-terminal') 
    subprocess.call('subl') 
    subprocess.call(('xdg-open', '/home/fin/Documents/Learning')) 
    webbrowser.open('https://reddit.com/r/python') 

if __name__ == '__main__': 
    action() 

hier ist der Eintrag in meinem crontab Datei:

@reboot python3 /home/fin/Labs/my-cheatcodes/src/dsktp_startup_script/dsktp_startup_script.py > capture_report.txt 

Hier ist der Inhalt der capture_report.txt Datei (I trimmen mehrere Zeilen, da es zu lange, druckt er nur meine Ordnerstrukturen scheint, wie es von ‚xdg-open‘ Linie auf Python-Skript kam.):

Directory list of /home/fin/Documents/Learning/ 

        Type  Format  Sort 
        [Tree ] [Standard] [By Name] [Update] 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
/ 
... the rest of my dir stuctures goes here 

ich keine andere Ahnung, was p ist geht hier vielleicht schief. Ich schätze deine Ratschläge sehr. Vielen Dank.

Antwort

1

Nein, cron ist dafür nicht geeignet. Der cron Daemon hat keine Verbindung zur Desktop-Sitzung Ihres Benutzers, die sowieso nicht beim Systemstart ausgeführt wird.

Ich empfehle, die Anmeldeskripte Ihrer Desktop-Umgebung anzuhängen, die sowieso für das Starten verschiedener Desktop-Dienste zuständig sind, wenn Sie sich anmelden, und leicht mit Ihren eigenen Skripten erweitert werden können.

+0

danke dir. das löst mein Problem :) – under5hell

Verwandte Themen