Windows RTでRaspberry Piをリモート操作

埃を被っているSurface(RT)をラズパイのビュアー(操作端末)とすることを試みました。

結果、ラズパイにXrdpとSambaを入れる事で、WindowsRT標準のリモートデスクトップで操作でき、ファイル共有によりファイルのやり取りができるようになりました。
 

リモートデスクトップは無線環境では遅くて実用に耐えないとの情報もありましたが、感覚的にはrealVNCと遜色ない感じで操作できます。これでラズパイの操作ができるだけでなく、ダメダメWindowsRTを補完する効果も期待できます。いいね。

 

環境

・Raspbian 10.0 (Raspberry Pi 3B+)
・Windows RT 8.1 (Surface)
(・ルーター:HWD15)

 

 

ラズパイの設定はSSHで行う前提です。ちなみにWindowsRTでMicrosoftストアから手に入るSSHクライアントアプリをいくらか試しましたが、まともに動くものはありませんでした。
(JailbreakするとPuttyが使えました。Jailbreakしたら使えるソフトについては最後に記載しています)

 

ラズパイ:リモートデスクトップの有効化

・XRDPのインストール

  $ sudo apt-get update
  $ sudo apt-get install xrdp

・日本語配列キーボード設定

  $ cd /etc/xrdp/
  $ sudo wget http://w.vmeta.jp/temp/km-0411.ini
  $ sudo ln -s km-0411.ini km-e0010411.ini
  $ sudo ln -s km-0411.ini km-e0200411.ini
  $ sudo ln -s km-0411.ini km-e0210411.ini

・サービス再起動

  $ sudo service xrdp restart

※Surface側にも設定あり(下記「リモート接続」に記述)

 

Windowsパソコンからraspberrypi3にリモートデスクトップで接続する
https://qiita.com/t114/items/bfac508504b9a6b7570d

 

WindowsRT:通信可能かの確認

・スタートボタン上で右クリック→「ファイル名を指定して実行」→「cmd」
・「ping raspberrypi.local」→返答の確認
・返答がない場合はIPアドレスをどうにか探る
・「ping 192.168.0.1」などで確認

 

Windows RTでも環境によってはホスト名からアクセスできるんですが、条件がよくわかりません(最初は出来てたのにその後出来なくなりました。アップデートは無効にしてあったのでセキュリティアップデートに寄るものではないはず。色んなサービスをオンオフしてみましたが、よくわかりませんでした)

 

WindowsRT:リモート接続

・スタートボタン上で右クリック→「ファイル名を指定して実行」→「mstsc」
・コンピュータ名「raspberrypi.local」またはIPアドレスで接続
・不明なコンピュータだけど信頼しますか?的な確認が出るので、接続を選択
・ログイン画面→ユーザー名piと、パスワード(初期値はraspberry)でログイン

 

mstscは「C:\ WINDOWS\system32\mstsc.exe」にあるのでショートカットを作っておくと便利。

 

リモートデスクトップでキーボード配列がおかしいのに気づきました。
XRDP側の設定かなっと色々調べていたけど、Surface側の問題だった(なんと!)

 

Surface 3 からリモートデスクトップで接続すると英字キーボードになる

Surface 3 からリモートデスクトップで接続すると英字キーボードになる

 

上記サイトにある下記のレジストリがそもそもなかったので、追加したら正常に入力できるようになりました。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
名前 種類 データ
LayerDriver JPN REG_SZ kbd106.dll
OverrideKeyboardIdentifier REG_SZ PCAT_106KEY
OverrideKeyboardSubtype REG_DWORD 2
OverrideKeyboardType REG_DWORD 7

 

ラズパイ:Sambaのインストール

・インストール

$ sudo apt-get update
$ sudo apt-get install samba

・設定ファイルを開く

sudo vi /etc/samba/smb.conf

・末尾に以下を追記

[raspi]
   comment = Raspberry Pi
   path = /home/pi
   guest ok = yes
   read only = no
   browsable = no
   force user = pi

 

Raspberry Pi 3 Model B+ に samba をインストールする
https://qiita.com/bu_itamochi/items/d413d24d68f144949c57

 

WindowsRT:ファイル共有設定

・「Workstation」サービスが起動しているのを確認
(コントロールパネル→システムとセキュリティ→管理ツール→サービス)
・ファイルエクスプローラから「¥¥RASPBERRYPI¥raspi」にアクセスできる事を確認
(ホスト名が解決できない場合はIPアドレス)

 

ホスト名でアクセス出来る場合は、「ネットワーク」からネットワーク上のコンピュータとしてRaspberry Piが表示されているはず。その場合においても共有設定したフォルダは表示されません(アクセスは出来る)

 

WindowsRT:ネットワークドライブの割り当て

ホスト名でアクセスできる場合、または、IPアドレスの固定が可能な場合は便利です。

 

ネットワークドライブの割り当て方法(Windows 7&Windows 8対応)
https://www.google.co.jp/amp/s/www.backup-utility.com/jp/articles/map-windows-network-drive.amp.html

 

 

WindowsRT:Jailbreakすると使えるソフト

Jailbreakすると、有志の方がARM向けにコンパイルして配布しているソフトを使えるようになります。

Desktop apps for Windows RT
https://www.windows-arm.com/index.php/desktop-apps-for-windows-rt/

上記のサイトで配布しているソフトの内、Putty(SSHクライアント)、FileZilla(FTPクライアント)、TightVNC(VNCクライアント)を試しました。結果、Putty〇、FileZilla△、TightVNC✕でした。

Putty(SSHクライアント)
⇒ファイヤーウォールで許可のルール作成が必要でしたが、使えました。
(コントロールパネル→管理ツール→セキュリティが強化されたWindowsファイアウォール)

FileZilla
(FTPクライアント)
⇒SSH2を使ったファイルやり取りはソフトエラーのためできませんでした(必要なモジュールが含まれてないっぽい)。ラズパイにFtpdをインストールしてFTPプロトコルでならファイルのやり取りができました。

TightVNC(VNCクライアント)
⇒ソフトは起動するものの、接続時にエラーが出て使えませんでした。

 

Putty、FileZillaで最低限、操作端末としての機能は果たすので、ラズパイにデスクトップ環境を入れずに使用する場合でも、Jailbreakすればリモート操作できそうです。

 

[Windows RT 8.1] Developer Tool V3.0
https://forum.xda-developers.com/windows-8-rt/rt-development/windows-8-1-rt-jailbreak-exploit-t3226835

ちなみに、WindowsRTもちゃんとアップデートされているため、上記ツールでJailbreakするときは、Windowsアップデート履歴からセキュリティアップデートプログラムを片っ端から手動でアンインストールするっという作業が必要でした。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です