0

I want to add a python script to startup using another python script. Is there a way to do that?

Jacob Vlijm
  • 85,475

1 Answers1

2

Acc. to this specification, placing a .desktop file to ~/.config/autostart should work. So basically the task of your python script is

  1. Place a python script somewhere
  2. Place a .desktop file under ~/.config/autostart.

Here's an example of such a 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)
Hi-Angel
  • 4,810