質問
DiscordまたはFirefoxを使用して画面全体を共有すると、共有画面がマウスにまったく反応しなくなります。画面共有を停止しても問題は解決しません。ウィンドウの共有はうまく機能します。
- 共有画面でマウスで何もクリックできず、スクロールすることもできません。ホバー効果なし(例:Spotifyでボタンの上にマウスを置くと、ボタンが大きくなり、緑色で表示され、リンクに下線が表示されます。静止画ではこれは発生しません)
- キーボードはまだ動作します。ビデオはまだ動作し、すべてがまだうまく動作します。
- キーボードショートカットを使用すると、静止した画面でもデスクトップを変更できます。
- 固定画面から別の画面にウィンドウを移動すると(キーボードショートカットを使用)、ウィンドウをもう一度クリックできます。戻ると、キャンセルされ、クリックに応答しないウィンドウではなく、間違いなく画面であることを示します。
- クリックして
dunst
通知を閉じると効果的です。私のrofi
スタートメニューはよく開き、インタラクティブです。 - SimpleScreenRecorderとOBSで画面録画を使用できます。
- メガネを使用して静止画からスクリーンショットを撮る:静止画で長方形をクリックしてドラッグすると、切り取られたスクリーンショットを撮ることができます(もちろん、他のモニターでメガネをオンにするとボタンをクリックすることはできません
Take a new screenshot
)。 - このようなことが数ヶ月、たぶん1年間起こりました。
- 私のbspwm設定は次のように設定されます。ウィンドウの上にマウスを置くと、そのウィンドウに焦点が合います。静止画では、ピントが合った最後のウィンドウにのみピントが合います。マウスを使用して2つのウィンドウの間に焦点を合わせることはできませんが、bspwmはマウスがその画面にあることに気づきます。
Chromiumで画面を共有する
Chromiumでは、画面タブとアプリケーションタブを表示できます。
アプリケーションタブで画面を共有すると問題が発生します(例:eDP-1-1 = My Notebook画面)。 [全画面]タブで自分の画面を共有している場合はそうではありません。
FirefoxとDiscordで画面を共有する
共有する画面を選択すると、実際に画面は表示されませんが、アプリケーションは次のことを行います。
表示される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
bpswm
compton
、これクロスnvidia 460.39-11
、Nvidiaデジタル権限管理システムxorg-server 1.20.10-3
lightdm 1:1.30.0-4
いくつかの問題
この問題を解決するのに役立ついくつかの質問があります。
FirefoxとDiscordは、画面共有にどのようなソフトウェア/技術を使用しますか? ChromiumとMicrosoft Teamsは異なるソフトウェアを使用していますか?
bspwm
画面を共有するためにどのソフトウェア/技術が使用されますか? i3は特定の画面を共有するオプションも提供していないため、異なる技術を使用する必要があります。他に何を提供できますか(ログ、システム情報...)?
答え1
~からこれReddit投稿でfocus_follows_pointer
bspwmオプションをに設定すると、画面が共有メニューのウィンドウとして表示されることがわかりましたtrue
。
これらの画面はまったく表示されません。 ~によると/u/ortango_さんのコメント、共有すると動作しません。
Firefoxはモニター固有の共有をサポートしていません。あなたがモニターだと思うものは、モニター名だけを持っているわけではありません。
ウィンドウ間でマウスを追跡できるようにマップされます
focus_follows_pointer
。これはwebrtcが通常のウィンドウであると考える副作用があります(ただし、通常のウィンドウやモニタではありません)。
問題はbspwmにあり、質問を提起しました。ここ。 Chromiumで動作する理由は次のとおりです。libwebrtcの最新の実装を使用します。。 Microsoft Teamsもおそらく同じことをしたでしょう。
Mozillaのバグトラッカーで見つかった関連機能リクエストは次のとおりです。