Разделение экрана под Wayland

Я использую Wayland с Fedora 25.

Практически никакие инструменты не работают правильно. Из Chrome я могу поделиться окном Chrome, но больше ничего. Я также должен использовать zoom.us, и когда я делю окно с другой стороны, просто появляется пустой экран.

Есть ли что-то, что нужно настроить, чтобы это работало?

3 ответа

Хотя это старый вопрос, я нашел решение, используя технологию PipeWire с Gnome DE (в моем случае 3.32) и Chrome (в настоящее время версия 77).

Проверьте это: https://wiki.archlinux.org/index.php/PipeWire

Просто откройте chrome: // flags / # enable-webrtc-pipewire-capture, установите его как включенный и перезапустите chrome. Вы сможете поделиться всем экраном.

Я надеюсь, что это помогает

Возможность делать традиционный полноэкранный обмен в Wayland - недостающая функция, а не ошибка.

Реально наш единственный вариант - переключиться обратно на Xorg. Ubuntu фактически делает это: https://www.theregister.co.uk/2018/01/30/ubuntu_reverting_to_xorg_in_bionic_beaver/

Будут проекты (например, Pipewire), но кажется, что это хороший год, прежде чем они попадут в Firefox или Slack.

Pipewire все изменил. Совместное использование экрана через Wayland хорошо работает на Fedora 32 Workstation прямо из коробки. По крайней мере, в Firefox. Я еще не тестировал другие браузеры.

Сначала Firefox запросит у вас разрешение на совместное использование вашего экрана, затем GNOME спросит, хотите ли вы предоставить общий доступ к одному окну или к полному экрану и на каком мониторе. Вот и все. В Firefox появится крошечное окно с несколькими быстрыми элементами управления для совместного использования экрана.

Когда вы показываете экран, в правом верхнем углу экрана будет отображаться оранжевый значок среди других системных значков. Через это меню вы также можете быстро отключить совместное использование экрана.

Как известно, совместное использование экрана в Wayland нарушено. Вы говорите, что совместное использование прекрасно работает в сеансе X11, но вы предпочитаете использовать Wayland.

Я не разработчик Wayland (и не пользователь) и не могу исправить ошибку.

Я видел комментарии, в которых говорилось, что проблема в основном связана с полноэкранным совместным доступом, поэтому я советую вам попробовать поделиться только отдельными окнами, пока ошибка не будет устранена.

В противном случае, ваш единственный вариант - заставить разработчиков Wayland исправить ошибку, продолжая использовать X11 всякий раз, когда вам нужно делиться экраном.

Вы можете перенаправить вывод с экрана на фиктивную веб-камеру и настроить Zoom для использования этой веб-камеры, в результате чего другая сторона увидит ваш рабочий стол.

Это взлом, но в основном он приводит к совместному использованию экрана.

Если вы используете swaywm, вы можете использовать wf-recorderсделать это. На других компьютерах найдите что-нибудь, что может делать запись экрана, и перенаправьте его в /dev/video2 как показано ниже:

# Install the v4l2 loopback driver
sudo pacman -S v4l2loopback-dkms
# Load the kernel module
sudo modprobe v4l2loopback

# Finally, pipe the screen output into the virtual webcam:
wf-recorder --muxer=v4l2 --codec=rawvideo --pixel-format=yuv420p --file=/dev/video2

Теперь вернитесь к масштабированию и измените видеовыход на "Dummy video device".

Дополнительные советы:

  • Не забудьте выключить зеркальное отображение видео, иначе все будет зеркально отражено, чего вы обычно не хотите при совместном использовании экрана.
  • При увеличении масштаба, если вы установите камеру в исходное соотношение, ваш полный экран будет доступен, но качество будет действительно ужасным (маловероятно, что другая сторона сможет что-либо прочитать).
  • Если вы установите его на 16:9, стороны экрана будут обрезаны, но качество должно быть читаемым. Ваш выбор.
  • Не забудьте убить wf-recorder как только вы закончите, иначе ваш экран будет доступен в следующий раз, когда вы присоединитесь к звонку!

Оригинальная статья

Я использую Wayland на Ubuntu 17.10.

  • zoom говорит, что у Wayland нет протокола для обмена (и рекомендует использовать X11)
  • Google Hangouts показывает черный экран на общем экране общего доступа, и он отображается на моей машине some Windows (в частности: Google Chrome и Firefox, но не Gnome-терминал).
  • Появиться.in показывает черный экран с произвольно движущимся пикселем

По этому вопросу сообщается о нескольких проблемах https://bugzilla.redhat.com/show_bug.cgi?id=1369218 (в Ubuntu об этом еще не сообщалось) в оболочке gnome https://bugzilla.gnome.org/show_bug.cgi?id=786565

Мое исправление для Ubuntu 17.10 - использовать X11 (вы можете выбрать, когда начинаете сеанс в "Ubuntu на Xorg")

Также нашел решение, которое я описал здесь, на GitHUB.

В принципе шаги:

  1. Поместите все ваши "коммуникаторы", все программное обеспечение, которое требует совместного использования экрана (slack, google meet), в какое-то отдельное время выполнения, которое рендерится с помощью некоторого X-сервера на вашем хосте. Я бы посоветовал X11Docker, потому что он очень легкий и удобный. Также поместите клиентское программное обеспечение удаленного рабочего стола по вашему выбору в эту среду выполнения.

  2. Разверните какой-нибудь агент обслуживания удаленного рабочего стола на своем хосте, я выбрал WayVNC (хотя требуется sway 1.4!)

  3. Подключитесь из среды выполнения через VNC (или любой другой протокол по вашему выбору) к хосту, работающему под управлением Sway.

  4. Теперь вы можете поделиться экраном в своей микро-среде выполнения экрана, показывающего сеанс хоста VNC.

Усилия легкие и более стабильные, чем некоторые взломы, пока не созреет родной способ совместного использования экрана.

Совместное использование экрана не является частью Wayland, но композиторы GNOME, KDE будут реализовывать расширение obs-xdg-portal.

В настоящее время мы ждем, когда firefox / другие приложения реализуют это расширение.

Другие вопросы по тегам