RealVNC の vncserver-x11-serviced のデフォルトの解像度と色深度を設定しますか?

RealVNC の vncserver-x11-serviced のデフォルトの解像度と色深度を設定しますか?

RealVNC セッションのデフォルトの解像度と色深度を設定する方法について Web で検索すると、vncservervncserver -geometry 1024x768などのコマンドライン パラメータを に渡す方法についての説明が常に出てきます。ただし、私のシステムは、RealVNC がインストールする/etc/init.d/vncserver-x11-servicedスクリプトを使用して、起動時に RealVNC サーバーを起動するように設定されています (実行レベル 2 ~ 5、Debian を使用)。 コマンドは使用していませんvncserver。特定のデフォルトの解像度と色深度を設定するにはどうすればよいでしょうか。使用できる設定ファイルはどこかにありますか。

答え1

注: この回答はRealVNCのサービスモード( vncserver-x11-serviced)ではなく仮想モードに適用されることは承知していますが、仮想モードの方が一般的には便利だと思いますし、解像度を変更できるのは仮想モードだけです。動的にこれは、サービス モードで実行されている RealVNC の解像度を変更するのとほぼ同じテクニックです。


RealVNC (執筆時点ではバージョン 5.2.1) をインストールし、 を使用して無料ライセンスを適用しvnclicense -add ...、VNC サーバーを「仮想モード」で実行した後 (サービス モードとユーザー モードもありますが、すでに複雑なのでここでは説明しません)、このウサギの穴がどれほど深いかがわかりました。 :-) これに関するドキュメントは包括的でもわかりやすくもなく、RealVNC のサイトにある KB 記事はやや時代遅れvncserverコマンドではなく現在の推奨vncserver-virtual)、または約解像度を動的に変更するRandR とその間セッションでは、VNC サーバーの起動時に使用する解像度を選択できません。

まず、X ウィンドウ システムのコンテキストでは、「解像度」という単語の代わりに「ジオメトリ」という単語が使用される傾向があります。VNC サーバー (または X 自体?) によって提供されるデフォルトの解像度は 800x600 のようです。

これで、コマンドラインから手動で RealVNC サーバーを起動するときに (または、 などから起動時に自動的に起動するときにrc.local)、X サーバーに直接パラメータを渡すことができます。解像度を設定するために渡すパラメータは ですgeometry。つまり、これは 1280x1024 の解像度で仮想 RealVNC サーバー インスタンスを起動します。

> vncserver-virtual -geometry 1280x1024

このようなものをテストするときは通常、root として実行するため、最初に VNC でデスクトップにアクセスしたいユーザーに切り替えます。

> sudo -u [someuser] vncserver-virtual -geometry 1280x1024

geometryもちろん、コマンドラインでパラメータを渡す必要があります。RealVNC は、さまざまな設定ファイルを通じて VNC サービスの設定もサポートしています。ただし、紛らわしいことに、「Xvnc」(UNIX システムで X と通信する基盤となる RealVNC サーバーで、geometry設定パラメータを取る必要があります)の設定は、別の場所「通常の」RealVNC 設定ファイルから、/etc/vnc/config.customサーバー全体の設定または~/.vnc/configユーザー固有の設定のいずれかを選択します。これらは他の RealVNC 設定ファイルとは完全に分離されており、これを見つけるのはかなり困難でした。前述したように、これに関するドキュメントはひどいです。したがって、コマンドラインで解像度を指定しなくても済むように、ファイルを作成し/etc/vnc/config.custom、次の内容を指定します。

-geometry 1280x1024

それから実行すると:

> sudo -u [someuser] vncserver-virtual

...その VNC サーバー インスタンスの解像度はデフォルトで 1280x1024 になります。

この設定ファイルはデーモンでも使用されると思いますvncserver-virtualdまた、それぞれのvncserver-virtualインスタンスが生成されます (実際、デーモンのデフォルトの解像度を設定する唯一の方法である可能性があります) が、デーモンを使用するにはエンタープライズ ライセンスが必要であり、無料ライセンスのみを使用しているため、テストできませんでした。

ふう!


ところで、先ほどRandRについて触れました。これは、UNIXシステム上のRealVNCサーバーに接続する際に、異なる解像度/ジオメトリを取得する別の方法です。これは、RealVNCサーバーが「仮想モード」で実行されている場合にのみ機能します。また、VNCセッション中に解像度を動的に変更することもでき、よりよく文書化された上で述べたパラメータよりも優れています-geometry。:-) この設定が設定されている場合(そしてそれ(Xvnc 用の個別のファイルではなく、RealVNC の「通常の」設定ファイル セットに含まれます... 想像してみてください)xrandrVNC セッション内からコマンドを使用して、設定で指定された解像度の 1 つに解像度を動的に変更できるはずですRandR

関連情報