Короче говоря: потому что каждое распределение использует другой подход к управлению пакетом. Они просто не совместимы. Стратегия управления, которая работает лучше всего на Ubuntu, будет иметь мало смысла на Arch и т.д. "Универсальный" (независимый от распределения) диспетчер пакетов был бы просто дополнительным слоем пользовательского интерфейса, который никогда не будет работать столь же хороший как определенный менеджер каждого распределения.
Так, с помощью собственных слов трудно сделать и поэтому не практичное - также, потому что едва ли кто-то извлек бы выгоду из него.
Исполняемый файл выполнен на удаленной машине и отображен (оттянутый) на локальной машине. Что ssh -X remote
делает запустить сервер X11 прокси на удаленной машине. Если Вы делаете echo $DISPLAY
на удаленной машине необходимо видеть что-то как localhost:21.0
. Это говорит программе, работающей на удаленной машине отправлять команды рисования на сервер X11 с идентификатором 21. Это затем направляет те команды к реальному серверу X11, работающему на локальной машине, которая привлекает Ваш экран. Эта передача происходит по зашифрованному соединению SSH, таким образом, их нельзя (легко) слушать.
В отличие от Windows, Mac OS, и т.д., X11 был разработан с начала смочь запустить программы через сеть, не нуждаясь в вещах как удаленный рабочий стол. Некоторое время тонкие клиенты X11 были популярны. Это - в основном разделенный вниз компьютер, который только выполняет сервер X11. Все программы работают на некотором сервере приложений где-нибудь.
Выполнение приложения удаленно, кроме этих X компонентов (т.е. рендеринг x-команд и т.д.), которые работают локально. Каждое клиентское приложение обычно использует локальный X-сервер для отображения UI. В этом случае команды, отправляют по зашифрованному каналу SSH с удаленной машины на Вашу локальную машину и отображены там.
Установка $DISPLAY
только половина соглашения все же. Чтобы смочь аутентифицировать клиенты на стороне сервера, ssh
также использует xauth
создать новый cookie аутентификации. Посмотрите xauth list
и ~/.Xauthority
.
Ключ может быть должен понять, что X-сервер является единственной вещью, которая предоставляет графику пользователю, и всеми различными программами, которые хотят графику, должны быть X-клиенты и подключение к серверу. Интерфейс между клиентскими программами и X-сервером был разработан от запуска для поддержки соединений с удаленными программами, не только теми, которые на локальной машине.
В достаточно сумасшедшей сети программа могла быть запущена где угодно и отобразить свою графику где-либо еще...