Как объединить возможности Linux и Windows? Чтобы для перехода из одной в другую не приходилось перегружать компьютер и не использовать виртуальную машину, которая обязательно скушает половину всех ресурсов! Чтобы было удобно, наконец! Мечта? Уже реальность!
Идея иметь полноценное (или почти полноценное) Linux-окружение в Windows многим не дает покоя. Конечно, ничто не мешает нам запустить виртуальную машину, используя, к примеру, бесплатное решение VMware Server, и установить в качестве гостевой ОС все, что душе угодно. Но разве ж захочется каждый раз запускать требовательную к ресурсам виртуальную машину только для того, чтобы воспользоваться несколькими приложениями? С тем, что это работает медленно и неудобно, мириться еще можно, но вот жертвовать сотнями Мб оперативной памяти и процессорным временем зачастую просто нереально. Но если не так, – то тогда как же? Старый добрый Cygwin
Возможность объединить Windows и Unix без использования виртуализации появилась давно. Кто из нас не пробовал использовать небезызвестный Cygwin – специальную среду, предназначенную для переноса программ из POSIX-совместимых операционных систем в Windows. Многие никсовые утилиты, портированные с помощью Cygwin, отлично чувствуют себя под виндой и до сих пор развиваются. Я и сам отлично помню, как радовался, впервые скомпилив какую-то линуксовую программу (кажется, это был эксплоит) прямо под виндой. По сути, Cygwin представляет собой библиотеку, которая реализует интерфейс прикладного программирования unix-систем на основе системных вызовов Win32 (стандартных для винды). Продукт по-прежнему отлично справляется со своими задачами, а в случае использования сборок CYGNOME (Cygwin + GNOME) и KDE-cygwin (Cygwin + KDE) даже позволяет запускать кое-какие оконные приложения. Сказка? Ну, не совсем. Даже несмотря на эмуляцию никсов, складывается ощущение недоделанности и отсутствия интеграции в саму систему. Окно с консолью в Cygwin, претендующее на звание тукса в винде, – не совсем то, чего мы хотели. Командная оболочка в системе остается прежней: тот же пресловутый cmd.exe и никак иначе. А ведь люди, привыкшие к bash или другой удобной никсовой оболочке, едва ли пойдут на компромисс с ограниченностью решения от Microsoft. Да, можно установить сборник GNU utilities for Win32, в который входит 26 портированных никсовых утилит (например, любимый многими grep), отчасти компенсировав отсутствие привычных инструментов, но опять же – об интеграции в систему речи не идет. Расширенная оболочка от Microsoft – PowerShell – хоть и предоставляет огромный простор для деятельности (о чем ты можешь прочитать в отдельной статье, которую мы выложили на диске) и основательно встраивается в систему, но ничего общего с никсовым bash не имеет. Так как же быть? Решение от Microsoft
Выход нашелся там, где его не ищешь — на сайте Microsoft, в виде специального пакета Windows Services for UNIX (SFU), который свободно доступен для закачки. Сами разработки позиционируют его как специальную подсистему для IT-профессионалов, желающих безболезненно переползти на винду с никсовых систем. Подсистему назвали Interix и это, я тебе скажу, что-то! Последний релиз SFU включает более 350 любимых юниксоидами утилит (среди них vi, ksh, csh, ls, cat, awk, grep, kill), которые полностью интегрируются в систему. Помимо этого в SFU входит GCC 3.3, отладчик GDB, сервер и клиент NFS и еще множество полезных в хозяйстве вещей. К сожалению, упомянутую командную оболочку bash, файловый менеджер Midnight Commander, демон OpenSSH, редактор emacs или http-демон Apache придется ставить вручную, но готовые к установке пакеты легко скачать с сайта www.interopsystems.com/tools/warehouse.htm. Тем более, перечисленные программы – лишь малая часть того, что там есть.
В результате установки SFU ты получаешь полное ощущение, что находишься в *NIX окружении. Чего стоит один bash, исполняемый подсистемой ядра и поэтому работающий с той же скоростью, что и Win32-приложения. Установив ssh-демон, ты превращаешь обычную Windows XP в многопользовательский сервер, на котором одновременно могут работать несколько активных аккаунтов. И не надо использовать каких-либо дополнительных средств, вроде Terminal Services – вот тебе готовое решение да еще со многими возможностями никсов. Ну, а ежели работать в консоли не нравится, то ничто не мешает установить бесплатный X-Window сервер, специально оптимизированный для SFU – X-Win32 LX. Напомню, что X Window System представляет собой протокол, с помощью которого видеовыход может быть послан с одного компьютера на другой. В итоге получаем полноценный Remote Desktop. В завершение стоит отметить, что все перечисленное устанавливается на раз-два, как и любое обычное приложений для Windows. Огорчает одно: последний релиз SFU вышел еще в 2006 году, а новых версий, по всей видимости, не предвидится. Linux под Windows: реально?
Если даже специалисты из Microsoft занимаются вопросом создания Linux-окружения в Windows, то разумно предположить, что аналогичные решения есть и с другой стороны баррикад. Большая проблема в запуске никсовых приложений под виндой заключается в отсутствии соответствующего ядра операционной системы, и это отлично понимала команда программистов из Японии. Озадачившись этой загвоздкой, они представили сначала концепцию, а потом и реализацию Linux ядра, целиком портированного в Windows! Проект получил название Cooperative Linux или, сокращенно, coLinux. Он стал первой свободной разработкой, позволяющей запустить Linux под виндой без всякой виртуализации и необходимости перекомпилировать приложения! Достигается это за счет специального драйвера, отображающего системные вызовы Linux в вызовы Windows. Когда приложение пытается вызвать привычную для себя функцию Linux, ее работа не обламывается с ошибкой – вызов транслируется в набор системных вызовов самой винды и успешно выполняется. Все это работает значительно быстрее, чем в любых виртуальных машинах, поскольку используется родное для Windows ядро и не тратятся ресурсы на виртуализацию.
Несмотря на то, что с помощью coLinux можно запустить не только линуксовые приложения, но и вообще сам тукс, подробно рассматривать мы его не будем. Зато остановимся на двух других проектах, которые используют coLinux в качестве основы, но более дружественны к пользователю, избавляя от необходимости тратить время на настройку, которую в случае с «голым» пришлось бы выполнять вручную. Первым из этих проектов является andLinux. Как сделать из Windows Ubuntu?
Если тебя кто-то спросит «Что такое andLinux?», то лучше всего ответить так: «Это практически полный дистрибутив Ubuntu Linux, который работает прямо в Windows-системе!» Да-да, именно так! В качестве ядра используется coLinux, однако по возможностям andLinux намного превосходит его. Для скачки с официального сайта доступен уже готовый к использованию дистрибутив. В общем-то, обычная программа, если не считать вес: 131 Мб для версии с графической оболочкой XFCE и минимальным набором утилит – и аж 653 Мб для полной версии с KDE. Если ты не знаешь, что это такое, выбирай второй вариант – не ошибешься.
Установка пакета в систему ничем особенным не выделяется, но придется ответить на несколько вопросов мастера, указав некоторые параметры работы andLinux:
1. Количество оперативной памяти, которое смогут использовать Linux-приложения, лучше выбирать «не менее 256 Мб», хотя все будет работать, даже если выделить лишь 128.
2. Что касается вопроса, как запускать andLinux, советую выбрать вариант с автоматическим запуском в виде сервиса Windows.
3. Чтобы надстройка имела доступ к основной файловой системе, придется настроить Samba (специальный сервис в nix-системах, позволяющий подключаться к расшаренным ресурсам сетей Microsoft). Для этого необходимо создать папку в Винде и сделать ее доступной из сети (расшарить), а во время установки andLinux – указать ее имя и, если требуется, логин и пароль для доступа.
После установки в системе появляется панель (в случае дистрибутива с XFCE) или иконка в трее (в случае KDE), с помощью которой и запускаются предустановленные Linux-приложения. Для обычного пользователя это выглядит как набор самых обычных программ! Ничуть не удивительно, ведь все они имеют привычное для Windows обрамление (в отличие от уродливого Cygwin’а). Поэтому перепутать «чужеземца» с обычной программой очень просто!
Можно запустить абсолютно все, что и в Ubuntu Linux. По крайней мере, никаких ограничений мы не нашли и без проблем наставили кучу софта из репозиториев Ubuntu, воспользовавшись пакетными менеджерами apt-get и Synaptic. Если ты с ним еще не знаком, это твой реальный шанс оценить их мощь и удобство. Открыл окошко, нашел название нужной программы, нажал «Установить» – вот и вся установка. Менеджер сам закачает нужные файлы дистрибутива, а также все необходимые библиотеки и предоставит пользователю готовое для запуска приложение. Это даже проще, чем поставить программу в Windows! Естественно, ничто не мешает собирать программы из исходников. В общем, andLinux работает потрясающе, и единственным неудобным моментом можно счесть разве что обмен файлами между Windows и Linux посредством расшаренных папок и Samba. Решение напоследок
Возможно, наш опыт превращения винды в тукс на этом бы и закончился, если бы 19 мая этого года компания Ulteo не объявила о запуске бета-тестирования своего нового приложения – Ulteo Virtual Desktop. По сути, почти то же самое, что и andLinux. Новинка также основана на сoLinux и позволяет запускать самые разные никсовые приложения без необходимости перекомпиляции. В связи с тем, что это еще ранняя бета, разработчики рекомендуют использовать только предустановленный набор программ (Kopete, Konqueror, KPdf, GIMP и т.д.), которые запускаются из специального меню сразу после установки пакета и не требуют какой-либо дополнительной настройки. Но если не брать в расчет это ограничение (тем более, приложения устанавливать на самом деле можно, правда, на свой страх и риск), то уже сейчас можно выделить несколько серьезных преимуществ разработки перед andLinux (справедливости ради замечу, что окончательного релиза у этой разработки также не было).
Разработчики Ulteo Virtual Desktop намного удобнее реализовали систему обмена файлами с Windows. Папка учетной записи пользователя в Windows автоматически монтируется в домашнюю папку Linux, что несравнимо комфортнее, нежели обмениваться через расшаренные ресурсы. Отличная поддержка звуковой системы и принтеров прямо «из коробки» – еще один конек системы. Остается только добавить автоматическое обновление программы и синхронизацию данных через интернет. Искренне надеюсь, что Virtual Desktop будет быстро развиваться и через несколько месяцев порадует нас релизом. WARNING
Virtual Desktop, coLinux, andLinux будут работать только на 32-битных версиях Windows 2000, XP, 2003, Vista. Поддержка 64-битной платформы пока существует лишь в планах.
|