Debian Wheezy-VM с GUI на хосте без GUI-возможно? [закрытый]

есть ли какие-либо решения для установки textmode debian wheezy, в котором я могу запустить виртуальную машину, на которой установлен графический интерфейс, который будет отображаться на одном из экранов?

6
задан Lellallol
18.01.2023 18:35 Количество просмотров материала 3070
Распечатать страницу

1 ответ

нет, не совсем, но обратите внимание, что все различие между "текстовым режимом Debian" и "GUI Debian" существует только в вашей голове; -)

идея в том, что обычно вам нужен либо "сервер", а затем это обычно означает" текстовый режим", либо" рабочая станция", а затем это обычно означает некоторую среду рабочего стола, например GNOME или KDE или XFCE или что-то еще. Загвоздка здесь в том, что виртуальные пакеты установка соответствующих "рабочих столов" обычно зависит на одном или другом пакете, предоставляющем так называемый менеджер отображения-программа, которая запускается при загрузке, порождает X-сервер (сложная часть программного обеспечения, фактически предоставляющая консоль GUI), запускает на нем менеджер входа в систему, и как только вам удастся успешно войти в систему, он отвечает за настройку сеанса для вас. Как только вы выходите из сеанса, менеджер дисплея снова запускается, поэтому вы возвращаетесь к квадрату 0.

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

теперь перейдем к более хардкорные вещи.

во-первых, вам нужно запустить X-сервер, а затем вам нужно запустить программу GUI таким образом, он знает, как связаться с порожденного X-сервера.

отложим на минуту вопрос запуска экземпляра X-сервера и поговорим о том, как программа с поддержкой X находит сервер. Там больше, чем один способ сделать это, но наиболее распространенным является поиск переменной среды с именем "DISPLAY", которая должна содержать имя гнездо экземпляр X-сервера прослушивает подключение клиента и так называемый номер дисплея. Я не хочу писать слишком много об этом здесь: решающий бит для понимания заключается в том, что после запуска X-сервера программы, которые хотят его использовать, обычно должны видеть соответствующий набор env. переменной уметь найти сервер.

и вот тут на сцену выходит концепция "X-сессии": в то время как вы можете запустить экземпляр X-сервера вручную, проще использовать специальную программу, чтобы сделать это за вас, и в дополнение к запуску программы или набора программ в специально приготовленной среде, чтобы они могли найти запущенный сервер.

в старые добрые времена ручного запуска X-серверов и подключенных к ним сессий люди обычно использовали startx скрипт, который по-прежнему поддерживается и является частью xinit пакета. Он порождает X-сервер и либо запускает указанную программу, либо выполняет ~/.xinitrc сценарий оболочки. Вы получаете идею.

но в наши дни может быть удобнее использовать менеджер дисплея с автологином-так что у вас есть готовый сеанс X, сидящий на указанном VT прямо при загрузке. Используйте nodm пакет для этого. Это автозапуске X-сервер, а затем запускает указанный скрипт имени указанного пользователя.

в любом случае, просто убедитесь, что ваша виртуальная машина работает как часть процесса запуска X сессии, или сделать программное обеспечение виртуальной машины увидеть правильный DISPLAY переменные среды.

Обновление ПО 2016-09-20 ответ @LauriKкомментарий:

...не совсем. Позвольте мне объяснить. В своем ответе я объяснил, как X-клиенты находят X-сервер. В X парадигмы системы Windows, X-клиенты (программы) ничего не рисуют сами но скорее канальные запросы, чтобы сделать это с экземпляром X-сервера, к которому они подключены-через сокет. Таким образом, графический экран (с указателем мыши), который вы видите на локальном компьютере, на котором вы сидите (то есть на вашем мониторе), представлен вам экземпляром X-сервера, работающего локально.

теперь интересное свойство подключаемого X-клиента и X-сервера над сокетом является то, что они действительно могут быть запущены на разных компьютерах - если этот сокет подключен к сети (скажем, предоставлено стек TCP/IP). Это несколько менее известное свойство X Window System, который называется прозрачность сети.

решающий бит прозрачности сети X является то, что X-сервер всегда работает на локальной машине (той, которая имеет монитор и устройства ввода, подключенные к нему) в то время как X клиенты, опираясь на него может выполняться локально или на любом количестве удаленных компьютеров.

эта парадигма родилась естественно потому что он был изобретен в "универсальный era": в основном, в помещениях типичного предприятия / лаборатории / что угодно, существовал бы одиночный дорогой мощный универсальный и несколько путь более менее мощные рабочие места которые, - был более менее мощны,- оборудуйте с графическими экранами. В таких установках, рабочие станции бы запустить их x программ на ЭВМ, и эти программы будут рисовать на X-серверах, работающих на рабочих станциях.

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

NX suite (what nomachine.com предоставляет) вроде "переворачивает" подход все совсем как в RDP (терминальный доступ к серверу) протокол Windows или VNC.

в этой парадигме и X-клиенты, и X-сервер рисуют через все они расположены на удаленной машине ("сервер"), но вместо рисования на фактическом экране оборудования (скажите, a монитор) X-сервер "рисует" где-то (подробнее об этом в секунду), и эта информация отражена и удаленно подключенного клиента. То есть, вся" экранная " информация передается оптом. От клиента на сервер поступает другой поток информации: данные от устройств ввода клиента, такие как нажатия клавиш клавиатуры и движения указывающих устройств.

в этой парадигме вся "графическая сессия" выполняется на сервер, рисуется там, и эта постоянно меняющаяся "картинка экрана" непрерывно передаются на подключенный клиент (очень эффективно). Вы можете смотреть на это так, как будто сервер генерирует бесконечное видео youtube который вы транслируете и просматриваете.

как вы можете видеть, эта парадигма противоположна по сравнению с оригиналом X модель прозрачности сети, как X-сервер работает удаленно, а также.

вы, как клиент, обычно "видите" весь удаленный графический сессия в одиночном окне представленном специализированной частью програмного обеспечения которая используется для создания и поддержания удаленного сеанса.

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

последний бит головоломки, как данные с удаленного сервера X доставляется удаленно подключенному клиенту.

в принципе, есть два способа достичь этого:

  • специальная часть програмного обеспечения бежать "крюки" сервер-стороны в рисование событий, созданных X-сервером, и их обработка: определяет, какие области экрана были обновлены, и как, сочетает в себе обновления в пакеты, возможно "downscales" их (снижение глубина цвета и/или разрешение), сжимает их и отправляет клиенту.

    так работает серверное программное обеспечение VNC.

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

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

насколько мне известно, NX / nomachine (и его аналог F/OSS, X2Go) реализует второй подход.

обратите внимание, что NX/X2Go-не единственные решения, использующие эту парадигму. Популярный стек виртуализации KVM поддерживает протокол SPICE подключиться к виртуализированному графическому экрану своих гостей. Есть драйверы Windows, реализующие специальный делать протокола QXL их графический вывод будет эффективно доставлен клиентам с помощью SPICE (и VNC также).

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

наконец, обратите внимание, что текущие" игры изменения " технологии в * Никс графика-Вэйланд проект-фактически поддерживает только это ПХ-подход к работе с удаленными графическими программами. Когда он берет на себя, "X-way" прозрачность сети станет в прошлое. ; -)

надеюсь, что это помогает.

3
отвечен kostix 2023-01-20 02:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх