當前位置:首頁 » 編程軟體 » 樹莓派開機腳本

樹莓派開機腳本

發布時間: 2022-11-28 00:11:22

⑴ 怎麼讓 Raspberry Pi 里的程序開機自動運行

樹莓派的/home/pi/track目錄下,有一個名叫main的程序,現在,我已經可以在SSH或終端中,手工輸入命令:sudo ./main 運行成功。((注意,你在看本教程的時候,一定要百分百的確定,你的程序是可以手工在SSH中執行成功的)
第一步:製作sh腳本
在程序main)的同級目錄即/home/pi/track下,使用如下命令:
sudo nano clientStart.sh

輸入如下腳本內容:
#!/bin/shcd /home/pi/tracksudo ./main

(其實就是將程序運行路徑與程序執行命令寫在了一個腳本里)
然後按ctrl+x退出,再按Y保存,再按Enter,此時回到了主界面。
第二步:修改clientStart.sh的許可權
在主界面里輸入以下命令:
sudo chmod 777 /home/pi/track/clientStart.sh

一定要修改這個許可權,否則無法執行
第三步:向rc.local添加我們製作的這個腳本,用於開機啟動。
使用命令:
sudo nano /etc/rc.local

回車後,就進入了rc.local,這時,在exit 0的上一行,寫入如下程序:
/home/pi/track/clientStart.sh start

按ctrl+x,再按Y保存,再按Enter,此時,又回到了主界面。
(上面的步驟,實際上就是將上面製作的腳本添加到rc.local里)
上面的做完後,重啟樹莓派,main就可以自動運行了,以後,只要一通電,它就會自己運行。

⑵ 樹莓派設置開機啟動腳本

由於北郵校內網需要Drcom撥號,每次用curl命令很麻煩,所以開始了這次寫開機啟動腳本的過程。

init 進程讀取 /etc/inittab文件中的信息,並進入預設的運行級別。

Debian中的運行級別

查看系統當前運行級別使用 runlevel 命令,通常情況下 /etc/rcS.d/目錄下的啟動腳本首先被執行,然後是/etc/rcN.d/目錄,N為 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:

有K開頭的文件,有S開頭的文件,K的意思是Kill,S為Start。K和S後面緊跟著的數字就是關閉和啟動的順序,數字越大關閉或啟動順序越靠後。
將自定義腳本放在 /etc/init.d 目錄下面,就可以使用 service yourshellname start|stop 當然需要腳本中寫好start,stop功能。但是不能開機自啟動。

使用update-rc.d函數將腳本設置為開機自啟動。
1)設置腳本啟動和關閉依賴$remote_fs,$syslog,並且啟動運行級別為2-5,關閉運行級別為0,1,6。
update-rc.d foobar defaults
上面一條命令就會在/etc/rc2.d rc3.d rc4.d rc5.d中創建軟鏈接 S03drcom -> ../init.d/drcom ,在rc0.d rc1.d rc6.d中創建軟鏈接 K01drcom -> ../init.d/drcom 。
2)設置腳本啟動關閉都為順序20,並且啟動運行級別為2-5,關閉運行級別為0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。

3)移除連接。
update-rc.d yourshellname remove

參考文獻:
[1] 開機自動執行腳本 與 update-rc.d
[2] 樹莓派開機自啟動腳本製作
[3] Debian init 開機啟動管理
[4] 樹莓派開機啟動程序及啟動腳本的製作

⑶ 樹莓派系統怎麼運行py文件

一、首先寫個簡單的python
腳本
腳本很簡單,就是樹莓派上一個燈閃爍程序
文件保存在/home/pi/script/ledblink.py

開機啟動腳本
保存腳本為/etc/init.d/ledblink文件

設置python腳本開機啟動
這樣就完工了,重啟樹莓派就會發現led自己閃爍了,停止用sudo
service
ledblink
stop就行

⑷ 樹莓派開機自啟PPTP以及NAT內核轉發

1. 安裝PPTPD
apt-get install pptpd
2. 配置PPTP伺服器與客戶端IP
nano /etc/pptpd.conf
localip 192.168.4.1 #PPTP服務端IP
remoteip 192.168.4.100-200 #PPTP客戶端IP范圍
3. 配置PPTP客戶端使用的DNS
nano /etc/ppp/pptpd-options
ms-dns 192.168.1.1 #這里配置路由器的IP,速度比較快

⑸ 智慧家庭 - HA(1) - 在樹莓派上架設 Home Assistant

本文索引:

Home Assistant (以下簡稱 HA) 是一個開源的智能家居網關項目,它可以將市面上所有支持的智能硬體設備整合到一起進行統一管理,並提供了默認的 Web UI。HA 社區開發了海量組件以支持市面上主流的設備,在 IoT 中扮演了大腦的角色。在家庭伺服器上架設 HA 有多種實現方式,官方也製作了對應的系統鏡像 Hass.io ,並推薦使用「樹莓派3B+」作為其宿主機器。

為了驗證預期效果,最好提前准備好以下設備:

通過 Docker Image 安裝及更新一種服務免去了為該服務准備依賴環境的繁瑣步驟, HA 官方推出了對應的 Docker Image 且支持樹莓派的 CPU 架構,本文主要介紹通過 Docker 安裝 HomeAssistant 。如果你不喜歡 Docker ,可以參考 Install Home Assistant 以其他方式安裝。

使用 Docker 安裝 HA 是非常簡單的,官方提供了支持 Raspberry Pi 3 Docker Image 和「 安裝指南 」:

參數 /path/to/your/config:/config 映射 container 的 /config 至本地主機的物理路徑,此處我選擇了 ~/.homeassistant 。如果希望安裝指定版本的 Image,參考「 HA 在 Docker Hub 上的 Tag 列表 」選擇版本,例如 0.69.1:

安裝完成後, HomeAssistant 的 container 已經開始運行:

查看剛剛指定的配置文件目錄,出現了以下文件及目錄:

config 目錄(此處為 ~/homeassistant/ )下的 configuration.yaml 是配置文件的入口點,其他由 yaml 為擴展名的配置文件均是為了實現獨立管理而單獨分離出來的文件,可在 configuration.yaml 文檔中找到如下入口載入這些配置文件:

8123 是 Web UI 的默認埠,嘗試在瀏覽器中輸入 http://{ip-address-to-raspberry}:8123 訪問,得到如下結果:

HA 會自動查找接入同一網路中的智能設備,是因為 configuration.yaml 中默認配置了 Discovery 組件:

一切正常之後,每次重啟樹莓派必須手動執行 docker container start [Container ID]/NAME 的方式來啟動 HA 服務,我們需要將其做成服務或加入開機啟動腳本,編輯 /etc/rc.local 文件:

重啟樹莓派, HA 開機啟動成功,至此,一個基本款的家庭 HA 搭建就完成了。

HA 目前仍然在快速迭代中,對應的 Docker Image 也會同步放出。要更新以 Docker Container 運行的 HA 實例,只要重新拉取最新版本的 Image 即可:

⑹ 樹莓派上python腳本程序怎麼運行

樹莓派中sudo是不需要密碼的。 所以原則上可以在腳本里切換成ROOT用戶。

你這個腳本做什麼用,如果只是切換完了,執行一個命令,直接用su就可以搞定,印象中是su -c。su -c USER CMD

如果你想執行完腳本後還保留在root狀態中,直接用sudo -s就可以

⑺ 樹莓派linux啟動過程簡介

    昨天在寫關於linux設置腳本開機啟動的文章時,有個疑問就是開機時怎麼確認運行級別,然後遍歷執行/etc/rcN.d/目錄下的所有服務程序。帶著疑問, 在前人的基礎上 學習總結一下linux系統初始化的工作的內容,現在樹莓派4B上展示出來。

1、載入內核

    當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬碟)來啟動。操作系統接管硬體以後,首先讀入 /boot 目錄下的內核文件。樹莓派4B的內核是Raspbian GNU/Linux 10 (buster),基於Debian。

2、初始化進程init

    內核文件載入以後,運行第一個程序init,它的作用是初始化系統環境。init位於目錄/sbin,進程號PID為1,即1號進程,其他所有進程都由init衍生,是init的子進程。

    同時還有個0號進程,idle進程,在系統初始化時由內核kernel自身從無到有創建,通過調用kernel_thread創建一個內核線程去執行init函數,0號進程創建1號進程。

3、運行級別

    具體介紹請參考筆者的文章-Linux運行級別簡介  ,但是開機時是怎麼確定運行級別的呢?

    init進程首先讀取文件 /etc/inittab,它是運行級別的設置文件。但是各個發行版不太一樣,init的配置文件也不一樣,有可能使用/etc/event.d裡面的配置文件,最新版的改用為/etc/init目錄。

4、開機啟動程序

    具體詳情請參考文章-linux中/etc/init.d設置開機啟動 ,確定運行級別後,執行rcN.d目錄下的文件,這些鏈接文件是連接到init.d目錄下的程序。init進程逐一載入開機啟動程序,其實就是運行這個目錄里的啟動腳本。

    比如運行級別為5(圖形化多用戶)時啟動的程序:

5、用戶登錄

    開機啟動程序載入完畢以後用戶登錄。用戶的登錄方式有三種:

    命令行登錄:init進程調用getty程序。

    ssh登錄:init進程調用sshd程序。

    圖形界面登錄:init進程調用顯示管理器,Gnome圖形界面對應的顯示管理器為gdm。

6 、login shell

    默認shell時bash,命令行界面,讓用戶可以直接與操作系統對話。讀取環境變數,具體請參考筆者文章-Linux環境變數的設置。

⑻ 樹莓派怎麼讓他開機自啟動程序

通過 修改 /etc/rc.local 文件 把啟動程序的shell命令加入進去即可以

下面以樹莓派做實驗

sudo nano /etc/rc.local


可以看到開機後程序自動運行

⑼ 樹莓派怎麼開機

插上電源,通電即開機。
如果是樹莓派3或4,就是有40根針的gpio介面的樹莓派。
關機後,如果還沒有斷電,可以短接一下第5和第6根針,隨即放開,即可實現重新開機。

⑽ 樹莓派通過SSH登錄,無法運行「startx」命令進入系統是什麼原因

SSH暫時不支持圖形界面。可以追問望採納謝謝
VNC遠程登錄樹莓派的圖形界面的方法:
安裝VNC需要使用命令行。如果需要遠程操作安裝VNC,就必須通過SSH登錄到命令行界面。
安裝
樹莓派命令行:
sudo apt-get install tightvncserver

安裝好之後請一定先使用此命令設置一個VNC密碼:
vncpasswd

(先輸入操作密碼兩次,然後會詢問是否設置一個查看(view-only)密碼,按自己喜歡,一般沒必要。)

開機自動啟動
設置開機啟動,需要在/etc/init.d/中創建一個文件。例如tightvncserver:
(註:啟動腳本的名稱,有和程序名一致的習慣)
sudo nano /etc/init.d/tightvncserver

內容如下:(putty窗口中按右鍵=粘貼)#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO

# More details see:
# http://www.penguintutor.com/linux/tightvnc

### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required

eval cd ~$USER

case "$1" in
start)
# 啟動命令行。此處自定義解析度、控制台號碼或其它參數。
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
# 終止命令行。此處控制台號碼與啟動一致。
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0

註:少數玩家默認用戶不是pi的請自行更改USER變數
按Ctrl+X,回答Y(存檔)退出nano編輯器。
然後給tightvncserver文件加執行許可權,並更新開機啟動列表。

1
2

sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

電腦登錄VNC
下載Windows客戶端RealVNC Viewer。
登錄地址輸入「IP地址:控制台號碼」,0號控制台可不加號碼。
也可使用Android版VNC客戶端,下載地址:http://android.d.cn/software/19334.html
附:手工啟動與參數(以下用處不大,沒興趣請略過)
使用此命令手工啟動VNC伺服器程序:

1

tightvncserver -geometry 800x600 :1

如果首次啟動,並且未曾使用vncpasswd命令設置密碼,程序會要求設置一個。
開機啟動很方便。如果沒理由,真的不推薦手工啟動。
命令行參數說明:
一、:1,指定控制台的號碼。
啟動多個控制台,可以提供互不影響的多個桌面環境。(大多數人不用多用戶操作所以沒意義)
可以不加此參數,tightvncserver會自動尋找從1開始的下一個空閑控制台。
加上此參數,會強制使用指定的控制台,如果此控制台已經啟動則報錯。加此參數可有效防止無意多次啟動程序(會啟動多個控制台)白白浪費系統資源。
特殊的0號控制台
0號控制台就是連接真實顯示器真正輸出圖像的那個桌面。
對於VNC客戶端,不輸入埠號登錄,默認就登錄到0號控制台,方便。
但是因為0號是真正的桌面,所以和開機啟動桌面環境,或者自己用startx命令,都存在啰嗦的沖突。
到頭來是個麻煩。因此自動啟動的配置教程中,一律使用1號控制台。
二、-geometry 800×600,解析度。可以不加。
終止VNC控制台:
tightvncserver -kill :1
查看正在運行的控制台列表:

1

ps ax | grep Xtightvnc | grep -v grep

via

熱點內容
網易我的世界皮膚能用到伺服器嗎 發布:2024-03-28 18:24:44 瀏覽:804
access資料庫數據類型 發布:2024-03-28 18:16:04 瀏覽:301
安卓界面如何變成蘋果手機界面 發布:2024-03-28 18:07:17 瀏覽:742
方舟手游如何卡安卓大廳會員 發布:2024-03-28 17:52:37 瀏覽:241
空域銳化演算法 發布:2024-03-28 17:52:32 瀏覽:500
虎牙安卓版是什麼意思 發布:2024-03-28 17:43:10 瀏覽:861
電腦改成雲伺服器 發布:2024-03-28 17:37:50 瀏覽:266
文件夾審計 發布:2024-03-28 17:08:20 瀏覽:242
密碼反編譯是什麼意思 發布:2024-03-28 17:02:54 瀏覽:310
linux下samba 發布:2024-03-28 16:54:12 瀏覽:539