web-dev-qa-db-ja.com

LinuxでのMIT-SHM X11拡張機能の使用

Blender自体がリモートマシン上で実行され、そのUIがX11を介してローカルマシンに提示される設定でBlenderを動作させようとしています。

それについての詳細情報は ここにあります

これは頻繁に必要とされるユースケースのようで、 blender.org からのZipアーカイブダウンロードオプションに沿って提供される_blender-softwaregl_実行可能ファイルを通じてBlender自体は機能しますが、バージョン2.79まで。

バージョン2.80では、同じ実行ファイルがMIT-SHM X11拡張機能を必要とする共有メモリ「オブジェクト」をセットアップしようとしているようです。

具体的には、Blenderの実行可能ファイルは(リモートマシンのターミナルで)_error code: 159_、_request code: 143_、_minor code: 34_、_error text: 159_で文句を言い、最後に次のように終わります:

Xlib:ディスプレイ「localhost:10.0」に拡張「MIT-SHM」がありません。

その後、ローカルマシンのX11ウィンドウは開いたままになります。ソフトウェアは問題なく実行されますが、BlenderのGUIは何も表示されません。

同時に、マウスがローカルX11ウィンドウに沿ってドラッグされると、リモート端末は引き続き_XLib: extension "MIT-SHM"..._エラーを生成します。

MIT-SHMの操作(インストール、構成、有効化/無効化など)に関する詳細情報を見つけようとしましたが、 thisは別ですthisthis passing reference 私はあまり運がありませんでした。

私はまだこれに取り組んでいますが、Blenderがそれを利用できる唯一のソフトウェアではないのではないかと思うので、MIT-SHMについての誰かの助けに感謝します。クールなX11機能のようですが、私のセットアップのサーバーで実行しているUbuntu bionic 18.04で完全に制御できるとは思いません。

  1. MIT-SHMを有効にして、xdpyinfoリストに表示されるようにするにはどうすればよいですか?
  2. 完全に機能するためにインストールする必要がある特定のライブラリセットはありますか?
  3. その使用によって暗示される何か他にありますか? (たとえば、この機能を動作させるには、追加のポートを有効にする必要がありますか?)
3
A_A

リモートX11クライアントからMIT-SHMを使用することはできません。

その頭字語について考えてみてください:SHM =共有メモリ。クライアントとサーバーが異なるマシンで実行されている場合、それはメモリを共有できません。

その拡張機能は、ソケットを介して書き込む代わりにSySV共有メモリAPI(例:XPutImage-> XShmPutImage)を使用して大量のデータを転送するX11リクエストを高速化するはずです。現代のコンピュータにおけるその利点は、議論の余地のない私見です。

2
mosvy