少しダークなSurface RTの使い方を考える

まともな?業務PCとして使うのであれば、ノートPCにWindows 8 Proを入れたほうが良いと思うのですが、タブレットPC限定かつWindows RTで省電力を効かせてと考えて、内部的には高機能(外部的にWindows RTという自縛をしているものの)なわけで、それを存分に≒効果的に使うにはどうすればよいか?という点で調べています。

■本当にデスクトップアプリは動かないのか?

これは前評判の記事、量販店での説明が悪い≒足りないと思うのですが、Surface RT(Windows RT)でデスクトップアプリは動きます。従来のメモ帳もあるし電卓もあるし、プリインストールのExcel/Word もあるし、そもそもコントロールパネルの類はデスクトップ環境で動いています。この誤解のもとは、Windows RT の CPU が ARM という Intel CPU(AMDも含む)とは異なる CPU を利用しているために Intel CPU 用にコンパイルした実行ファイル≒従来のデスクトップアプリが動かない、という現象になります。なので、これから ARM 用にコンパイルされたデスクトップアプリが出回れば、Surface RT でもデスクトップアプリが動く可能性はあります。

ただし、現時点ではアプリに署名が必要なので、この署名をクリアできるのが Microsoft 社から配布されている実行ファイル(インストーラーを含む)のか、他社の署名も通すのかは不明です。

逆にWindows ストア アプリならば何でも動くのか?というとそうではありません。ストアアプリでは、ターゲットとなる CPU を x86, x64, ARM の 3種類に分けています。x86 は Intel 互換 32ビット版、x64 は Intel 互換 64ビット版の CPU が対象です。最近の CPU であれば x64 で動いているものが多いのですが、ちょっと古めの PC の場合は 32ビット版がまだ動いています。なので、ストアアプリであってもダウンロードするときには注意しないといけない…のですが、大抵は大丈夫です。気を付けるのはゲームアプリや高機能な画像を扱うようなアプリで DirectX を内部的に使ってると、Intel 互換の方しか用意されていないパターンがあります。そういう場合は、配布側で試用版が用意されていることが多いので、それをダウンロードして試します。たいていの場合、CPU の種類よりもグラフィックボードの性能でうまくゲームができない、というパターンになるので、あまり CPU の種類を気にすることはないと思います。

話を元に戻すと、いままでの Windows 7 の場合にはデスクトップアプリを USB でやり取りしたり、Vector からダウンロードしたり、ということができたのですが、Windows RT の場合には、相手の PC が Windows 8 の場合にはそれができません。そういう点では、ちょっと閉鎖的な環境≒残念なタブレット PC という感触はあります。でも、Surface Pro よりも軽いのと、バッテリーの持ちが良いのは ARM の強みです。解像度が若干低い(1366×768)のですが、持ち運びしやすさを考えると重さは重要です。

■むりやりデスクトップアプリを動かしてみる

iPhone でも可能ですが、むりやりアプリを入れるための手段(Jailbreak)があります。Jailbreak とはいえ、Windows RT の脱獄は比較的簡単です。Windows RT、jailbreakされる | スラッシュドット・ジャパン を参考にして、[Release] RT Jailbreak Tool – xda-developers からダウンロードしたバッチを動かします。winsvr.dll の一部を書き換える方式で脱獄が実現されています。これを見ると、署名があるかどうかのチェックしかしていない(将来的にはどうなるかは分からない)ので、署名をしたデスクトップアプリならばいけそうです。ただし、先に書いたように ARM 用に書かれたアプリでしか動かないので、巷にある Windows 8 用のデスクトップアプリとか、Windows 7 以前のアプリとかは動きません。自分でソースからコンパイルするか、誰かがコンパイルしたものを使います。

Desktop apps ported to Windows RT – xda-developers を見ると、vim とか OpenSSL とか C++ のものを ARM 用にビルドしたものがアップされています。スクリプトでは、python があります(残念ながら、perl, ruby はありません)。再コンパイルをしないといけないので、いわゆる UNIX 系のツールが並んでいます。

もうひとつの方法として、x86 CPU をエミュレートする方法があります。いわゆる Virtual Machine 方式です。ARM という非力な CPU に、x86 をエミュレートさせるというのが実用的ではないのですが、実行ファイルしかないけどどうしても動かしたい、ってときに使います…つーか、多分ゲームを動かすのが目的かと。ちょっとリンクを失念してしまたったので後から。

■スクリプトを動かしてみる

バッチ処理や定型処理をするのに、タップでぽちぽち、ソフトウェアキーボードでぽちぽちとやるのは面倒なので、バッチを書くのですが。普通のデスクトップアプリが動くと分かれば、

  • 古式ゆかしき *.bat あるいは *.cmd のバッチファイル
  • CScript ファイル(WScript が動作するかは未検証)
  • Powershell

が動きます。Excel 2013 が入っているので、Excel VBA を期待したのですが、Windows RT 版の Excel は Excel VBA が動きません。残念。

Powershell は、自前のオブジェクトを作成できないので機能が限られてしまうのですが、定型的なスクリプトは動きそうです。私自身 powershell は使いこなしていないので、それ以上はちょっとわかりません。ただ、スクリプト系としては貴重かなと。もちろん、cscript で書くこともできる(javascriptでも書くことができる?)ので、そっちが使えれば十分かなと思ってます。標準で入っている COM は動きそうですよね。Excel の COM が動けば、それをアクセスすることもできるんですが… CreateObject(“Excel.Application”) でエラーになりますね。残念。

■リモートデスクトップを使う

Surface RT に対してリモートデスクトップはできないのですが(リモートアシスタンスはできます)、Surface RT から別の PC にリモートデスクトップができます。ストアで「リモート」で検索をするとストア版の「リモート デスクトップ」が出てきます。いくつか Remote 関係のアプリが出てくるので、Microsoft 社のものを使います。

他PCへのリモートデスクトップは、通常のデスクトップ版のリモートデスクトップと同じように使えます。相手は、Windows 8 に限らず、Windows 7 とか Windows Server とかも使えるのでサーバー系の処理をするときはこれで十分かなと。リモートデスクトップ内でもタッチ操作はマウス同様にできるので画面をタッチしながらでも可能なのですが…Windows 8 以外は、UI 自体がタッチに適していないのでマウスとキーボードは必須でしょう。というか、ソフトウェアキーボードは Windows RT 側のものではなく、リモート先のキーボードを使うことになるので、キーボードは必須ですね。あらかじめ、リモート先の PC にソフトウェアキーボードが出るように仕込んでおけばいいのですが、それでも Windows 7 の場合は面倒です。

回線は、無線LANを使うことになるので、アクション系ゲームの操作は辛いと思います。パズル系のものならばなんとか、という感じです。設定の中に、クリップボードの制御とかデザインの制御があるので、回線が遅い場合も大丈夫そうですね。

■ちょっと高価な動画モニタとして使う

ここ1週間は動画用モニタとして使っています。サブモニタという使い方ですね。自作のストアアプリを作って、タッチがしやすいように画面を作ってしまいます。ツイッターを流すだけとか、Youtube を流すだけとか、普段使いとしてはこれでいいような気がします。動画の配信は、Windows 7/8 でメディアサーバーを立てるか、ホームグループでビデオフォルダを共有します。配信PCの性能やネットワークの状態にもよるのでしょうが、標準のビデオアプリだと mp4 が時々止まるのでなんらかの対策が必要かもしれません(他の再生アプリをつかうとか?)。

■ちょっと高価なタッチパッドとして使う

ストアアプリは自作ということになりますが、別のPCを操作するタブレットとして使えます。ぼちぼちそういうストアアプリが出てくると思います。iPhone でテレビが操作できるとか、家電を操作するとかいうのと同じように、Surface RT で操作します。ええ、Windows Phone 8 でも構いません。

私の場合、仕事用のPCのモニタの横に、Surface RT が据えてあります。以前から使っている Acer w500(Windows 8 Pro に入れ替え)は平置きで画面が見づらかったのですが、Surface の場合は最初から立てかけるようにできているので、そのあたりは便利です。このために使う頻度が全然違います。

なので、用途としては、ビデオ鑑賞用とか環境音楽とかを流すためのアプリと、手元に持ってきて調べ物をするためのブラウジング機能という2種類のアプリに使い方が分かれると思います。人によっては、立てかけたままでほとんど手元で使わない人(もったいない気もするけど)もいれば、常にキーボードと一緒に持ち歩いてノートブックのように使うという人もいるでしょう。アプリを作る側としては、どちらも同時に満足させるよりも、それぞれの使い勝手に特化させるのが良いかと思っています。立て掛けておく場合には、縦置きというパターンはないので、横置きにしてボタンの位置を右側にするとか工夫が必要です。右利きの人の場合は左にボタンがあると、画面が隠れてしまいますからね。マウスの場合は画面と交差してもアイコンなどは隠れませんが、タッチパネルの場合はボタンを右に、情報を左に置くのが常套手段です。あと、据え置いている場合には、画面の上のほうにボタンを置くと、倒れそうになって不安なので、下のほうから三分の一ぐらいの場所によくつかうボタンを置くとよいです。後、下からのスワイプは親指で、上からのスワイプは人差し指でやります。そうなると下からスワイプした時に、親指→人差し指の順で動かすのが意外と面倒ということが分かります。そのあたりのヒューマンインターフェースを考えておくと、より手になじむアプリになるかと。

カテゴリー: WinRT パーマリンク