10

displayno は X11表示名の一部です。

0 以上の数字であると説明する定義はいくつか見ましたが、最大表示数があるかどうかを説明するドキュメントは見たことがありません。

最高表示数は?それはどこで定義されていますか?


この質問の背景は、PyVirtualDisplayのディスプレイ番号割り当てアルゴリズムを理解しようとしていることです。/tmp/.X*lock ファイルの役割はまだ理解できていませんが、割り当てルーチンは常に増加するディスプレイ番号を選択するように見えます。これは、繰り返し呼び出される段階で、制限に達して失敗する可能性があることを示唆しています。特に小さい場合。

4

2 に答える 2

15

簡単な答え: 明確に定義されていません。

より長い答え: たまたま使用しているストリーム プロトコルによって異なります。TCP では、単純にベース ポート番号 6000 に追加されるだけです。これは、サーバーがディスプレイ番号 59535 付近で起動に失敗することを意味します。UNIX ドメイン ソケットでは、ソケット名の下に整数が追加されます/tmp/.X11-unix(したがって、サーバーを起動する-nolisten tcpと、数十億程度になる可能性があります)。DECnet の場合は...わかりませんが、気になる状況が発生した場合は、申し訳ありません。

後世のためのおそらくより良い答え:十分に新しいXサーバーを使用している場合、-displayfd <n>引数を使用して、サーバーに使用可能なディスプレイ番号を選択し、そのファイル記述子に書き戻すように指示できます。これは、2012 年後半にリリース予定の xserver 1.13 の新機能だと考えてください。

于 2012-08-29T00:57:05.273 に答える