參考:https://www.cnblogs.com/downey-blog/p/10473939.html
目錄
方案一: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/