樹莓派如何徹底無頭(無屏無網線無鍵盤鼠標)安裝

無頭樹莓派

最近終於閒下來能夠放心的玩一玩買來後就閒置的樹莓派3。頭疼的是,我沒有多餘的鍵盤鼠標和屏幕,也不想每次都鑽到放路由器的地方去插網線調試樹莓派,因此就在百度谷歌國內國外處處搜索「無頭安裝樹莓派」的方案,國內的文章和問答都搜不到,國外也沒找到完整的教程。git

不過在一成天的Google中,終於找到一篇冷門文章,而後順藤摸瓜,最終達成個人目的。感謝這篇文章https://caffinc.github.io/201...github

順帶一提,便於你的搜索引用,這個方案的英文術語叫"Raspberry Pi Headless setup"。只不過外文文章中搜到的也都不是"true headless",由於不少都要求最起碼先要用網線去鏈接。bash

正常鏈接的樹莓派,各類線

全面無線化的樹莓派

開始前有幾點要聲明:

  1. 樹莓派3是自帶wifi的,因此利用這個特色咱們能夠不用連網線來安裝。若是你用的是無wifi版本樹莓派,那麼依照這個思路能夠插上無線wifi的usb後再嘗試。
  2. 目前只嘗試過樹莓派最新的官方系統適用此方法,並且根據StackOverflow上的問答得知,這個特性也是新版系統纔有的。
  3. 本方案是在Mac上完成的,Windows上也能夠。

準備

  1. 樹莓派3
  2. SD卡(8G以上)

沒錯,就是這麼簡單。這就是我想要的效果。服務器

安裝系統先

首先是常規的系統安裝方法,很簡單。下載好官方網站的Raspbian桌面系統後,解壓成img格式文件。而後在Mac上用Etcher或ApplePi-Baker軟件,Windows上用Rufus軟件來將系統一鍵安裝到SD卡。網絡

這一步不須要詳細解釋,通常人均可以本身搜索到這幾樣東西,而後按照軟件上的圖式操做,除了下載時間外,全程也就10分鐘之內完成。less

Mac上用Ethcer安裝樹莓派系統

設置Wifi鏈接

這一步是本文最關鍵的一步,也是網上歧義分支最多的一步。在寫這一步以前我想了一下子,究竟是應該先上結果仍是先上過程。便於理解,仍是先說過程的好;但是做爲實用帖,先上結果比較有意思。ssh

只須要以下幾步即完成:網站

  1. Mac和Windows用戶直接打開樹莓派SD卡文件夾,Linux用戶打開SD卡所呈現的兩個分區中叫boot且內存極小的主分區(非樹莓派文件系統分區)
  2. 在根目錄放置一個文件名爲ssh的文件,無後綴名,內容有沒有都無所謂。Windows用戶怎麼操做能夠本身百度下。
  3. 在根目錄放置一個文件名爲wpa_supplicant.conf的文件,內容以下:spa

    country=GB
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
        ssid="你的Wifi名稱,注意大小寫"
        psk="你的Wifi密碼"
    }
  4. 把SD卡插回樹莓派,開機。

噠噠!完成!就是這麼簡單。而後來說解一下原理。命令行

新版的樹莓派系統,爲了自帶Wifi的樹莓派作了很多努力,讓你能夠簡單到在SD卡上創建一個叫ssh的文件,就自動識別爲開啓系統的SSH服務。而後你再放另外一個文件,告訴它Wifi和密碼,它就會自動連上網絡。

系統啓動後,這兩個會被刪除。若是你改了Wifi密碼,還能夠再作一次。

找到樹莓派的IP地址

首先要知道,用網線鏈接路由器獲得的IP地址和用Wifi鏈接路由器獲得的IP地址是不同的。網上好多文章都沒說清楚。

這裏咱們要用Wifi鏈接。

最簡單的是進入路由器的設置主頁,在DHCP列表中,找到樹莓派的ip地址。

或者能夠經過命令行來檢查。Mac或Linux上,用命令行輸入arp -a,向路由器中全部可能的ip都找一遍,而後顯示一個全部連上路由器的ip列表。能夠樹莓派先關機,看一下這個列表,再開機看一下這個列表,多出來的那個就是樹莓派的地址。

若是哪裏都沒有的話,那說明樹莓派沒有成功鏈接到Wifi:或者是配置錯誤,或者是剛開機還沒來得及鏈接。

經過SSH遠程鏈接樹莓派

Mac和Linux上直接打開終端,用ssh pi@IP地址來鏈接,默認密碼是raspberry。若是Mac上有設置SSH KEY這樣的東西,就先要肯定一樣ip地址之前沒有被記錄過。若是鏈接不成功,那麼就要到~/.ssh/known_hosts文件中刪除這條ip那一行的記錄,而後再鏈接ssh。

Windows上通常網上都推薦用putty這樣的簡易小軟件來鏈接(使用方法自行百度,很簡單),其實最簡單的是下載免安裝版的git bash,而後在git開發的終端上,各類玩耍Linux和Mac上的命令。

經過VNC遠程鏈接樹莓派桌面

在已經成功用ssh鏈接到樹莓派到話,若是鏈接樹莓派桌面,須要在樹莓派中安裝一個叫tightvncservervnc服務。

操做以下:

終端中輸入sudo apt-get install tightvncserver

安裝好後,輸入tightvncserver回車,啓動vnc服務。

而後就能夠鏈接了。

Mac中,在文件夾Finder的菜單中,打開Go下的鏈接服務器,而後輸入vnc://樹莓派IP地址:5901。其中5901是默認的端口。
Windows上可能須要安裝個軟件來鏈接,能夠本身查一查。

Mac VNC鏈接

鏈接桌面成功

關於wpa_supplicant.conf

網上文章關於wpa_supplicant.conf這個文件的編輯,產生了巨大的分歧和建議,這給我形成了很多的負擔。

在安裝好樹莓派系統後,SD卡其實是分爲兩塊磁盤的,一個爲啓動系統用的分區,另外一個爲存儲文件系統用的分區。一般文件系統的這個分區,除了Linux電腦之外都無法識別和讀取。而wpa_supplicant.conf這個文件恰恰又放置在文件系統分區的/etc/wpa_supplicant/目錄下,因此必須用Linux才能訪問。

出於鑽研精神,我在本身的Mac上安裝了VirtualBox虛擬機,下載了小到ttyLinux和PuppyLinux,大到Ubuntu和麒麟系統。無數次的安裝調試系統,嘗試各類Linux系統,包括解決虛擬機讀取SD卡的問題,最終仍是用了大Ubuntu系統來解決。插上SD卡後,Ubuntu就立馬顯示出兩塊磁盤。而後迅速找到文件系統的那個分區,進入到/etc/wpa_supplicant/目錄,發現居然沒有wpa_supplicant文件?後來才知道,文件是存在的,可是不顯示出來,即便能看到也不能編輯。而後又各類搜索如何編輯這個文件的方法,結果你們都只是說說,還像那麼回事同樣的直接寫用sudo nado /etc/wpa_supplicant/wpa_supplicant.conf來編輯,實際上徹底不可行。絕望至此。

而後忽然看到網上StackOverflow仍是QuoRa上有人回答這個問題,說新版的系統能夠這樣寫:

network={
    ssid="你的Wifi名稱,注意大小寫"
    psk="你的Wifi密碼"
}

而後將這個文件放置在通常人能夠訪問的boot分區上,而後系統啓動後會自動抓取、替換到主系統中。而後我很歡心的就去試了試,結果以失敗了結。

再次絕望以後,我失落的拿起一根很長的網線,不情願的走到路由器,插上水晶頭。雖然很成功的訪問到了網絡,但是就這麼的不甘心。

而後我在正常系統訪問後,好奇的在主系統中訪問到了/etc/wpa_supplicant/wpa_supplicant.conf這個文件,發現文件內容不光是網上問答所說的那兩句,頂部還有幾句簡單的聲明。

因而個人好奇心重燃,拔掉網線,再次從新安裝系統,將錯誤都清零,而後在boot分區的根目錄放置的wpa_supplicant.conf中加入該有的這幾句話。

啓動系統,

噠噠!完成!

實在太興奮了,因此才寫到此篇與你們分享。

有時候技術宅就是能從這些小事上得到極大的成就感,這也就是他們本身不以爲枯燥的緣由吧。

相關文章
相關標籤/搜索