bspwm의 화면 공유로 인해 공유 모니터에서 마우스가 응답하지 않습니다.

bspwm의 화면 공유로 인해 공유 모니터에서 마우스가 응답하지 않습니다.

질문

Discord 또는 Firefox를 사용하여 전체 화면을 화면 공유하면 공유 화면이 마우스에 전혀 반응하지 않게 됩니다. 화면 공유를 중지해도 문제가 해결되지 않습니다. 창 공유는 훌륭하게 작동합니다.

  • 공유 화면에서 마우스로 아무 것도 클릭할 수 없으며 스크롤할 수도 없습니다.호버 효과 없음(예: Spotify에서 버튼 위로 마우스를 가져가면 버튼이 더 커지고 녹색으로 표시되어야 하며 링크에 밑줄이 표시되어야 합니다. 정지된 화면에서는 이런 일이 발생하지 않습니다.)
  • 키보드는 여전히 작동합니다. 비디오는 여전히 작동하고 모든 것이 여전히 잘 작동합니다.
  • 키보드 단축키를 사용하면 정지된 화면에서도 바탕화면을 변경할 수 있습니다.
  • 고정 화면에서 다른 화면으로 창을 이동하면(키보드 단축키 사용) 창을 다시 클릭할 수 있습니다. 뒤로 이동하면 취소되어 클릭에 응답하지 않는 창이 아니라 확실히 화면임을 나타냅니다.
  • 클릭하여 dunst알림을 닫는 것이 효과적입니다. 내 rofi시작 메뉴는 잘 열리고 대화형입니다.
  • SimpleScreenRecorder 및 OBS와 함께 화면 녹화를 사용할 수 있습니다.
  • 안경을 사용하여 정지된 화면에서 스크린샷 찍기: 정지된 화면에서 직사각형을 클릭하고 드래그하여 잘린 스크린샷을 찍을 수 있습니다(물론 다른 모니터에서 안경을 켜면 버튼을 클릭할 수 없습니다 Take a new screenshot).
  • 이런 일이 몇 달, 어쩌면 1년 동안 일어났습니다.
  • 내 bspwm 설정은 다음과 같이 설정됩니다. 창 위로 마우스를 가져가면 해당 창에 초점이 맞춰집니다. 정지된 화면에서는 초점을 맞춘 마지막 창에만 초점이 맞춰집니다. 마우스를 사용하여 두 창 사이에 초점을 맞출 수 없지만 bspwm은 마우스가 해당 화면에 있다는 것을 알아차립니다.

Chromium에서 화면 공유

Chromium에서는 화면 탭과 애플리케이션 탭을 볼 수 있습니다.

화면 탭

애플리케이션 탭

애플리케이션 탭에서 화면을 공유하면 문제가 발생합니다(예: eDP-1-1 = 내 노트북 ​​화면). "전체 화면" 탭에서 내 화면을 공유하는 경우에는 그렇지 않습니다.

Firefox 및 Discord에서 화면 공유

공유할 화면을 선택하면 실제로 화면이 표시되지 않지만 애플리케이션은 다음을 수행합니다.

Firefox의 화면 공유 선택기

표시되는 xxx-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의 버그 추적기에서 찾은 관련 기능 요청은 다음과 같습니다.

관련 정보