Спільний доступ до робочого столу за допомогою Google Hangouts, подвійного монітора та оболонки GNOME


42

У мене ноутбук із вбудованим екраном та приєднаним монітором.

Коли я запускаю відеозустріч Google і ділюсь своїм робочим столом, я хотів би мати доступ лише до вкладеного екрану, але не знаю як.

Зараз у мене є два монітори: LVDS1відповідає екрану мого ноутбука, який налаштований як вторинний екран і DP1який є моїм основним екраном. Але проблема все ще залишається, якщо я зміню екран свого ноутбука на основний.

$ xrandr
Screen 0: minimum 320 x 200, current 3286 x 1468, maximum 8192 x 8192
LVDS1 connected 1366x768+1920+700 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768      60.06*+
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 475mm x 267mm
   1920x1080     60.00*+
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  

Щоразу, коли я починаю ділитися своїм робочим столом у відеокімнаті, ділиться лише вбудованим (меншим) екраном. Найкраще було б мати можливість вибрати, яким поділитися, але якщо ні, як я можу поділитися лише доданим (більшим) екраном?

Надіюсь, у відеокімнаті Google шукає файл конфігурації, щоб вибрати, на якому екрані поділитися, але не знаю, який це файл.

ПРИМІТКА

Використання Fedora 20, x86_64, Linux 3.15.10-200, Shell GNOME 3.10.4-8, Firefox 31.

ПРИМІТКА 2

Використання Google Chrome змушує Google Hangouts ділитися обома екранами одночасно, а не лише екраном ноутбука, що, на мою думку, ще гірше. Ще намагаюся з’ясувати, як я міг вибрати, яким екраном поділитися.


Як експеримент, якщо ви зробите ваш вторинний екран основним за допомогою діалогового вікна налаштувань GNOME, чи відкриються відеокімнати на вторинному моніторі?
slm

@slm: Здається, що завжди беру на екран екран мого ноутбука. Не має значення, чи це первинний або вторинний екран.
Peque

Я вирішував свої проблеми із Chrome, Cinnamon та кількома моніторами. Це надзвичайно дратує. Я спробую і продовжую копати.
slm

Я зіткнувся з тією самою проблемою, використовуючи хром на Linux Mint 15, в розділі екрана Hangouts видно мої монітори. Дійсно дратує

1
Я не знаю, як ви отримуєте єдиний монітор, я ніколи цього не бачив. Але що стосується обох моніторів одночасно, я підозрюю, що Chromium розділяє лише X "екран". XRandR змушує обидва монітори з’являтися на одному екрані X, тож поки хтось із Google не виправить, я сумніваюся, що існує рішення, не використовуючи щось інше, як Xinerama.
Jarryd

Відповіді:


35

Проблема

Виявляється, у трекері Chromium вже є відкрите питання щодо цієї прикрої незручності. Існуючі варіанти, які пропонуються в Hangouts, мають основні недоліки:

  1. Поділитися весь екран: якщо у вас кілька екранів (у мене є три) і ви ділитеся "Цілий екран", інші люди у відеокімнаті нічого не зможуть побачити.

  2. Поділитися додатком. Якщо ви ділитесь лише конкретною програмою, тоді:

    • Вам доведеться вручну переходити на інші додатки під час трансляції, повертаючись до відеокімнат та вмикаючи / вимикаючи Спільний доступ до екрана.
    • У деяких додатках додаткові вікна (наприклад, діалогові вікна налаштувань, меню, спливаючі вікна тощо) не будуть захоплені як частина додатка, яким ви ділитесь. І в більшості випадків саме на цих діалогах ви хочете зосередити увагу.

Рішення / вирішення

Дуже вдале вирішення є коментарем 18 цієї ж дискусії, тому всі кредити повинні надходити до автора коментаря.

Я підсумую тут процес, який дозволяє поділитися частиною / зоною екрана з декількома моніторами в Hangouts Google, які працюють на машині Linux .

  1. Відкрийте VLC в режимі "Захоплення екрана" і скажіть, яку частину екрана X11 ви бажаєте захопити, використовуючи відповідні параметри командного рядка Екран модуля . Ви можете це зробити через конфігурацію GUI АБО за допомогою командного рядка:

    vlc \
        --no-video-deco \
        --no-embedded-video \
        --screen-fps=20 \
        --screen-top=32 \
        --screen-left=0 \
        --screen-width=1920 \
        --screen-height=1000 \
        screen://
    
  2. Поверніться до Google Hangouts та поділіться нещодавно відкритим вікном VLC, яке зараз виступає вашим "порталом" на цікавій частині екрана.

Важливі примітки

  1. Перемістити вікно VLC подалі від частини екрану ви захоплення , щоб уникнути Inception ефектів .

  2. Ви НЕ змінювати розмір або мінімізувати вікно VLC , тому що це буде впливати на дозвіл вашої частки екрану. Якщо ви хочете вимкнути його під час трансляції до відеокімнат, просто перемістіть його поза екраном БЕЗ зміни розміру або просто зробіть вигляд, що його немає.

  3. Вказівник миші не захоплюється VLC в Linux. Автор рішення пропонує і це рішення: ExtraMaus , проста програма C, яка створює "клон" вашої миші, але видима через VLC.

[TL; DR] Пояснення значень, які я вибрав у прикладі

  1. screen://Параметр вказує , що ми хочемо , щоб включити модуль захоплення екрану. Ви завжди будете використовувати цей параметр так, як є.

  2. Прапори --no-video-decoта --no-embedded-videoприховуйте вікно меню та панель інструментів відеоконтролю відповідно. Ви не хочете ділитися ними через Hangouts, тому пропоную завжди включати ці параметри.

  3. Це --screen-fps=20не повинно бути 20. Ви можете зробити це 30 або 10, оскільки на продуктивність впливає насамперед те, як Chrome кодує відеопотік.

  4. Область екрану , яку ви хочете захоплений слід стандартної конвенції [ --screen-top, --screen-left, --screen-width, --screen-height]. Припустимо, що у мене було два монітора, кожен 1920х1080, що давав загальний "віртуальний" екран 3840x1080, коли розміщувався один поруч, я міг дати такі координати:

    1. [ 0, 0, 1920, 1080] на весь мій лівий екран
    2. [ 0, 1920, 1920, 1080] для мого цілого правого екрана
    3. [32, 0, 1920, 1000]для частини мого лівого екрана, яка охоплює повну ширину, але обрізає 32пікселі зверху (там, де я зазвичай маю рядок заголовка вікна), і 1080-1000-32 = 48пікселів знизу (де у мене є панель завдань KDE).

1
Це гідне рішення. Легкий у виконанні. Спасибі
П'єр де ЛЕСПІНАЙ

1
якщо проблема зіткнулася на зразок: VLC не може відкрити екран MRL '// //. Перевірте журнал на деталі. sudo apt-get install vlc-plugin-access-extra, а потім скористайтеся командним рядком зверху, щоб відкрити vlc
Leo Yu

1
Я міг довго використовувати це з Debian. Я зараз в Ubuntu, і, здається, не знаю аргументів:unknown option or missing mandatory argument '--screen-top=0'
Pierre de LESPINAY

1
Я зробив кілька записів щодо цього з i3 gist.github.com/kylebrandt/237368095cd9803536ac26529340a60f
Кайл Брандт,

Це раніше працювало для мене, але вже не. VLC 3.0.7
Лукас Бустаманте

5

Я думаю, що я знайшов кращий спосіб вирішення, ніж використання vlc. Нам просто потрібно створити підроблену веб-камеру, яка показує наш екран.

# Unload
sudo rmmod v4l2loopback
# Load module
sudo modprobe v4l2loopback video_nr=7 'card_label=myFakeCam' 'exclusive_caps=1'

ffmpeg -f x11grab -r 20 -s 1920x1080 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video7

Потім нам потрібно зробити так, щоб він відображався в хромі в списку доступних камер. Ми можемо зробити це, наприклад, відключивши, а потім активуючи внутрішню веб-камеру ноутбука. Спершу слід дізнатися його шину usb та номер порту. У моєму випадку: Автобус - 01, а Порт - 4, і я бігаю:

sudo sh -c "echo '0'> /sys/bus/usb/devices/1-4/bConfigurationValue"
sudo sh -c "echo '1'> /sys/bus/usb/devices/1-4/bConfigurationValue"

Після цього я можу вибрати myFakeCam у Hangouts.

Я описав деякі інші ідеї та ще деякі деталі в hliss repo .

Google Chrome не може бачити підроблену камеру



-2

Завантажте xrdp на свій ноутбук. Почніть з'єднання rdesktop з localhost. Використовуйте сеанс rdesktop, щоб ініціювати сеанс google +, і буде доступним лише те вікно / робочий стіл.

Я усвідомлюю, що це скоріше обхід, але це зробить те, що ви хочете зробити.


Смішно :-). Але так, це насправді не є рішенням (навіть не обходиться). Я б швидше просто вимкнути екран ноутбука перед тим, як розпочати відеокімнату, яка швидша та чистіша ... ;-) Зазвичай хочеться поділитися тим, що вони вже відкрили на своїх робочих столах (над чим вони зараз працюють).
Пеке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.