sudoで実行するにはLIBGL_ALWAYS_INDIRECTが必要なのはなぜですか?

sudoで実行するにはLIBGL_ALWAYS_INDIRECTが必要なのはなぜですか?

私はこの説明に基づいてLIBGL_ALWAYS_INDIRECTが何をしているのか理解していると思います。LIBGL_ALWAYS_INDIRECT = 1は実際に何をしますか?

しかし、いつ/なぜ必要なのか理解できませんか?

私の場合は、ホームブレンドdotnetコアアプリケーションを使用しています(次を使用)。アバロニアフレーム)、sudoで実行しないときはWSL2 Linux(Ubuntu Distro)でうまく動作しますが、sudoで実行すると何も表示せずにウィンドウフレームを表示します。ただし、LIBGL_ALWAYS_INDIRECT=1 を指定すると問題が解決します。それでは、sudoで実行するときにのみLIBGL_ALWAYS_INDIRECTを指定する必要があるのはなぜですか?

結論として:

コマンドライン 働く?
./myapp はい
LIBGL_ALWAYS_INDIRECT=1 ./myapp はい
sudo./myapp いいえ
sudo LIBGL_ALWAYS_INDIRECT=1 ./myapp はい

sudo -E/-Hは何の違いもないようです。 WSLディストリビューションはUbuntu 22.04で、waylandを使用しているようです。

ベストアンサー1

おすすめ記事