Windows8 Room

Windows8 に関する基本から活用・裏技TIPS、開発まで様々な情報 発信中!(/゚∇゚)/ ))))

※本記事ではリモートデスクトップを活用して低解像度やウィンドウモードでストアアプリを動かす手法を説明していますが、Pro版が必要です。無印でもできるシミュレーター方式もありますので、参考にしてください。

Windows 8 Proにはリモートデスクトップ接続の機能が搭載されている。この機能は遠隔PCから接続し操作する機能であるが、この機能を活用する事でいろいろ出来る事がある。

まずは、リモートデスクトップの基本設定から見ていこう。

リモートデスクトップを使うには、リモートデスクトップ接続を有効にしておく必要がある。デスクトップで「Win + X」でメニューを開き、システムを選択する。

システム画面でリモートの設定をクリックする。

リモートデスクトップの設定を「このコンピューターへのリモート接続を許可する」に設定し、OKをクリックする。

これで設定は完了だ。別のPCからすべてのアプリにあるリモートデスクトップ接続を起動し、接続先を指定後接続すればリモートで操作が可能となる。

だが、出来ない事がある。リモートデスクトップ接続では、リモート経由とローカルで同時に一人のユーザーしか使う事が出来ない。誰かがPCを操作している時に、別PCからリモートアクセスしようとしたり、使っている自分のPCに対してリモート接続しようとしても使うことが出来ない。

では、ここでTIPSを幾つか紹介しよう。特殊な操作を行うので、実際に行う場合は自己責任にてお願いしたい。

下記ページでWindows 8のリモートデスクトップの同時複数接続を可能にするパッチが提供されている。

Windows 8 Patcher

同パッチはプレビュー版のWindows 8のWatermark(右下に表示されるビルド情報)の消去及び、ターミナルサーバーのファイルをバイナリレベルで修正しリモートの同時複数接続を可能にするパッチである。

上記掲示板で配布されているファイルを使用しても良いが、掲示板の書き込みを見ると「この人のファイルは使いたくない」との気になる書き込みがあり、提供されているバイナリをそのまま使うのがためらわれた。一緒にソースコードが配布されていたので、これを元に筆者の方で不要なWatermark削除部分を外し、termsrv.dll修正前にtermsrv.dll.bkにバックアップコピーを取る様修正したものを準備した。

筆者の方で修正したバイナリとソースコードを下記に置いておく。ビルド環境はVisual Studio 2010である。このパッチを使用する事によって障害が生じても筆者は責任をとれないので、自己責任にて利用して欲しい。

Windows 8 Patcher.zip – 修正版

Windows 8 Patcher_src.zip – 修正版ソースコード

使い方は簡単で、ダウンロードしたWindows 8 Patcher.exeを実行するだけである。実行後、自動的にtermsrv.dllにパッチが当てられ、システムが再起動する。

パッチで行っている内容は以下の通りである。ソースコードから下記操作のみ行っている事は確認しているが、バイナリーの修正箇所の意味については不明である。

  • termsrv.dllのバックアップコピー(termsrv.dll.bk)を作成する(筆者修正版)
  • termsrv.dllにバイナリーパッチを適用する
    8102, 8250, 8400 32-bit
    Original:   3B 86 20 03 00 00 0F 84 ?? ?? ?? ??
    Patched:    B8 00 01 00 00 90 89 86 20 03 00 00
    
    8102, 8250, 8400 64-bit
    Original:   8B 87 38 06 00 00 39 87 3C 06 00 00 0F 84 ?? ?? ?? ??
    Patched:    B8 00 01 00 00 89 87 38 06 00 00 90 90 90 90 90 90 90
  • レジストリを修正する
    
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
    fDenyTSConnections (dword) = 0
    fSingleSessionPerUser (dword) = 0

再起動後、リモートデスクトップ接続による複数同時接続が可能となる。PCを誰かが使用している場合でも、別のPCからリモートデスクトップ接続を使い、同PCに接続し異なるユーザーでログインし使う事が出来る(同じユーザーの同時利用は不可。VS2012に含まているシミュレーターを使う方法であれば可能。)。

さて、ここから少し応用した使い方を説明する。パッチをあてた状態で、「127.0.0.1」(自分自身)に接続してみよう。

これは相変わらずエラーが出て接続できない。だが、「127.0.0.2」と入力して接続してみよう。これだと自分自身に接続し、現在利用しているユーザーと別ユーザーでログインして使う事が可能だ。証明書のウィンドウが表示されたら、「はい」で進めば接続される。

つまり、一台のPCでユーザーAとして使いながら、リモート接続のウィンドウ内でユーザーBとしても同時に操作する事が可能となる。

ここからさらに応用を進めていく。リモートデスクトップ接続でオプションを表示し、画面タブで解像度を全画面以外に設定する。

この状態で、設定を名前を付けて保存する。

ドキュメントフォルダに保存されるので、「Win + R」で「notepad」と入力し、メモ帳を開き、保存した設定ファイルをドラッグして開く。

設定ファイル内に接続時の解像度が記載されているので、好きな解像度に変更し、さらに「smart sizing:i:1」を追加する。例として、解像度を1366x768にする場合は

desktopwidth:i:1366
desktopheight:i:768
smart sizing:i:1

となる。smart sizingを1にする事によって、リモートデスクトップのウィンドウに合わせて画面を縮小表示してくれるようになる。

この状態で保存した設定ファイルをダブルクリックすると、1366x768の仮想解像度で画面縮小した形でリモートデスクトップ接続が行われる。

PCの物理的な解像度が1024x600の場合でも、リモートデスクトップで自分につなぐ際の解像度は1366x768となっており、この画面上ではストアアプリ(Modern UIアプリ)が動作するし、スナップ動作も可能だ。さらに、ウィンドウサイズに縮小表示してくれるため、ウィンドウをデスクトップ上で好きなサイズにして移動する事が出来る。デスクトップ作業しながらウィンドウ内でストアアプリを動かす事が可能となるわけである。

ただし、2ユーザーを同時に処理している事になるため、メモリや処理能力はそれだけ負荷がかかる。マシンパワーが余っている場合や、どうしても低解像度やウィンドウモードでストアアプリを使いたい場合に利用できる方法である。

なお、Windows 8のリモートデスクトップにはタイトルバー部分にチャームやアプリコマンドを呼び出すメニューが追加されている。

シミュレーターやリモートデスクトップを活用しつつWindows 8を触ることで活用の幅が広がるのではないだろうか。


リモートデスクトップ荒業(マルチユーザー対応、低解像度/ウィンドウでストアアプリ)」 に2件のコメント

  1. H.Y より:

    ためになる情報ありがとうございました。
    Windows8でやってみまて、うまくいきました。

    Windows8.1ではどうなのでしょうか?

コメントを残す

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


*