Linux添加應用自啓動

參考:https://www.cnblogs.com/downey-blog/p/10473939.html

目錄

方案一:rc.local

方案二:init.d

方案三:systemd

方案四:圖形化界面自啓動


方案一:rc.local

  • 使用cat /etc/rc.local查看原始信息如下

  • 添加啓動項

直接在/etc/rc.local 的空白位置添加需要啓動的應用。如下:

說明:path標識應用的全路徑、appname表示要啓動的應用名稱、&標識後臺啓動

方案二:init.d

  • 編寫啓動腳本
### BEGIN INIT INFO
# Provides:          downey
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: tomcat service
# Description:       tomcat service daemon
### END INIT INFO  

# Required-Start:   運行這個腳本需要的環境
# Required-Start:   停止這個腳本需要的環境
# Default-Start:    提供運行的運行級別
# Default-Stop:     不運行的運行級別
# Description:      描述

#!/bin/bash
path+appname

 說明:path標識應用的全路徑、appname表示要啓動的應用名稱、&標識後臺啓動

  • 添加可執行權限
chmod +x test.sh 
  • 複製到/etc/init.d下
sudo cp test.sh /etc/init.d/ 
  • 將test.sh腳本鏈接到開機運行序列中 
cd /etc/init.d
sudo update-rc.d test.sh defaults 96
  • 從開機序列中移除
sudo update-rc.d -f test remove

方案三:systemd

  • 編寫test.service
[Unit]
Description=
Documentation=
After=network.target
Wants=
Requires=

[Service]
ExecStart=/home/downey/test.sh
ExecStop=
ExecReload=/home/downey/test.sh
Type=simple

[Install]
WantedBy=multi-user.target

# Description:運行軟件描述
# Documentation:軟件的文檔
# After:因爲軟件的啓動通常依賴於其他軟件,這裏是指定在哪個服務被啓動之後再啓動,設置優先級
# Wants:弱依賴於某個服務,目標服務的運行狀態可以影響到本軟件但不會決定本軟件運行狀態
# Requires:強依賴某個服務,目標服務的狀態可以決定本軟件運行。
# ExecStart:執行命令
# ExecStop:停止執行命令
# ExecReload:重啓時的命令
# Type:軟件運行方式,默認爲simple
# WantedBy:這裏相當於設置軟件,選擇運行在linux的哪個運行級別,只是在systemd中不在有運行級別概念,但是這裏權當這麼理解。  
  • 賦值test.service到啓動目錄下
sudo cp test.service /usr/lib/systemd/system 
或者 
sudo cp test.service /etc/systemd/system
或者
sudo cp test.service /lib/systemd/system
  • 啓用服務
sudo systemctl enable test.service  
  • 啓動服務
sudo systemctl start test.service  

方案四:圖形化界面自啓動

  • test.desktop快捷方式編寫

快捷文件存儲在/usr/share/applications/下

[Desktop Entry] 
Encoding=UTF-8 
Name=MATLAB %桌面快捷方式的名稱 
Comment=MATLAB %註記 
Exec=/usr/local/bin/matlab %可執行文件完整路徑,用戶主目錄不可使用~代替 
Icon=/usr/local/MATLAB/R2016b/toolbox/shared/dastudio/resources/MatlabIcon.png %圖標文件完整路徑 
Terminal=true %是否使用終端,ubuntu下的matlab使用時需要調用終端 
StartupNotify=true 
Type=Application 
Categories=Application;Development;

 

  • 添加到自啓動
ln -s /usr/share/applications/test.desktop ~/.config/autostart/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章