Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Виртуализация и эмуляция в Linux

Бесшовная интеграция Windows XP в Linux при помощи SeamlessRDP

Оригинал: "Seamlessly integrate XP into Linux with SeamlessRDP"
Автор: Sergio Gonzalez Duran
Дата: 31 января 2008 г.
Перевод: Дмитрий Луцек
Дата перевода: 12 февраля 2008 г.

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

В настоящее время в распоряжении пользователей имеется много вариантов совместного запуска Linux и Windows на одной машине. Можно воспользоваться традиционной системой двойной загрузки, при которой операционные системы находятся на разных дисковых разделах, используя совместно общий раздел для файлов, или эмулятор типа Wine, позволяющий устанавливать приложения Windows непосредственно в систему Linux. Программы виртуализации, например, программы компании VMware, приближают нас к идеальному варианту с одновременным использованием обеих систем, однако одна из них всегда является основной, а другая - гостевой, которая отображается в оконном режиме. Впрочем, комбинируя VMware Server с несколькими бесплатными программами, вы можете запускать Windows XP вместе с Linux не в консольном окне, а в режиме полной интеграции в среду Linux.

Для этого вам потребуется установить в систему три программы. VMware Server бесплатна, хотя и не является программой с открытым исходным кодом. Для нее необходим лицензионный номер, который можно получить на той же странице, с которой загружается программа. (Конечно, вам также нужна копия Windows XP, которая будет запускаться под VMware Server.) rdesktop - клиент протокола удаленного рабочего стола, который входит в состав практически любого дистрибутива Linux, SeamlessRDP компании Cendio - утилита, распространяемая по лицензии GPL, которая позволяет интегрировать rdesktop с Windows XP.

Подобное решение позволяет подключаться к виртуальной машине в фоновом режиме, при этом не отображается ни рамка окна, ни рабочий стол Windows.. Видна только панель задач Windows XP вместе с обычной панелью задач KDE или GNOME, что создает иллюзию одновременной работы двух операционных систем. На Рисунке 1 (см. ниже) обратите внимание на панель задач KDE вверху экрана и панель задач Windows XP внизу, при этом могут запускаться приложения обеих систем.

Сначала установите Windows XP в VMware с обычными опциями и обязательно задайте опцию трансляции сетевых адресов (NAT) для сетевых соединений. Это упрощает соединение со стороны основной машины. После завершения инсталляции Windows, войдите в систему и задайте пароль для созданной учетной записи, которую вы будете использовать под Linux. Необходимо разрешить для этой виртуальной машины Windows удаленные соединения, для чего выберите опцию Start -> Control Panel -> System (Пуск -> Панель управления-> Система) (для этого, возможно, придется переключиться в классический вид (classic view)). После загрузки апплета System (Система) откройте закладку Remote (Удаленные сеансы) и отметьте опцию "Allow users to connect remotely to this computer" (Разрешить удаленный доступ к этому компьютеру).

Теперь установите на виртуальную машину Windows XP пакет VMware Tools. Вы должны узнать IP-адрес, присвоенный виртуальной машине сервером DHCP VMware. Чтобы определить его, откройте консоль DOS и введите ipconfig.

Затем установите SeamlessRDP на виртуальную машину Windows. Откройте Internet Explorer и загрузите файл zip-архива SeamlessRDP. Создайте на диске C: каталог C:\seamless и распакуйте туда содержимое архива. Разархивируйте в этот каталог три файла. Вам скоро потребуется использовать файл seamlessrdpshell.exe.

Теперь можно завершить сеанс Windows, не выключая виртуальную машину. При отображении экрана приветствия Windows можно закрыть консоль VMware Server, оставив сеанс виртуальной машины Windows XP работать в фоновом режиме. Несложная команда
ps -ef | grep vmware
позволит убедиться, что он по-прежнему выполняется.

Теперь пора использовать rdesktop. Сначала пробуйте открыть несложное приложение, например, Notepad (Блокнот). Запустите из-под Linux сеанс терминала, и выполните в терминале xterm следующую команду:

rdesktop -A -s "c:\seamless\seamlessrdpshell.exe notepad" 192.168.217.129 -u admin -p secret

При этом, естественно, следует изменить IP-адрес, имя и пароль пользователя в соответствии с вашими настройками. Если все было сделано правильно, вы должны увидеть, как в вашей системе Linux запускается приложение Notepad.

Опция -A включает режим SeamlessRDP, который создает для каждого запускаемого приложения окно X11. Эта опция требует задать оболочку (-s), из которой запускается приложение, указанное в команде rdesktop. Обратите внимание, что используется созданный вами каталог и приложение SeamlessRDP (c:\seamless\seamlessrdpshell.exe). Параметр этой команды - программа Windows, которую необходимо выполнить. Если путь к программе не содержится в обычной переменной пути (path), нужно указать полный путь.

Ключи -u и -p являются необязательными. Если не использовать их, то приложение отображает экран входа в систему Windows с запросом на ввод аутентификационных данных.

Следует отметить, что после закрытия Блокнота или любого другого приложения, запущенного из-под Windows, соединение с rdesktop не разрывается. Для запуска других приложений с помощью rdesktop нужно выйти из системы. Поскольку рабочий стол и пусковое меню, используемое для выхода из системы, не отображаются, вам нужно переключиться в виртуальную машину Windows XP и нажать Ctrl-Alt-Del, а затем выйти из системы или перезапустить виртуальную машину.

Теперь, когда вы знаете, как запускать приложения Windows из rdesktop с опцией SeamlessRDP, пробуйте запустить сам explorer.exe. Это приложение создает всю среду рабочего стола, в которой пользователи могут взаимодействовать с системой главным образом с помощью панели задач. При запуске без дополнительных опций отображается рабочий стол Windows XP в полном объеме (включая обои, пиктограммы и ярлыки на рабочем столе).

Если это вам не нужно, вы можете отредактировать реестр Windows, чтобы отключить рабочий стол и сохранить только панель задач. При следующей загрузке Windows XP перейдите в окно Start -> Run (Пуск-> Выполнить) и введите команду regedit для запуска редактора реестра. Найдите ветку HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> CurrentVersion -> Policies -> Explorer. Перейдите к ней, щелкните правой кнопкой мыши на правой панели и выберите опцию New -> DWORD Value (Создать -> Параметр DWORD). Присвойте ему название NoDesktop, а затем щелкните на нем и измените значение данных на 1. Закройте редактор реестра и перезапустите Windows.

Очевидно, что при выключении системы Linux любая виртуальная машина, выполняемая в фоновом режиме, будет отключена, поэтому вам придется запускать виртуальную машину VMware и закрывать консоль сервера каждый раз, когда вы захотите подключиться к Windows таким способом. Перед выполнением команды rdesktop следует переместить панель задач с нижнего на верхний край экрана, поскольку это место будет занято панелью задач Windows.

Теперь выполните следующую команду rdesktop:

rdesktop -A -s 'c:\seamless\seamlessrdpshell.exe c:\windows\explorer.exe' 192.168.217.129 -u admin -p secret

Вот и все. Через несколько секунд внизу экрана должна появиться панель задач Windows XP, и вы сможете запустить любое из установленных приложений. Вы создали иллюзию одновременной работы двух операционных систем на одной машине. Смотрится очень эффектно.

Этот метод работает не только с виртуальными машинами VMware, но также с клиентами Windows в вашей сети и другим программным обеспечением для создания виртуальных машин. Просто инсталлируйте SeamlessRDP и правильно сконфигурируйте Windows XP, чтобы rdesktop мог установить с ней соединение.

Серхио Гонсалес Дуран (Sergio Gonzalez Duran) - администратор Linux, системный разработчик и консультант по сетевой безопасности. Он также преподает на курсах Linux и публикует материалы по Linux и программам с открытым исходным кодом для испаноязычной аудитории на сайте linuxtotal.com.mx.