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

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

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

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

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

One Solution collect form web for “Зачем графическим программам нужно назначить окно?”

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

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

  • Как определить, находится ли окно в фокусе?
  • Можно ли отображать часть окна на втором устройстве?
  • Пусть окно X11 открыто в определенном размере и положении
  • Невозможно изменить размер удаленных окон через X11VNC?
  • Поднимите все окна терминала перед экраном?
  • xdotool: как искать окно по названию и классу с разными шаблонами (аналогично AutoHotkey)
  • Почему rpm не может использовать xterm?
  • Пожалуйста, объясните вывод команды управления ssh ~ #
  • Задача Cron в графическом интерфейсе
  • Перемещение выделенной клип-карты в основную часть при поступлении нового контента
  • Есть ли способ выполнить команду, когда пользователь выходит из X?
  • Не удается переслать X11 больше с сервера ssh
  • Interesting Posts

    Как получить доступ к звуковому устройству с помощью современных библиотек?

    Grep / awk / sed для строк, состоящих только из двух букв, и строк, начинающихся с буквы и встречающих определенную длину

    Две разные версии VIM

    Очередь дисциплины для каждого интерфейса, что происходит с интерфейсами с использованием того же устройства?

    Какова конечная последовательность ANSI для gnome-end для «CTRL + arrow / s»?

    Присоедините два файла, каждый из которых содержит два столбца, которые имеют несколько столбцов.

    Фильтровать столбцы на основе значения другого столбца

    могу ли я удалить текущее убийство в zsh?

    Loop в скрипте на удаленном сервере не работает

    Выбор / Вставка Word-Wrap на терминалах X-Based

    Убедитесь, что в сценарии была ошибка с одним слоем

    Git висит бесконечно, пытаясь нажать – all to GitHub

    SSH Ошибка при использовании sshpass

    Проблема установки последней версии shellcheck из tar.xz

    Выключить и перезапустить контрольный код?

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