web-dev-qa-db-ja.com

リモートデスクトップは、開くモニターを指定します

デュアルモニターセットアップの特定のモニターでリモートデスクトップv6を開く方法はありますか?

デュアルモニターをサポートしていて、両方のモニターを使用するのは簡単ですが、本当に欲しいのは、すべてのRDPセッションをセカンダリモニターで開くことです。私は頻繁に使用するすべての接続を.RDPファイルに保存し、現在、プライマリモニタとセカンダリモニタで開いているミッシュマッシュがあります。

RDPファイルを参照すると、どの設定がこれを制御しているかがわかりません(このファイルにはないのではないかと思います)。

それで、これをどのように制御しますか?ちなみに、私はクライアントとしてWin7を実行しており、ほぼ排他的にServer 2008 R2マシンに接続しています。

6
BrettRobi

RDPクライアントウィンドウの位置とサイズを設定することでこれを制御する画面の位置とモードのオプションがRDPファイルにありますが、どのモニターを指定する明示的なオプションがないため、設定を操作して結果を提供するものを選択する必要がありますモニターの組み合わせにしたい。定義したウィンドウ領域内でリモートデスクトップの幅と高さを個別に設定することもできます。

主な設定は

winposstr:s:0,m,l,t,r,b
m = mode ( 1 = use coords for window position, 3 = open as a maximized window )
l = left
t = top
r = right  (ie Window width)
b = bottom (ie Window height)

L、t座標は標準のWindows原点を基準にしています。(0,0)は仮想デスクトップの左上で、r、b値は絶対的な幅と高さです。

winposstr:s:0,1,100,100,800,600

左端のモニターの左端から100ピクセル、上端から100ピクセル下の800x600ウィンドウを開きます。

画面モードオプションは、ウィンドウズモードまたは全画面モードのいずれかで開くようにTSクライアントに指示します

screen mode id:i:x

ウィンドウモードの場合はxを1に、RDP "フルスクリーン"モードの場合は2に設定します。 TSクライアントは、winposstr設定でのt、l、r、b要件とのオーバーラップが最も大きい物理モニターに応じて、後者のモードで最適なモニターを選択します。

リモートデスクトップのサイズは、次の2つのRDPファイル設定によって設定されます。

desktopwidth:i:x
desktopheight:i:y

ここで、xとyは、必要なデスクトップのサイズ(ピクセル単位)です。これが選択したウィンドウサイズよりも大きい場合は、スクロールバーが表示され、それよりも小さい場合は、デスクトップの周りに未使用のスペースができます。ウィンドウモードを選択する場合、選択するウィンドウサイズは、リモートデスクトップサイズよりもピクセル数だけ大きくする必要があります。これは、デスクトップのdpiに応じて異なりますが、従来、これは幅が約6ピクセル余分でした。高さ27程度(タイトルバーの場合)。

リモートデスクトップブログには、これに関する記事が掲載されています ここOhman Automation CorpのWebサイトにあるこの記事 には、これらの設定間の相互関係の詳細な詳細分析がいくつかあります。

9
Helvick

.rdpファイルの分析

。rdpファイルの内容は次のようになります。

screen mode id:i:2
use multimon:i:0
desktopwidth:i:1680
desktopheight:i:1050
session bpp:i:32
winposstr:s:0,1,-1680,0,-115,1050
[….]

キーワードwinposstrを探します。最も重要なパラメータは、winposstrの後の数値です。最初の「:s:0,1」を無視して、最後の4つのコンマ区切りの数値に注目してください。

最後の4つの数値は、リモートセッションウィンドウの左、上、右およびエッジの位置をピクセルで表します。

数値は、ウィンドウが復元されたときのウィンドウ位置を実際に参照しますが、ウィンドウが最大化されたときにリモートセッションが使用するモニターも決定するため、ウィンドウの左端のピクセル位置は重要です。

Winposstrの値の計算

使用する数値は、使用しているモニターの数、それぞれの画面解像度、およびプライマリモニターとして選択したモニターによって異なります。

左端の位置によってモニターが決まります

最も重要な最後の4つの数字の最初の数字は、ウィンドウの左端の位置を示します。プライマリモニターが中央にあり、モニターが左右にある場合、左側のモニターには負の数を、右側のモニターには正の数を使用します。

たとえば、左側に2つのモニターがあり、それぞれの解像度が1680 x 1050である場合、-168を使用して、セッションウィンドウをモニターのすぐ左に配置し、それを2倍にします(- -336)ウィンドウを左端のモニターに配置します。

winposstr:s:0,1,**-1680**,0,0,1050

winposstr:s:0,1,**-3360**,0,-1680,1050

プライマリモニターの解像度が1200 x 1920の場合は、1200を使用して、ウィンドウをモニターのすぐ右側のウィンドウに配置します。これが機能するのは、そのピクセル位置が、プライマリモニターが残した場所(そして右側のモニターが始まる場所)だからです。

winposstr:s:0,1,**1200**,0,2880,1050

右側に2つのモニターがあり、解像度が1680 x 1050で、一番右のモニターにウィンドウを配置する場合は、1200を1680に追加して2880を取得します。

winposstr:s:0,1,**2880**,0,4560,1050

上端と下端ほかの数値は、ウィンドウが復元されたとき(最大化されていない)にのみ実際に使用され、好みに合わせて調整できます。

2番目の番号(最後から3番目)はウィンドウの最上端を示しているため、特別な要件がない限り、この番号は0のままにしておくことができます。 4番目(最後)の数値は、ウィンドウの垂直解像度(=下)です。上記の例のように、これをモニターの最大垂直解像度のままにすることができます。

winposstr:s:0,1,1200,**0**, 2880,**1050**

右端ウィンドウの右端は、最後の数字の隣に表示されます。特に指定しない限り、最大化されたウィンドウと同じサイズに設定できます。上記のモニター解像度の例に従って、計算は次のとおりです。

Monitor Right Edge Calculation      Winposstr Value
Leftmost    -3360 + 1680 = -1680    winposstr:s:0,1,-3360,0,**-1680**,1050
Immediate left  -1680 + 1680 = 0    winposstr:s:0,1,-1680,0,**0**,1050
Immediate right 1200 + 1680 = 2880  winposstr:s:0,1,1200,0,**2880**,1050
Rightmost   1200 + 1680 + 1680 = 4560   winposstr:s:0,1,2880,0,**4560**,1050
3
Adaptabi