How to run a program on startup in Debian

2019-08-08 09:48发布

问题:

I am attempting to run a program that I made on startup on my Raberry Pi 2. It is running Debian (Jessie) but it doesn't seem to work. I tried following this guide: Debian: Running Scripts on StartUp and creating a system link but nothing seems to be working. The program works when I run it not on startup. Here's the code:

#!/bin/sh
#/etc/init.d/StartGRIP.sh
#

### BEGIN INIT INFO
# Provides:            StartGRIP.sh
# Required-Start:      $local_fs $network
# Required-Stop:       $local_fs
# Default-Start:       2 3 4 5
# Default-Stop:        0 1 6
# Short-Description:   Starts GRIP Pipeline
# Description:         During startup, runs below command and starts GRIP
### END INIT INFO
# Start processing
env LD_LIBRARY_PATH=/home/pi/vision/grip:LD_LIBRARY_PATH java -jar...

The last command works so I didn't include the whole line as it is a long line.

Any help is greatly appreciated!

回答1:

Alternative way:

sudo crontab -e

And add

@reboot file_you_want_to_run &


回答2:

Create a desktop entry for the program and place it in ~/.config/autostart

As an example that starts Safe Eyes program placing it as ~/.config/autostart/safeeyes.desktop.

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Safe Eyes
Comment=Protect your eyes from eye strain
Exec=safeeyes
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
Categories=Utility;

[Optional] Set the proper permission.

  sudo chmod 644 /.config/autostart/[program-name].desktop