I want to add a python script to startup using another python script. Is there a way to do that?
Asked
Active
Viewed 1,101 times
1 Answers
2
Acc. to this specification, placing a .desktop file to ~/.config/autostart
should work. So basically the task of your python script is
- Place a python script somewhere
- 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
- 3,702
- 1
- 29
- 36
chmod +x
(or something python-specific of a similar functional). – Hi-Angel Nov 17 '17 at 19:32~/.config/autostart/
same for windows too? – ajinzrathod May 15 '21 at 09:39~/.config
directory (they have $HOME directory though the~
symbol isn't expanded to its path, but the.config
directory there is not present on their systems). – Hi-Angel May 15 '21 at 10:33