How to Set Programs Starting Automatically–Part 2. After System Initialization
This is the second part of the setting programs starting automatically. Part 1 start programs at system initialization is here.
Method 2: Add your Program to Profiles and bashrc
1. Profiles
Right before user is logged into the system, there’re certain settings configured. The system wide configuration is done through the script /ect/profile.
And there is also a profile for each user at home directory. There’re several possible names for it. The system will search for .bash_profile first, if not found, it will look for .bash_login, if not found also, it will finally use .profile.
If you want to execute some programs/scripts right before user is logged in, these are the files you should edit.
2. Bashrc
After user is logged in, if your system doesn’t have a UI environment, the text terminal should have been started already. The script /etc/bash.bashrc (for all users) and ~/.bashrc (for a specific user) are executed.
If you want to execute some programs/scripts every time you start up a text terminal, you can put them into these files.
Method 3: Add your Program to Gnome Start Up Programs
In Ubuntu (I guess the same in other gnome desktop system), you can set Startup Applications under System=>Preferences=>Startup Applications.
You can add your program by specifying the name and command.![]()
Once you add a program, a configuration is created under ~/.config/autostart/ directory. For example, my Ubuntu system has Dropbox installed and it’s configured to start up when Gnome starts up. The configuration file is located at ~/.config/autostart/dropbox.desktop
Method 4: Use cron to Start your Program
cron is utility to execute scheduled commands, like task scheduler in Windows. Although it’s mainly used to execute scheduled task, you can also make use of it to auto start up your programs/scripts.
The idea is simple. Add a cron entry to run a wrapper script every minute. In the wrapper script, check if the program/scripts is already started. If not, start the program/script, otherwise, do nothing.
1. To configure a cron task, use
sudo crontab -e
Add the line to the configuration file,
* * * * * /home/xxx/xxx/autostart.sh
You can check your configuraiton by entering
sudo crontab -l
2. Write the autostart.sh script similar to the sample below,
#!/bin/bash
if [ -z "$(pgrep myprogram)" ]
then
/home/xx/xx/myprogram &
fi
The & is added to run the program at background.
If you want to learn more details about cron, you can refer to here.
Leave a Reply Cancel reply
40% Discount on My Book — Android NDK Cookbook
Android NDK Cookbook ebook 40% discount with promotion code MREANC40 at Packt Publishing The promotion code is valid until 15th June.Categories
- Android Apps (18)
- Android Audio Editor (1)
- TS 2 (3)
- Video Converter Android (8)
- Video2Gif (1)
- Android Tutorial (27)
- Android Dev Tools (1)
- API illustrated (8)
- Multimedia API (3)
- ffmpeg on Android (4)
- NDK (6)
- UI (6)
- Animation (2)
- Code Snippet (2)
- Coding Beyond Technique (18)
- a word, a world (4)
- Bug Rectified (4)
- Programming Habit (1)
- Software as a Career (1)
- Software as User Experience (1)
- Compilers and Related (2)
- ELF (2)
- Computer Languages (31)
- C/C++ (13)
- Java (9)
- JavaScript (2)
- PHP (1)
- Python (8)
- Data Structure & Algorithms (29)
- Bits (1)
- Data Structure (5)
- Integers (10)
- BigInteger (1)
- Prime (4)
- Search (3)
- Sorting (5)
- Strings (5)
- Database (1)
- SQLite (1)
- Digital Signal Processing (33)
- Distributed Systems (17)
- Apache Cassandra (6)
- Apache Hadoop (8)
- Apache Avro (3)
- Apache Nutch (3)
- Apache Solr (1)
- Linux Study Notes (40)
- crontab (1)
- Linux Kernel Programming (8)
- Linux Programming (12)
- IPC (2)
- Linux Network Programming (5)
- Linux Signals (2)
- Linux Shell Scripting (1)
- ssh (3)
- Machinery (30)
- misc (1)
- My Ideas (1)
- My Project (3)
- Mobile Caching (1)
- Selective Decoding (2)
- My Publication (1)
- My Readings (1)
- Networking (15)
- Program for Performance (8)
- Uncategorized (1)
- Virtual Machine (2)
- Web Dev (8)
- web components (3)
- Android Apps (18)
Recent Comments
Archives
- May 2013 (2)
- April 2013 (1)
- March 2013 (4)
- December 2012 (2)
- November 2012 (6)
- October 2012 (6)
- September 2012 (3)
- August 2012 (13)
- July 2012 (15)
- June 2012 (3)
- May 2012 (8)
- April 2012 (4)
- March 2012 (13)
- February 2012 (19)
- January 2012 (9)
- December 2011 (11)
- November 2011 (12)
- October 2011 (4)
- September 2011 (12)
- August 2011 (16)
- July 2011 (15)
- June 2011 (6)
- May 2011 (10)
- April 2011 (13)
- March 2011 (20)
- February 2011 (4)
- November 2010 (2)
- May 2010 (1)
- April 2010 (1)
- February 2010 (1)




