Acc. para essa especificação , colocar um arquivo .desktop em ~/.config/autostart
deve funcionar. Então basicamente a tarefa do seu script python é
- Coloque um script python em algum lugar
- Coloque um arquivo .desktop em
~/.config/autostart
.
Aqui está um exemplo de tal script
import os
autostart_path = os.path.expanduser('~/.config/autostart/')
nameofmyscript = 'myscript.py'
nameofmydesktopfile = 'myscript.desktop'
mypythonscript = """#!/usr/bin/python
print("hello")"""
desktopfile = """[Desktop Entry]
Type=Application
# The version of the desktop entry specification to which this file complies
Version=1.0
# The name of the application
Name=Script
# A comment which can/will be used as a tooltip
Comment=My cool python script
# The path to the folder in which the executable is run
Path=%s
# The executable of the application, possibly with arguments.
Exec=%s
# Describes the categories in which this entry should be shown
Categories=Education;Languages;Python;
""" % (autostart_path, nameofmyscript)
# write the desktop file
with open(autostart_path + nameofmydesktopfile, 'w+') as script:
script.write(desktopfile)
# write the python script; you can place it anywhere actually, just be sure to correct the desktop
# file accordingly
with open(autostart_path + nameofmyscript, 'w+') as script:
script.write(mypythonscript)
os.system('chmod +x ' + autostart_path + nameofmyscript)