9

У меня огромный рабочий стол с несколькими мониторами и один довольно хороший компьютер. У меня также есть несколько мышей и клавиатур, лежащих вокруг. Теперь мне бы очень хотелось использовать все аппаратное обеспечение. Скажем, друг приходит и хочет одновременно со мной писать код на одном компьютере. Я хотел бы дать ему собственную мышь и клавиатуру. Всякий раз, когда его мышь находится над одним окном, я хочу, чтобы его ввод был направлен на окно. Это позволило бы нам писать разные части программы, а также легко копировать и вставлять между нашими окнами.

AFAIK Я знаю, что большинство оконных менеджеров поддерживает только одно активное окно, что делает это невозможным. Это потому, что это просто необычная вещь, или из-за какой-то фундаментальной архитектурной проблемы с X или даже с ОС?

Это не совсем то, чего я хочу, но возможно ли будет запустить по одному X-серверу на каждом мониторе и назначить каждому собственную клавиатуру / мышь?

1 ответ1

6

Прочитав комментарии и немного поработав, я наконец нашел ответ: http://alec.mooo.com/mpx.html

Если страница переходит в автономный режим:

  1. Создайте новую входную пару.

    xinput create-master New
    
  2. Показать устройства, подключенные к каждой входной паре

    xinput list
    
  3. Подключите устройства к новой входной паре (замените x и y номером устройства из списка)

    xinput reattach <x> <y>
    

Поддержка встроена в X, однако ни один из основных оконных менеджеров не предназначен для работы с несколькими курсорами. Но это работает в некоторой степени. Вот оконные менеджеры, которые я попробовал:

  • Гномик Классик
    • Оба курсора видны
  • Ice WM
    • Примерно такая же поддержка, как у Gnome Classic
  • Единство
    • Второй курсор становится невидимым, когда он не движется.
  • Гномовая ракушка
    • Курсор невидим все время, я думаю, что он находится за другими окнами. Все
  • Просвещение. (Мой текущий wm)
    • Лучший из оконных менеджеров, которых я пытался.
    • Заявки на поддержку нескольких режимов фокусировки (я не мог понять, как включить его)
    • Поддерживать перетаскивание нескольких окон одновременно странно.

За исключением Gnome Shell, все менеджеры wm справились с несколькими курсорами довольно хорошо. Я был в состоянии просматривать одновременно с другом. Однако одновременно можно сфокусировать только одно окно. Это означает, что один из вводов клавиатуры направлен на не сфокусированное (серая строка заголовка) окно. Для некоторых приложений, таких как, например, gnome-терминал, empathy, chrome, это работает хорошо, но мигающий текстовый курсор иногда невидим.

В какое окно направлен каждый ввод с клавиатуры, также кажется немного случайным. Обычно это клавиатура в паре с курсором, который последний раз щелкнул по окну, но не всегда. И прокрутка иногда странная.

ICE-MC

Я искал в сети оконный менеджер с лучшей поддержкой, и единственное, что я могу найти, - это модифицированная версия IceWM под названием Multi-Cursor Window Manager (Ice-MC). http://multicursor-wm.sourceforge.net/ Похоже, что разработка была прекращена где-то в 2009 году, и у меня было много проблем при ее компиляции (некоторые устаревшие зависимости, я временно отказался).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .