2013年2月1日 星期五

把 Windows 桌面當作是 Raspberry Pi (樹莓派) 的螢幕

延續前一篇文章:在 Windows 設置 Raspberry Pi (樹莓派) 遠端編輯環境,本篇介紹另一個可以在本地端開啟 Raspberry Pi (樹莓派) 的方法,寫這邊主要的目的是為了樹莓派擴充版 Gertboard 與 PiFace Digital 做準備,讓購買之後的你 (妳) 能夠容易的上手,簡單的工作我來做,研究與開發樹莓派的能力就讓大家來努力!

賣場的兩塊擴充版:GertBoard 和 PiFace 都可以使用這兩種方法進行開發,但由於 PiFace 具備 Emulator 和 Simulator 的軟體支援,因此遠端桌面是一定要有的。若是直接在樹莓派弄也可以,但我就是不想另外開一台螢幕用,而且我只想單純的把樹莓派當作單晶片方式使用,線接一接,把程式上傳到單晶片去之後,就可以看到結果,不想要線牽一堆,單純的使用電源與無線網卡 (或有線網路) 連接就好,方便!!

以上純屬個人建議,或許你 (妳) 有更好用的方法,共勉之!



我個人使用樹莓派很少連接螢幕,都是在 PC (Windows) 環境下 再利用 SSH 登入至樹莓派作業系統環境下操作,因為東西就在手邊可觸之處,不但省電且做硬體接線與佈線都會方便許多,大家看過介紹後,可以自己試試看!

環境設置比上一篇簡單許多,只要在 PC 安裝一個 MoboXterm 軟體就可以搞定,Advanced IP Scanner 可裝可不裝 (只要你的樹莓派 IP 位址已知),然後開啟樹莓派的 SSH server 就可搞定了!

下面所使用的作業系統版本是:全新安裝 2012-12-16-wheezy-raspbian


Step 1:開啟樹莓派的 SSH server


要設置樹莓派遠端編輯環境,請照下面的說明打開打開 SSH Server

登入樹莓派之後,請輸入指令 sudo raspi-config,進入 raspi-config 選單,將樹莓派的 SSH 功能打開,然後 Finish 後關機,將所有東西拔掉只留下電源與網路線連結之後開機,就可先放在一邊,繼續接下來的工作了!

raspi-config 選單



Step 2: 安裝 Advanced IP Scanner


打開 SSH 後,必須要知道樹莓派在區域網路裡的位址,一般只要確認一次就好,只要區域網路的電腦變動不大,IP 通常都不會再變動 (即使是 DHCP)。

不過,還是會有例外的 !

因此在這邊介紹一個可以掃描區域網路中電腦 IP 位址的軟體 Advanced IP Scanner,它可以幫助你簡單得知樹莓派在區域網路中的 IP 位址,只要按下 Scan 按鈕就好 !

Advanced IP Scanner 軟體開啟時畫面,source:www.advanced-ip-scanner.com

下載 Advanced IP Scanner (版本 2.2.224)

Advanced IP Scanner 中文教學:網段內不知道那些IP有使用~Advanced IP Scanner快速掃描


點擊網頁上方的 "下載Advanced IP Scanner" 連結。進入官網頁面之後,點下 Download 圖示就可以下載。

Advanced IP Scanner 官網
下載之後就先安裝,然後打開它按下 Scan 按鈕進行掃描,看看你的樹莓派的 IP 位址是多少並把它寫下或是記下,下一個步驟中會需要它。



Step 3:安裝 MobaXterm

開啟瀏覽器到 MobaXterm 網站下載最新版的 free Xserver and tabbed SSH client for Windows ( 這裡下載的是 6.1,確認最新版本 ),在 Windows 作業系統下安裝,完成安裝之後打開它。

先在視窗左邊按下 "New session",然後點擊 "SSH" 按鈕產生一個新的 SSH session,在 "SSH settings" 頁面下的 "Remote hostname" 輸入樹莓派的 IP 位置 ( 我是使用 192.168.1.9 ),其餘的維持預設值。

MobaXterm:產生一個新的 SSH session

切換頁面到 "Advanced terminal settings",如果你有使用中文字的話,修改 "Charset" 為 "UTF-8" (或是其它的字元集) ,就可以顯示中文字。其餘的看自己需要做修改,我是維持預設值。

MobaXterm:修改 Charset 使其可以顯示中文字

切換頁面到 "Session settings",修改 "Session name"。這裡輸入的是我喜歡的名稱,你可以自己命名這個 SSH session 的名稱。

MobaXterm:修改 Session name

修改之後按下 "OK" 按鈕後,就會新開一個剛剛設定 session 頁面,此時輸入使用者名稱 ( 預設使用者名稱是:pi,不用輸入密碼 ),連線成功後就會出現   pi@raspberrypi ~ $  提示字元

MobaXterm


接著,輸入 startx 進入 LXDE 桌面環境, (錯 ! 錯 ! 錯 !) 這是 Windows 作業系統 !

如果 MobaXterm 就只是這樣的功能,就使用 PuTTY 就好,也就不會介紹這個軟體 !

在命令提示字元下輸入 lxsession& ,就會看到跟下面圖示一樣的東西出現,完整的 LXDE 桌面環境出現在 Windows 作業系統下。

往後只要開啟任一個應用程式,就會開啟另一個 MobaXterm 工作室窗在 Windows 工作列下,如同 windows 應用程式一樣,只不過所做的任何動作都會反應到樹莓派去。

MobaXterm:Windows 作業系統下開啟樹莓派作業系統的 LXDE 桌面

MobaXterm 這是一個很好用的軟體,讓你可以在 Windows 連線到樹莓派又可以在 Windows 作業系統下操作樹莓派的 LXDE 桌面,可以一邊寫程式一邊編譯,非常的方便 !

以上!

11 則留言:

  1. 要怎麼退出LXDE
    回到命令模式呢?

    回覆刪除
    回覆
    1. 若是使用 MobaXterm 開啟 LXDE,就只能直接關掉,不能切換到命令列下;命令模式就直接使用 MobaXterm 就可以了!

      刪除
  2. 您好 拜讀您的文章之後 使用了這個軟體 也成功跟樹莓派連上了 不過發現只能在同區域的網路下操作 那想知道 假如能把樹莓派放在家 而我可以在任何地方連上它 不知道是否可行呢?

    回覆刪除
    回覆
    1. 您好:
      固定 IP,或是申請一個動態 DNS。
      rs.twnic.net.tw/dyndn_intro.htm

      刪除
  3. 輸入 lxsession&

    出現 connect /tmp/.X11-unix/X0: No such file or directory

    怎麼辦? 我去那個路徑看 X0是存在的 不知道為什麼進不去桌面

    回覆刪除
    回覆
    1. 您好:
      我很想幫您解決,但是您要描述清楚問題的來龍去脈和您是怎麼做,只給我一個結果,我並不知道如何著手處理 ?

      1. 重新使用 MobaXterm 在重新產生一個 SSH session 嗎 ? 一般只要使用預設值就可以了,這可以先試試!
      2. 您的作業系統是使用哪一種 ? 網頁是使用 Raspbian Wheezy 的 linux 版本。
      3. 網頁使用預設使用者 pi 登入,沒做過任何使用者權限或軟體組態的更改;如果有修改過一些像是 SSH 相關的設定,就有可能出現問題。
      3. 確認一下您的樹莓派系統下的 DISPLAY 環境變數是多少 ? MobaXterm 的解釋。看一下有何不同。
      [[
      Why is my remote DISPLAY variable configured to "localhost:10.0"?

      If you check the "DISPLAY" environment variable on your remote server, you will notice that it is set to something like "DISPLAY=localhost:10.0". This is the standard behaviour for X11-Forwarding: it means that any program will use a local virtual display (:10.0) which is created by SSH and which will be automatically forwarded trhough the SSH connection to MobaXterm display.
      ]]
      4. 如果您是新系統未做過任何軟體安裝、設定...等動作,那出現這問題的機會不大!所以建議您再做一片新的作業系統試試。

      刪除
  4. 你好,我想請問一下我用lxsession連上後不會出現完整畫面(看不到工具列那些東西)好像是因為我的筆電的畫面比樹莓派的畫面還要小所以看不到,請問這該如何解決呢?

    回覆刪除
    回覆
    1. 查 lxsession 的指令看有沒有可以設定;另外就是改用 VNC Server

      刪除
  5. 抱歉我是新手請問如何打開 var/www/html write 權限

    回覆刪除
    回覆
    1. 如果是因為設定 webserver相關軟體而不能有寫入的權限,那就是現在登入的使用者沒有 /var/www/html 的寫入權限,加入就可以!
      假設現在登入的使用者是 pi

      $sudo chown www-data:www-data /var/www
      $sudo chmod 775 /var/www
      $sudo usermod -a -G www-data pi
      $sudo reboot

      試試!

      刪除