Geometryコマンドライン引数を使用して、vncサーバーの起動時に指定されたビューアーの解像度を変更することはできますか?ワイドスクリーンモニター用に構成されたvncserverがありますが、1024x768画面で表示したいと思います。
ltraVNCビューア は 自動スケーリング をサポートしているため、表示ウィンドウのサイズが自動的に変更され、リモートサーバーの画面全体が表示されます。
更新
これと同じ質問がスタックオーバーフローについて少し前に尋ねられました: https://stackoverflow.com/questions/15816/changing-the-resolution-of-a-vnc-session-in-linux
Nathan Fellmanからの受け入れられた答え:
実際のVNCサーバー4.4は、Xrandrのサポートを含み、VNCのサイズ変更を可能にします。次のコマンドでサーバーを起動します。
vncserver -geometry 1600x1200 -randr 1600x1200,1440x900,1024x768
次に、サイズを変更します:
xrandr -s 1600x1200 xrandr -s 1440x900 xrandr -s 1024x768
VNCサーバーを再起動せずに設定を変更する必要がある場合は、次のようにして良い結果が得られました。
vncconfig -set RandR="1024x768,1600x900"
そして、xgregrを使用してfgreggが提案するように解像度を変更します。
xrandr -s 1024x768
xrandr -s 1600x900
TigerVNC を使用すると、Windows VNCクライアント(ビューア)の自動解決がそのまま機能します。クライアント上でもサーバー上でも、何も設定する必要はありません。初めてサーバーに接続するとき、解像度はサーバー側で事前設定されているものに設定されますが、クライアントウィンドウのサイズを変更するだけで簡単に変更できます。どんな解像度でも、クレイジーで非標準のアドホックな解像度でも。リモートデスクトップの解像度(KDEなど)は、クライアントウィンドウの解像度にスムーズに従います。
「リモートセッションのサイズをローカルウィンドウに変更する」が設定されていることを確認します。デフォルトである必要があります。
自動解像度の変更を画像ストレッチング、または自動スケーリングと混同しないでください。視覚障害者でない限り、この計算は実質的に役に立ちません。一般的なビットマップエディタでは、zoomまたはlooking glassのように機能します。出力画像を引き伸ばして、ピクセルを大きく(または小さく)します。大きく伸ばすと、画質が大幅に低下します。
ユーザーが通常望むのは、リモートセッションの実際の解像度の変更です。そして、それは私が以前に話したことであり、それはTigetVNCクライアントが可能であり、サーバーに一致する機能を提供することです。自動解像度は、どのサイズでも画像を鮮明に保ちます。欠点は、ネットワーク帯域幅も増加することです。
これまでのところ、私はTigerVNCだけが自動解決が可能であることがわかりました。私はTightVNC(オープンソース)、RealVNC(無料バージョン)、UltraVNC(オープンソース)をテストしましたが、どれもうまくいかず、無意味な自動スケーリングしか提供していません。
TigerVNCホームページ: https://tigervnc.org/
TigerVNCソース: https://github.com/TigerVNC/tigervnc
GitHubでのTigerVNCリリース: https://github.com/TigerVNC/tigervnc/releases
ダウンロードするTigerVNCバイナリ: https://bintray.com/tigervnc/stable/tigervnc/1.9.
ビューアのみが必要な場合は、 vncviewer64-1.9.0.exe のように、ビューアのみをダウンロードします。これは、バンドルされたVNCサーバーのないビューアです。 TigerVNCを使用すると、サーバーサービスがバックグラウンドで自動的にサイレントで開始されることに注意してください。
私のサーバーは-randr
設定なしで実行され、基本的な-geometry 1024x768
のみが実行されます。この低解像度は最初の接続時にのみ使用されますが、クライアントウィンドウのサイズを変更するだけで解像度を変更できます。興味があれば、これが私の完全なVNCサーバーコマンドです。
/usr/bin/Xvnc -log *:syslog:30,TcpSocket:syslog:-1 -inetd -MaxDisconnectionTime=5 -securitytypes=none -displayfd 10 -geometry 1024x768 -AllowOverride=Desktop,AcceptPointerEvents,SendCutText,AcceptCutText,MaxDisconnectionTime,MaxConnectionTime,MaxIdleTime,QueryConnect,QueryConnectTimeOut,AlwaysShared,NeverShared,DisconnectClients,SecurityTypes,Password,PlainUsers -query localhost -once -desktop New session -extension MIT-SHM
OpenSuseパッケージの説明によると、xorg-x11-Xvnc
-openSuse VNCサーバー-はTigerVNCコードに基づいて構築されています。私の場合、TigerVNCクライアントはTigerVNCサーバーと通信するので、おそらくそれがすべてシームレスな理由です:)
私のクライアントのセットアップ:TigerVNCクライアント1.9.0(Windows)
私のサーバー設定:openSuse 15.1、xorg-x11-Xvnc 1.9.0、vncmanager 1.0.2、GDM、KDEプラズマ。
TightVNC を使用して(少なくとも)サーバー(Windows)が画面の解像度を変更すると、クライアントは自動的に新しい解像度に合わせて変更されます。
TightVNCの場合は、歯車のアイコン(設定)をクリックして、画質を「高」に変更します。
VNCカスタマーサービスへの正式な返信を受け取りました。
短いバージョンは次のとおりです。いいえ、リモートの解像度を変更して、ローカルのvncコントローラーウィンドウ/画面の解像度に自動的に一致させることはできません。
これは、RDPが実際のログインセッションであるため、制御されたシステムで一般的なユーザーとして画面が動作するためだと言われました。
VNCは単に画面をミラーリングします。 RDPセッションを共有することはできませんが、VNCを共有することはできるので、それは悪いことではありません。
Windows APIでサードパーティのswが画面の解像度をプログラムで設定できることを知っているので、画面の変更を許可するようにvncサーバーで構成を作成することを提案しました。
それから私は待ちます...