bspwm の画面共有により、共有モニターでマウスが応答しません。

bspwm の画面共有により、共有モニターでマウスが応答しません。

質問

DiscordまたはFirefoxを使用して画面全体を共有すると、共有画面がマウスにまったく反応しなくなります。画面共有を停止しても問題は解決しません。ウィンドウの共有はうまく機能します。

  • 共有画面でマウスで何もクリックできず、スクロールすることもできません。ホバー効果なし(例:Spotifyでボタンの上にマウスを置くと、ボタンが大きくなり、緑色で表示され、リンクに下線が表示されます。静止画ではこれは発生しません)
  • キーボードはまだ動作します。ビデオはまだ動作し、すべてがまだうまく動作します。
  • キーボードショートカットを使用すると、静止した画面でもデスクトップを変更できます。
  • 固定画面から別の画面にウィンドウを移動すると(キーボードショートカットを使用)、ウィンドウをもう一度クリックできます。戻ると、キャンセルされ、クリックに応答しないウィンドウではなく、間違いなく画面であることを示します。
  • クリックしてdunst通知を閉じると効果的です。私のrofiスタートメニューはよく開き、インタラクティブです。
  • SimpleScreenRecorderとOBSで画面録画を使用できます。
  • メガネを使用して静止画からスクリーンショットを撮る:静止画で長方形をクリックしてドラッグすると、切り取られたスクリーンショットを撮ることができます(もちろん、他のモニターでメガネをオンにするとボタンをクリックすることはできませんTake a new screenshot)。
  • このようなことが数ヶ月、たぶん1年間起こりました。
  • 私のbspwm設定は次のように設定されます。ウィンドウの上にマウスを置くと、そのウィンドウに焦点が合います。静止画では、ピントが合った最後のウィンドウにのみピントが合います。マウスを使用して2つのウィンドウの間に焦点を合わせることはできませんが、bspwmはマウスがその画面にあることに気づきます。

Chromiumで画面を共有する

Chromiumでは、画面タブとアプリケーションタブを表示できます。

画面タブ

アプリケーションタブ

アプリケーションタブで画面を共有すると問題が発生します(例:eDP-1-1 = My Notebook画面)。 [全画面]タブで自分の画面を共有している場合はそうではありません。

FirefoxとDiscordで画面を共有する

共有する画面を選択すると、実際に画面は表示されませんが、アプリケーションは次のことを行います。

Firefoxの画面共有セレクタ

表示されるxxx-1-1名は、ビデオ出力の名前です。これらのいずれかを共有すると問題が発生する可能性があります。見物人は何も見ない。不一致が発生すると崩れます。 「フルスクリーン」をクリックすると、すべてのモニターが1つの画面のように共有されます。

矛盾は同じように機能しますが、画面共有はすぐに中断されます。共有画面でマウスレスポンスの問題が引き続き発生します。

丸太

共有を開始するとターミナルで Firefox を実行し、画面共有を行うと次のような結果が表示されます。

[GFX1-]: Failed GL context creation for WebRender: 0
[GFX1-]: FEATURE_FAILTURE_WEBRENDER_INITIALIZE_UNSPECIFIED
[GFX1-]: Failed to connect WebRenderBridgeChild.
[GFX1-]: Compositors might be mixed (5,1)

使用xprop 窓に固定画面には、次の出力が表示されます。

WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_NAME(STRING) = "eDP-1-1"
WM_CLASS(STRING) = "root", "Bspwm"

固定されていない空のデスクトップでxpropを使用すると、同じメッセージが表示されます(予想される結果です)。xprop静止画で選択したウィンドウがルートbspwmクラスのようです。

共有を開始すると、Discordを使用した画面共有が端末の次の行と競合します。

[WebContents] crashed... reloading
  • 中には何もありませんdmesg
  • 中には何もありませんjournalctl
  • 中には何もありません/var/log/Xorg.0.log

私が試したこと

  • すべての画面のすべてのウィンドウを閉じると、停止した画面を解決できます(ログアウト/再起動も可能)。
  • Polybarを終了して再起動すると、停止した画面でPolybarをもう一度クリックできます。固定画面の他のすべてのウィンドウは応答しないままです。
  • Comptonを無効にして画面を共有しようとしました。
  • Nvidiaなしで画面を共有しようとしましたデジタル権限管理システム
  • Firefoxをセーフモードで実行しようとしています。
  • FirefoxとDiscordでハードウェアアクセラレーションを無効にしてみました。
  • モニター3つではなく1つだけを接続してみました
  • bspwmの代わりにi3を使ってみました。 i3はウィンドウと「フルスクリーン」のみを表示し、複数の画面が接続されるとすべての画面が表示されます。単一画面を選択できません。
  • i3と同じ結果でawesomewmを使ってみました。

私のシステム

zjeffer@Arch-zjeffer 
-------------------- 
OS: Arch Linux x86_64 
Host: 80WK Lenovo Y520-15IKBN 
Kernel: 5.11.1-arch1-1 
Uptime: 12 hours, 2 mins 
Packages: 1606 (pacman) 
Shell: zsh 5.8 
Resolution: 1920x1080, 1920x1080, 1920x1080 
WM: bspwm 
Theme: Nordic-Polar [GTK2/3] 
Icons: Papirus-Light-nordic-blue-folders [GTK2/3] 
Terminal: gnome-terminal 
CPU: Intel i7-7700HQ (8) @ 2.800GHz 
GPU: NVIDIA GeForce GTX 1050 Mobile 
GPU: Intel HD Graphics 630 
Memory: 2662MiB / 7845MiB

いくつかの問題

この問題を解決するのに役立ついくつかの質問があります。

  1. FirefoxとDiscordは、画面共有にどのようなソフトウェア/技術を使用しますか? ChromiumとMicrosoft Teamsは異なるソフトウェアを使用していますか?

  2. bspwm画面を共有するためにどのソフトウェア/技術が使用されますか? i3は特定の画面を共有するオプションも提供していないため、異なる技術を使用する必要があります。

  3. 他に何を提供できますか(ログ、システム情報...)?

ベストアンサー1

~からこれReddit投稿でfocus_follows_pointerbspwmオプションをに設定すると、画面が共有メニューのウィンドウとして表示されることがわかりましたtrue

これらの画面はまったく表示されません。 ~によると/u/ortango_さんのコメント、共有すると動作しません。

Firefoxはモニター固有の共有をサポートしていません。あなたがモニターだと思うものは、モニター名だけを持っているわけではありません。

ウィンドウ間でマウスを追跡できるようにマップされますfocus_follows_pointer。これはwebrtcが通常のウィンドウであると考える副作用があります(ただし、通常のウィンドウやモニタではありません)。

問題はbspwmにあり、質問を提起しました。ここ。 Chromiumで動作する理由は次のとおりです。libwebrtcの最新の実装を使用します。。 Microsoft Teamsもおそらく同じことをしたでしょう。

Mozillaのバグトラッカーで見つかった関連機能リクエストは次のとおりです。

おすすめ記事