ubuntu開機執行腳本
㈠ 【tips】Ubuntu 兩種開機自啟動程序方式
個人制檔鏈作的程序可以添加到開機自啟動項中,簡便一些流程,以下列出兩種方式
方式一
卜蠢雹 第一種方式比較簡單,通過Ubuntu 自帶的Startup Applications即可添加,只要選中路徑下的可執行文件即可。
方式二
通過Shell腳本+rc.local實現
step 01 創建一個腳本文件,比如起名為run_start.sh
step 02 修改rc.local文件,在exit 0之前添加執行腳本文件的命令
這兩種方式,都會在開機時啟動相應的程序。
當然,還有很多其他的啟動三方程序型帆的方式,目前沒有一一嘗試,僅舉兩例。
㈡ Ubuntu-18.04不能像ubuntu14一樣通過編輯rc.local來設置開機啟動腳本
ubuntu-18.04不能像ubuntu14一樣通過編輯rc.local來設置開機啟動腳本,通過下列簡單設置後,可以使rc.local重新發揮作攜州鍵用。
1、建立rc-local.service文件
sudo vi /etc/systemd/system/rc-local.service
2、將下列內容復制進rc-local.service文件
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
3、創建文件rc.local
sudo vi /etc/rc.local
4、將下列內容復制進rc.local文件
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo "看到這行字,說明添加自啟動腳本成功。辯巧跡寬" > /usr/local/test.log
exit 0
5、給rc.local加上許可權
sudo chmod +x /etc/rc.local
6、啟用服務
sudo systemctl enable rc-local
7、啟動服務並檢查狀態
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
8、重啟並檢查test.log文件
cat /usr/local/test.log
㈢ Ubuntu 設置程序雙擊啟動和sh腳本開機自啟動的另一種方法
系統 : Ubuntu16.04 LTS
在ubuntu下面開發的敬升Qt程序,進行動態發布之後有兩個問題:
在home中搜索Terminal,找到後拖到桌面上。
在Terminal圖標上郵件——Properties,然後在Command那一欄中填入以下指令:
例如:
還可以順便給它換個孫枯圖標,點擊哪個圖標就可以更換了,支持png格式圖片,可以去 阿里巴巴矢量圖庫則稿洞 找一個.
然後關掉窗口,雙擊圖標就可以運行腳本了。記得提前賦予腳本可執行許可權。
之前一篇的自啟動方法有點問題,下面的方法實測沒有問題。
在home搜索: start
打開它:
點擊add,中間那一欄填上面的那個指令,另外兩欄隨便填:
保存就可以了。
重啟電腦,就會自動運行,不能運行來找我,我幫你再網路網路……嘿嘿嘿
㈣ Linux Ubuntu 20.04 —添加開機啟動(服務/腳本)
本文章向大家介紹Linux Ubuntu 20.04 —添加開機啟動(服務/腳本),主要包括Linux Ubuntu 20.04 —添加開機啟動(服務/腳本)使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
系統啟動時需要載入的配置文件
一、修改開機啟動文件:/etc/rc.local(或者/etc/rc.d/rc.local)
二、自己寫一個shell腳本
將寫好的腳本(.sh文件)放到目錄 /etc/profile.d/ 下,系統啟動後就會自動執行該目錄下的所有shell腳本。
三、通過chkconfig命令設置
四、自定義服務文件,添加到系統服務,通過Systemctl管理
1.寫服務文件:如nginx.service、redis.service、supervisord.service
2.文件保存在目錄下:以754的許可權。目錄路徑:/usr/lib/systemd/system。如上面的supervisord.service文件放在這個目錄下面。
3.設置開機自啟動(任意目錄下執行)。如果執行啟動命令報錯,則執行:systemctl daemon-reload
4.其他命令
5.服務文件示例:
㈤ Ubuntu Desktop下自動啟動終端並運行腳本
1.進入桌面後按 Alt + F2 組合鍵,輸入 gnome-session-properties 並回車
2.點擊 添加 在command欄里輸入我們要添加的程序
gnome-terminal -x bash -c "/home/alex/test.sh"
然後點擊 保存 --> 關閉
3.重啟測試
如果想要執行時有root許可權
1. /etc/sudoers 添加許可權外
如普通用戶鏈帆名為 alex 則將下列內容寫入上文件
alex ALL=(ALL:ALL)NOPASSWD:ALL
2.設置 ASK_PASS 使用 sudo -A script.sh
①同目錄下建立密碼讀取文件 .pw ,輸入以下內容並添加可執行許可權
②在需要要執行的腳本中添加 export SUDO_ASKPASS=.pw
③在需要的指令前添加 sudo -A
via:
ubuntu開機自動打開終端並以root權含豎限執行程序
sudo 不用輸入密碼
PS:
Ubuntu下自談喚大動啟動終端並運行腳本或命令
Ubunut下幾種設置腳本開機啟動的方法
㈥ ubuntu 設置腳本開機自啟動
Ubuntu 18.04的改動還是比較大,很多之前版本 Ubuntu上簡單易用的一些功能都被砍了,比如設置 rc.local 自動啟動腳本的功能。之前的 Ubuntu上只需要把想要自動啟動的腳本放到 /etc/rc.local 這個文件,就可以開機啟動了,但是 Ubuntu 18.04 這樣做已經不行了,因為 rc-local.service 這個 systemd service 已經默認不啟用了。所以我們所需要做的就是重新啟用 rc-local.service,然後就可以像之前一樣簡單的設置開機自動啟動腳本了。
這個配置文件默認在 /lib/systemd/system/ 這個目錄下,我們只需將它拷貝到對應目錄:
然後編輯這個文件:
在最後加上這些內容:
修改後的 rc-local.service 文件完整如下:
配置完成後,還需要創建一個 rc.local 文件:
在這個文件里寫入我們想要開機自動啟動的命令即可。
然後給這個文件加上執行許可權:
至此,就已經完成了 rc.local 的配置,重啟之後會自動啟動對應想啟動的腳本。
如果發現沒有生效,可以嘗試:
接著啟動這個服務並查看它的狀態
命令輸出如下
可以看到rc.local中的腳本已經被正確執行了。
㈦ Ubuntu20.04開機運行自定義腳本
基於 Debian 的 Linux 系統默嘩答認支持 rc-local.service 服務,這個服務主要用來在系統啟動時運行用亂笑慧戶自定義的腳本命令等。
要想使用 rc-local.service 服務在系統啟動時運行用戶自定義的腳本命令,首先需要在 /etc 目錄下創建 rc.local 文件(若已創建則跳過創建)並修改可執行許可權,然後設置該服務開機自啟:
打開 /etc/rc.local 文件,往其中添加運行自定義腳本的命令即可。
【注】 /etc/rc.local 以及自定義腳本中都不能使用系統變數(比如 $HOME ,原因在於其執行自定義腳本時並沒有繼承系升雀統變數)。
此時會顯示開機自啟執行腳本的輸出結果。
㈧ ubuntu開機和登陸後自動運行哪些腳本程序
1.開機啟動時自動運行程序
Linux 載入後, 它將初始化硬體和設備驅動, 然後運行第一個進程init。init根據配置文件繼續引導過程,啟動其它進程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本文件,可以使init自動啟動其它程序。例如:編輯 /etc/rc.d/rc.local 文件(該文件通常是系統最後啟動枯頃戚的腳本),在文件最末加上一行「xinit」或「startx」,可以在開機啟動後直接進入X-Window。
開機後還要自動運行很多服務,如mysql,memcache等。
2.登錄時自動運行程序
用戶登錄時,bash首先自動執行系統管理員建立的全局登錄script :/ect/profile。然後bash在用戶起始目錄下按順序查找三個特殊沒陵文件中的一個:/.bash_profile、/.bash_login、 /.profile,但只執行最先找到的一個。 因此,只需根據實際需要在上述文件中加入命令就可以實現用戶登錄時自動運行某些程序(類似於DOS下的Autoexec.bat)。
注意不是自動運行.bashrc腳本,而是.profile腳本。
可以看看源碼.profile:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
,.. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin"乎或 ] ; then
PATH="$HOME/bin:$PATH"
fi
可以看出,我們平時使用的.bashrc文件,僅僅是被.profile腳本載入的。
所以很多同學默認是zsh會導致純粹按照某些文章指示編寫.bashrc腳本的環境變數不起作用,比如使用rvm的。
3.退出登錄時自動運行程序
退出登錄時,bash自動執行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令「tar -cvzf c.source.tgz *.c」,則在每次退出登錄時自動執行 「tar」 命令備份 *.c 文件。
4.定期自動運行程序
Linux有一個稱為crond的守護程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內容為「00 9 23 Jan * HappyBirthday」,運行「crontab cronFile」命令後,每當元月23日上午9:00系統自動執行「HappyBirthday」的程序(「*」表示不管當天是星期幾)。
因為.bashrc或者說.profile文件是在登錄時才執行的,如果不登陸能執行么,或者說如果要運行服務怎麼辦,此時並沒有某個用戶登陸,也就麽有相應的環境變數了。
比如啟動rails的服務的www用戶。
使用sudo命令的參數-i
查看manue:
-i [command]
The -i ( simulate initial login ) option runs the shell specified by the password database entry of the target user as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command isspecified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The security policy shall initialize the environment to a minimal set of variables, similar to what is present when a user logs in. The Command Environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command is run when the sudoers policy is in use.