私は個人用と仕事用の 2 つの WeChat アカウントを持っています。WeChat によると、チャット履歴はユーザーのコンピュータや携帯電話などのデバイスにのみ保存され、同じ WeChat アカウントで異なるコンピュータにログインした場合、各デバイスに保存されるチャット履歴は同期されません。これは少し不便です。
以前、一般的な方法は、start コマンドを使用して同時に実行するか、UWP + Win32 クライアントを使用して WeChat の「マルチログイン」を実現することでしたが、これらの方法では WeChat の自動ログイン機能が影響を受け、異なるコンピュータ上のチャット履歴の同期の問題を解決することができませんでした。
1 つのコンピュータで 2 つの WeChat アカウントに同時にログインすることはできないので、別のアプローチを試してみましょう -1 つのコンピュータで仕事用アカウントと個人用アカウントにログインし、そのうちの 1 つのデバイス上の WeChat を他のデバイスに「投影」することで、「ダブルオープン」を実現し、チャット履歴の同期や自動ログインの問題を回避できます。
リモートデスクトップシステムは、ほとんどの人が聞いたことがあると思います。Microsoft Remote Desktop、Sunflower、TeamViewer などのツールは、完全なデスクトップ接続を提供するリモートコントロール体験を提供します。私たちが必要とするのは、2009 年に Microsoft が Windows Server 2008 R2 で導入した、ローカルプログラムの使用体験に近い、アプリケーションプロジェクションのニーズに合った RemoteApp です。
準備#
デバイス要件#
RemoteApp には、Windows システムを実行するコンピュータがサーバーとして必要であり、Windows XP〜11 の Professional、Enterprise、Ultimate エディションが必要です。詳細については、Microsoft のリモートデスクトップサービスドキュメントの互換性に関するセクションを参照してください。
クライアントデバイスは、Windows、macOS、Android、iOS など、リモートデスクトップに接続できるデバイスを使用できます。これらは RemoteApp に接続するために使用されます。
ネットワーク環境#
スムーズな使用を保証するために、サーバーの上り帯域幅は 10Mbps 以上であることが推奨されます。Microsoft のリモートデスクトップにはサーバー中継機能がないため、サーバーの3389
ポートを直接公開するとセキュリティリスクが高くなります。安全性を確保するために、プロキシトンネルネットワーク、または Zerotier、TailScale などのツールを使用して仮想ローカルエリアネットワークを展開することをお勧めします。また、リモートデスクトップサービスに SSL 暗号化を設定することもできます。これにより、許可されていないアクセスの可能性が低くなります。
学校の内部ローカルエリアネットワークには IPv6 アドレスがないため、パブリック IPv6 アドレスを持つ寮のコンピュータに直接接続することはできません。そのため、私はここで Zerotier を使用して Site-to-Site 仮想ローカルエリアネットワークを構築することにしました。詳細な手順については、「異地ネットワークリモートアクセスガイド」などの記事を参照してください。この記事では詳細に説明しません。
構築が成功したら、仮想ローカルエリアネットワークの IP アドレスに Ping を送信したり、リモートデスクトップに接続してネットワークが正常に動作しているかをテストできます。
リモートデスクトップサービスの有効化#
Microsoft RemoteApp 機能は、RDP プロトコル(リモートデスクトッププロトコル)に基づいています。したがって、サーバー上の「リモートデスクトップ」を有効にする必要があります。この機能は、Windows XP〜11 の Professional、Enterprise、Ultimate エディションでのみ使用できます。互換性のあるシステムバージョンについては、Microsoft のリモートデスクトップサービスドキュメントを参照してください。設定 - システム - リモートデスクトップ
に移動し、リモートデスクトップ機能を有効にし、その後リモートデスクトップユーザー
をクリックして、リモートデスクトップへのログインを許可します。
設定が完了したら、同じローカルエリアネットワーク上のデバイスで、リモートデスクトップに接続できるかどうかを試してみることができます。また、注意点として、Server シリーズ以外の Windows Home エディションでは、アクティブな接続を 1 つだけ保持できます。つまり、リモートデスクトップに接続した後、ログイン済みのアカウントはロック画面に入り、一時的に使用できなくなります。
RemoteApp の展開#
RemoteApp Tool と Wix Toolset のダウンロードとインストール#
RemoteApp Toolは、非 Windows Server システムで RemoteApp を作成および管理するためのツールです。まず、GitHub ページにアクセスして RemoteApp Tool のインストールパッケージをダウンロードし、サーバーにインストールします。
RemoteApp を MSI インストールパッケージとして生成する場合は、WiX Toolset環境もインストールする必要があります。MSI インストールパッケージの利点は、クライアントがインストールされた後、クライアントがローカルプログラムのように、スタートメニューやデスクトップのショートカットから RemoteApp にアクセスできることです。
プログラムのインポートと設定の変更#
インストールが完了したら、RemoteApp Tool を開き、メイン画面の左下の➕ Add a new RemoteApp
をクリックします。WeChat クライアントを例にとりますが、ファイルボックスが表示されたら、WeChat.exe のパスC:\Program Files (x86)\Tencent\WeChat\WeChat.exe
を選択し、RemoteApp の名前、アイコン、ファイル関連を設定してプログラムの追加を完了します。
RDP ファイル / MSI インストールパッケージの生成#
追加が完了したら、リストで WeChat を選択し、メイン画面の右下の💿 Create Client Connection
をクリックして RDP 接続ファイルを生成します。設定項目は 6 つあります - Host(サーバーアドレス)、Options(接続ファイルのタイプの生成)、Gateway(リモートデスクトップ接続ゲートウェイ)、File types(ファイル関連)、MSI options(MSI インストールパッケージの関連設定)、Signing(RDP 署名)。
設定する必要があるのは、Host、Options の 2 つの項目です - Host(サーバーアドレス)の設定では、サーバーの IP アドレスを入力する必要があります。RemoteApp Tool(バージョン:v6.0.0.0)では、デフォルトのサーバーのリモートデスクトップポートは3389
です。ポートが3389
以外の場合、ポートを開放するためのポートフォワーディングやファイアウォールの設定が必要です。Options の設定では、接続ファイルの生成タイプを選択できます。RDP ファイルまたは MSI インストールパッケージなどです。
設定が完了したら、メイン画面の右下の💿 Create
をクリックして RemoteApp の接続ファイルを生成できます。RDP ファイルまたは MSI インストールパッケージをクライアントに送信した後、RemoteApp に接続できます。
RemoteApp の使用体験#
RemoteApp のおかげで、オフィスのコンピュータで個人用の WeChat と仕事用の WeChat に「同時にログインして使用」することができます。両方のアカウントは Win32 クライアントを使用しており、小さなアプリや自動ログインの使用体験は UWP 版 WeChat よりも優れています。RemoteApp で接続した WeChat は、メッセージの返信、グループチャット、魚の撫でることなど、ローカルクライアントとの違いはほとんどありません。ファイル以外のテキストや画像も、クライアントとサーバー間で貼り付けることができます。
体験中に、RemoteApp には次のような問題がいくつかありました:サードパーティの入力法(私は搜狗入力法を使用しています)を使用している場合、クライアント上に 2 つの入力法ステータスバーが表示され、Win + スペース
ショートカットキーで入力法を切り替えることができません。サードパーティの入力法のステータスバーを閉じるか非表示にするしかありません。
また、RemoteApp ウィンドウには、ウィンドウの影が残ったり、カーソルが表示位置とずれたりする場合があります。カーソル位置がずれている場合は、RemoteApp を最小化してから再表示することで解決できますが、ウィンドウの残影については、現在はより良い解決策を見つけていません。
帯域幅要件の低い WeChat は、比較的スムーズに動作し、明らかな遅延はありませんでした。一方、大量のコンテンツ変更が関係する都市のスカイライン、Adobe Photoshop などのアプリケーションは、サーバーとクライアントの帯域幅要件が高いです。
全体的に、RemoteApp はデータをクライアントに保存せずにアプリケーションにリモートアクセスすることを実現し、ネットワークが良好な場合にはローカルプログラムと同等の使用体験を提供します。RemoteApp に接続するクライアントは Windows コンピュータに限定されず、macOS、iOS、Android、Linux などのデバイスでも生成された RDP ファイルを使用してリモートの RemoteApp に接続できます。