Зачем графическим программам нужно назначить окно?

Мой вопрос лучше объясняется как сценарий. Представьте, что у вас есть рабочий стол, на котором установлена ​​какая-то форма Linux (я использую arch). Теперь давайте добавим, что на вашем компьютере работает VNC-сервер, предоставляя вам виртуальный рабочий стол.

Я открываю Firefox на своем рабочем столе, а затем заходим в мой vnc, чтобы что-то работать. Если мне нужно что-то сделать в Google, я открою Firefox и получаю сообщение об ошибке, что сеанс уже запущен, поэтому теперь мне нужно закрыть предыдущую сессию Firefox, а затем открыть ее в своем vnc. Если я забуду, что он работает в моем vnc, я должен сделать то же самое, чтобы открыть его на своем рабочем столе.

Я знаю, что есть способы исправить эту конкретную проблему, но это всего лишь пример. Почему (в этом примере) Firefox нужно назначить только одному окну?

Почему Firefox не может быть создан и не назначен для какого-либо конкретного окна, а затем, когда я хочу его на конкретном рабочем столе, он просто загружает его там вместо того, чтобы закрывать и перезапускать его или запускать другой экземпляр? Я полагаю, что лучший способ выразить это: почему графические процессы не запускаются на своем собственном сервере, а затем передаются / перемещаются на любые запрашивающие рабочие столы?

  • Вставьте оба символа, если комбинация мертвых клавиш не распознается (например, 'a → á,' b → 'b)
  • Графические сбои на Intel HD Graphics 530
  • как начать работу с сервером окон x из linux mint?
  • Как настроить собственный EDID вручную?
  • Отключить эмулированное колесо прокрутки (EmulateWheel) для определенных программ
  • Экран, используемый экраном в utmp
  • Каков наилучший способ привязать Caps Lock к окну Windows?
  • Есть ли способ использовать языковой стандарт PT_BR в английской установке Debian?
  • One Solution collect form web for “Зачем графическим программам нужно назначить окно?”

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

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

    Linux и Unix - лучшая ОС в мире.