Surface RTでモバイルLinux環境を作る

モバイル環境を作るならば、ノートPCにLinuxを入れればいいじゃん(あるいは、Windows の VMWare 上に Linux を入れればOK)、ってことなのですが、

から、ふと思ったネタ企画です。うまく動けば、9月の.NETラボ勉強会のLTで話しましょう。手元にある、Surface RT と Raspberry PI というミニミニ linux を使います。Raspberry pi 自体は、Raspbarry PI が届いたよ – Moonmile Solutions Blog なところで買った「船便版」の初期購入品です。最近、日経Linuxあたり?で特集になったらしく、いくつかの解説本も出ています。今では、日本でも買いやすくなったので、お試し(3,000円ぐらい)としては面白いおもちゃです。

で、結論から言えば、こんな感じで、自給自足型のモバイル環境が作れました。

  • Raspberry PI に xrdp を入れて、リモートデスクトップ環境を作る。
  • Raspberry PI に USB 型の無線LANを差し込み、設定する。
  • Surface RT から Rassberry PI にリモートデスクトップする
  • Raspberry PI は、Surface RT の USB から給電する

ってことで「無線LANの環境があれば」、モバイル環境が構築できます。本当にモバイルにするには、Pockert WiFi などのルーター機能が必要になるのです(実際、これを使うし)、完全な独立型とは言えませんが、まあ、いいでしょう。それなりに持ち運びができるし。

■Raspberry PI の OS を最新にする

いろいろやって、結果的に OS を最新にしました。Raspberry Pi でOSのインストールと初期設定を行う | よもやま雑記帳

初期の Raspberry PI を買った時の Linux は、デスクトップの操作とが違うし、手元の無線LAN(GW-USMicroNのモジュールが動かなかったり)して、かなりはまりました。OS 自体は、Downloads | Raspberry Pi にある Raspbian “wheezy” を使っています。zip を解凍して、2GB 以上ある SD カードに焼き付けます。適当な SD micro に焼いてカードを差し込めば OK です。

私の環境では、先のURLにある DD for Windows がうまく動かかなかった(書き込み先のドライブが選択できない状態)ので、Win32 Disk Imager | Free Development software downloads at SourceForge.net を使いました。

■Raspberry PI 側の設定

Windows からの接続は、リモートデスクトップ xrdp をインストールします。VNC でもいいのですが Surface RT には VNC クライアントをインストールできないので、リモートデスクトップを使います。Raspberry Piで遊ぼう [No.26:リモートデスクトップ接続をやってみよう]:アシマネのIT奮闘日記:So-netブログ を参考にすると、あっという間に「リモートデスクトップ」を使って接続がでるようになります。最初は、有線LANで試してみてください。無線LAN だと、以下に記しますが結構不安定なので。

USB 型の無線 LAN はできるだけ新しいもののほうがよさそうです。手元にあった昔の PLANEX GW-USMicroN を使ったのですが、結構手間がかかりました。更に 802.11n でつながるはずなのですが、なぜか 802.11g のほうしか認識できません。無線ルーターのほうがおかしいのかもしれないのですが…こっちは、Surface RT とか他のノートPCも繋がっているので。まあ、当時は Draft の規格だったから仕方がないのです。

RaspberryPiでコンパイルとかせずにWifiドングルを使う(US-GWMicroNとか、ralinkの) – midohajiフォト
RaspberryPi奮闘列伝:無線LANアダプタ

あたりを参考にして、rt2800usb のモジュールを手作業で入れていきます。バッファローあたりの無線LANを使うとすんなりと入るらしいので、それを使った方がよいでしょう。どっちにせよ、他の方が「実績」をアップしているので、それを参考にしたほうが早いです。

■Surface RT 側の設定

ストアアプリのリモートデスクトップアプリをインストールします。Windows ストア の Windows 用 リモート デスクトップ アプリ からインストールします。手元の Surface RT は、Windows 8 なのですが、多分 8.1 preview でも使えます。raspberry pi の IP を DHCP にしてしまうと、IP が変わってややこしいので、固定IPがお勧めなのですが、設定がややこしいので現状 DHCP を使っています。個人で遊ぶ分には、大抵は同じ IP に振られるので、それはそれで良いかなと。ただし、raspberry pi にLAN接続しないと(有線、無線を問わず)IPが分からないとジレンマに陥るので、運用的には固定IPが望ましいですね。基本、ディスプレイとキーボードが使わない体制にしたいものですから。

■動いたか?

ええと、動いたかどうかというと、冒頭の写真のように無事に動きました。Surface RT から無線LANを通じてリモートデスクトップ接続ができます。が、運用上、いくつか問題があってですね…というか、致命的な問題があります(苦笑)。

  • Raspberry PI 側で、ソフトウェアキーボードが出せないので、キーが打てない。
    → 何かインストールすればいいんでしょうが、現状、キーが打てません。
  • 無線LANだと帯域が足りないらしく、まともに画面が動きません。
    → かろうじて、ダブルクリックができるぐらいです。
  • USB給電の電圧か電流が落ちると、Raspberry PI のLANがつながらなくなる。
    → なので、一切接続ができなくなります。

この給電の電圧には悩まされました。普通に使っていると、いきなりリモートデスクトップやtera term(これはデスクトップPCから接続)が、切断されます。デスクトップ PC につながっている、ハブ USB につないでも、Raspberry PI は普通に動くので大丈夫かと思っていたのですが、無線LAN は電圧の変化に敏感らしく早めに落ちてしまうようです。これが Linux の仕様なのか、Raspberry PI の制限なのかは分かりません。ためしに、AC電源から直接USB経由で給電をしてやると、無線LANは切れませんでした。最初、ドライバーが壊れたのか?SDカードが壊れたのか?と、再度 OS のインストールからやり直して、2時間ほどつぶしてしまったのですが、どうもUSB給電の電圧っぽいです。

なので、Surface RT のバッテリーが少ない状態になると、この現象に陥ってしまいかなと。Surface RTに電源をつなぎながら使うと「モバイル」とは言えないし、うーむ、ここは悩みどころですね。まあ、PLANEX の古い製品を使っているので最近のだともう少し必要な消費電力は低いかもしれません。

ソフトウェアキーボードの件は、どうしようかな、と悩み中です。リモートデスクトップの帯域と合わせて、ちょっと思案中。

カテゴリー: windows 8 パーマリンク