Про Линукс. Простым языком

23.02.2007

Джин в бутылке, MSIE в WINE

Filed under: Практика — timothy_ha @ 21:18

Что больше всего разочаровывает пользователя в Windows? Почему приверженец привычного и понятного ему интерфейса “винды” вдруг начинает искать ей замену? Internet Explorer for Linux Я думаю, очень важную и весьма не последнюю роль сыграл здесь браузер Microsoft Internet Explorer или точнее его дырявость. А может и не совсем дырявость (Firefox и Opera тоже не без дыр), а его слишком тесная связь с недрами операционной системы, которая стала причиной многих вирусных эпидемий.

Итак, если кто еще помнит, первая версия браузера MSIE появилась где-то в 1995 году, практически одновременно с выходом новой ОС от Windows – Windows 95. Тогда версионный номер у браузера уже был 3.0. С более младшими версиями простые пользователи не сталкивались. Как рассказывает статья Википедии, браузер был основан на коде программы Mosaic (это был один из первых браузеров, работавших в графическом режиме – до появления WWW на экранах обычных пользователей, Mosaic можно было встретить в компьютерных центрах научных и учебных заведений, на графических Unix-терминалах). Версия 3.0 браузера MSIE вышла в то время, когда Netscape Navigator был уже очень зрелой программой, со многими возможностями. Netscape была фирмой-новатором, которая изобрела Javascript, фреймы и многие другие атрибуты современного Интернета. Internet Explorer же был невзрачной простенькой программой, которая работала, но была ничем не лучше своего конкурента. Я помню, что в те дни я всегда сразу ставил Netscape 2.0 поверх свежеустановленной Windows 95 и пользовался только Netscape.

Впервые Internet Explorer удивил меня в 1999 году, когда вышла его 5-я версия. Программа работала очень быстро – открывалась моментально и шустро отображала веб-страницы. В то время Netscape уже стал тяжелым, некрасивым (если кто еще помнит интерфейс его 4-й версии) и медлительным. Поэтому Internet Explorer очень быстро стал моим браузером по умолчанию. Его не надо было ставить, он просто был в системе (в Windows 95 была версия 3.0, в Windows 98 – 4.0, в Windows 2000 – версия 5.0, в Windows ME – 5.5, в Windows XP – 6.0). Это было очень удобно для пользователя и о браузере Netscape пользователи довольно быстро забыли. Рыночная доля браузера MSIE подскочила до 95% и выше. “Война браузеров” завершилась. О фирме Netscape надолго забыли, пока она не превратилась в Mozilla и не выпустила ныне популярные продукты Firefox, Thunderbird и Seamonkey.

Популярности MSIE также способствовал тот факт, что для разработчиков Windows-программ фирма Microsoft открыла доступ к объекту-браузеру (таким неуклюжим словом пытаюсь обозвать Active-X компонент, который показывал страницы так же, как это делается в MSIE) и любой мог встроить HTML-браузер на уровне MSIE в свою программу. Легко представить, как быстро программисты привыкли к этому, к встраиванию MSIE в свои программы. Сама система Windows также использовала этот объект-браузер практически везде – например, для красивого показа папок в “Проводнике” (помните, как можно было в Windows 98 использовать Active Desktop или красиво оформить ту или иную папку?). Когда люди спохватились, то было уже поздно, MSIE был везде, он был привычным инструментом и он работал, так что в альтернативах мало кто нуждался.

Тесная интеграция Microsoft Internet Explorer в ОС Windows была причиной антимонопольных процессов и судебных разборок. Microsoft пыталась доказать, что браузер легко удалить, но на деле все было иначе: сколько ни удаляй, компоненты браузера все равно остаются на машине, включая тот объект. Совсем уж без браузера система просто не жила. Это в корне отличается от подхода в Unix (“the Unix way”), когда каждый функциональный объект (да, там для интеграции с другими программами тоже можно было бы написать объект-браузер) можно заменять другими без ущерба для функциональности. И если выходит новая версия функционального объекта, можно заменить его и все программы, его использующие, получат новые возможности или избавятся от прежних багов.

Тесная интеграция MSIE в систему Windows также отрицательно повлияла на ее общую безопасность. Вы наверное слышали или сталкивались сами с тем, что читая очередное письмо по email (просто открывая письмо, а не аттачмент), вы заражали компьютер очередным вирусом-трояном. Почему же так происходит? Потому что почтовый клиент Outlook Express (и многие другие), для удобства как разработчиков, так и пользователей, показывает HTML-письма с помощью объекта-браузера от MSIE. И не закрытый баг в MSIE мог быть использован вирусом несмотря на то, что пользователь ничего не делал, а только прочитал письмо… Вирусы-трояны, пришедшие через MSIE и зависимые от него программы, по разным данным захватили примерно 25% процентов компьютеров, подключенных к Интернету(!). Об этом недавно заявил на экономическом форуме в Давосе видный деятель в Интернете Винт Серф. Именно по этой причине к нам сейчас каждый день приходит так много спама и вирусов – зомбированные компьютеры используются различными спам-командами для рассылки миллионов электронных писем в считанные минуты. Правда, выход, который он предлагает, не очень хорош: он предложил ввести эффективные методы контроля Интернетом, вместо того, чтобы организовать помощь пользователям в переходе на более безопасные варианты использования Интернета. В светском обществе ведь не вводят контроль над сексуальными связями людей, а продают им презервативы, предоставляя людям некоторую свободу действий (можно также коротко процитировать Ветхий Завет: “не прелюбодействуй“, или Нагорную проповедь, как вариант безопасного поведения, но это не тема данной заметки).

Общая система безопасности в ОС Windows также предоставляет пользователю слишком много прав, поэтому работающий с правами пользователя зараженный объект-браузер может причинить много вреда. Как следствие, возникает потеря доверия  у людей и увеличение раздражения при работе с Windows, когда даже трехгигагерцовый компьютер вдруг начинает “тормозить”, а Интернет-канал забиваться ненужным трафиком (отсылкой спама и вирусов разным получателям в спам-базах). Впрочем, некоторые положительные подвижки есть – в Windows XP Service Pack 2 появилась возможность выбрать в качестве браузера по умолчанию браузер стороннего разработчика, например, Firefox, а вместо почтового клиента Outlook Express использовать Thunderbird (эти программы для Windows и других ОС можно скачать на сайте Mozilla.org или Mozilla.ru, если вы предпочитаете русскоязычный вариант). При выборе можно также “запретить” запуск Internet Explorer и Outlook Express. Эти программы еще можно будет запускать, но только по сознательному выбору пользователя – в меню их нигде не будет видно. Впрочем, никто не отменяет работу упомянутого выше объекта-браузера в зависимых от него программах.

Теперь к главному – почему же я назвал статью “Джин в бутылке, MSIE в WINE”? :-) Дело в том, что я на днях работал над очередным сайтом клиента и должен был тестировать сайт в MSIE. Парадокс, но раньше обычно я проверял сайт сначала в MSIE, а потом уточнял, все ли работает в Firefox и Opera. Теперь же все наоборот, код нашей фирмы по умолчанию работает в Firefox + Safari, а под MSIE приходится проверять. Отчасти это связано с тем, что мы работаем на Линукс- и Мак-машинах, но это также связано с тем, что MSIE с некоторыми стандартами веб-разработки от W3C-концорциума работает не так, как другие браузеры. Конечно, многие веб-разработчики из-за рыночной доли “главного” браузера уже оптимизировали сайты под MSIE, поэтому сами разработчики MSIE просто почивали на лаврах и не развивали программу. Но теперь, как мне кажется, они немного отстали. Теперь MSIE кое-где в положении догоняющего, несмотря на то. что все еще работает на компьютерах у около 85% пользователей Интернета.

Ну вот, для того чтобы протестировать сайт в MSIE, раньше мне нужно было запускать Windows (перегружать компьютер или включать виртуальную машину в VMWare Player). Сейчас же, благодаря трудам одного бразильского программиста, я могу запускать MSIE прямо из WINE. Для тех, кто не знает: WINE (WINE is Not an Emulator – циклическая расшифровка в стиле GNU is Not Unix) это система, позволяющая запускать многие Windows-программы в Линуксе. Кроме того, с помощью WINE можно изолировать каждую программу внутри некой песочницы, чтобы она никому не навредила. С легкой руки авторов CrossOver Office (коммерческого продукта, позволяющего удобно работать с Microsoft Office, Adobe Photoshop и другими программами внутри Линукса), в WINE появились так называемые “бутылки” (бутылки, потому что wine по-английски значит вино), в которых можно закупоривать наших джинов, в данном случае Microsoft Internet Explorer.

Итак, с помощью программы IE4Linux, которую можно найти на сервере со звучным для русского уха названием “Татанка” (почти как “тачанка”) можно использовать для веб-разработки аж несколько версий MSIE на одном Линукс-компьютере, MSIE 5.0, 5.5, 6.0. Программа сама качает нужные файлы с сервера Microsoft.com и поставит их в бутылки, из которых потом можно запустить версии браузера набором простой команды, например, ie6 в случае шестой версии.

И вот, заработавшись над очередным сайтом, я бросил взгляд на панель с открытыми задачами и почувствовал дежавю. Вроде бы сижу в Линуксе, а окно у меня такое:

Открытые задачи в Linux - Internet Explorer в стане врага

Как будто сижу в Windows! Да, я конечно не работал над сайтом Microsoft.com, просто открыл его, чтобы MSIE было приятнее :-) И было удивительное чувство надежности (а может это неправильное чувство?), что я работаю с джином, но он у меня в бутылке закупорен и безопасен для окружающих.

В любом случае, как вы видите, Microsoft Internet Explorer работает в Линуксе с помощью WINE – а вместе с ним и многие другие программы (также и моя “Цитата из Библии”). В ближайшем будущем я напишу, какие программы я лично запускал через WINE – в последнее время число совместимых с WINE программ растет очень быстро. Многие даже играют в Линуксе в свои любимые игры, которые раньше были доступны только для Windows-пользователей. Джин действительно сидит в бутылке, а MSIE действительно работает в WINE! Ну а о том, как на самом деле вреден MSIE для Windows, я написал в пространном и отвлеченном от заголовка заметки тексте выше. Прошу простить меня за это, не мог удержаться :-)

Для тех, кто заинтересовался, подробная инструкция для установки IE4Linux есть на сайте “Татанка”. В некоторых случаях (на одних машинах так, на других иначе) команда ie6 выдавала у меня ошибку (отсутствие той или иной библиотеки Windows), но это лечится добавлением принудительного “перехода в бутылку” – cd ~/ies4linux/ внутри скрипта ~/bin/ie6. После данного перехода джин приходит в себя окончательно и уже не капризничает. Я сообщу об этой проблеме автору продукта – думаю, что в следующих версиях баг устранится. Я использовал версию 2.0.5 на момент написания этой заметки.

Спасибо за внимание! До новых встреч.

5 Comments »

  1. Во время обсуждения статьи в Технофоруме JesusChrist.ru http://jesuschrist.ru/forum/438969 была высказана мысль, что по умолчанию “джин” получает доступ к локальному диску – WINE создает диск Z:, который ведет на корневую папку /. Конечно, обычно трояны не удаляют файлы, а стараются встроиться в систему как приложение в автозапуске, но сама мысль, что локальный диск доступен джину, неприятна.

    Поэтому советую после установки IE4Linux сходить в папку ~/.ies4linux/ie6/dosdevices и удалить там файл z: (символическая ссылка, ведущая на /). Информация получена из http://www.winehq.com/site/docs/wineusr-guide/config-wine-main – раздел 3.1.4. Drive Settings

    Надежного вам общения с джином.

    Comment by timothy_ha — 24.02.2007 @ 07:00

  2. Дело не в автозапуске, а в том, что у тебя в ~/ могут быть разные проекты сайтов, в которые вирус запросто может закинуть свою копию, скачаную из инета. А ты легко опубликуешь… Ну и просто убить может все, что только сможет.

    Comment by Aleksanders — 24.02.2007 @ 08:00

  3. Замечу, что лицензионное соглашение (EULA) MSIE требует, чтобы пользователь обладал валидной лицензией на Windows, чтобы законно скачать и установить MSIE на свой компьютер. Тем самым, с финансово-юридической точки зрения, IE4Linux — это не очень хорошая штука, и если, например, ваша организация переходит на Linux чтобы не покупать Windows-лицензии, вы вряд ли сможете законно использовать IE4Linux.

    Еще несколько замечаний по тексту заметки (я не вычитывал ее внимательно, но кое-что заметил)

    Microsoft пыталась доказать, что браузер легко удалить, но на деле все было иначе

    Я не уверен, что это правда. Мне казалось, что, напротив, в MS утверждали, что браузер является составной частью ОС, и именно поэтому его нельзя удалить (а потому и не надо обязывать компанию это сделать). Возможно, этот вопрос имеет смысл уточнить…

    О фирме Netscape надолго забыли, пока она не превратилась в Mozilla и не выпустила ныне популярные продукты Firefox, Thunderbird и Seamonkey.
    Не совсем правда — все-таки фирма Netscape не превращалась в Mozilla. Точнее будет сказать, что кодовая база браузера Netscape была передана проекту Mozilla.

    Comment by IlyaVoyager — 25.02.2007 @ 23:56

  4. Надо будет почитать EULA MSIE, а пока я вспомнил только то, что если программа использует библиотеку MSIE, то ее надо поставлять с полной копией MSIE. Мы с этим сталкивались, выпуская один продукт.

    Про удаление MSIE, наверное, Вы правы. Я нашел пока одну новость Компьютерры – http://www.compulenta.ru/2002/5/24/30077/ – “Представители Microsoft на этой неделе продемонстрировали обновленную версию Windows XP, в которой не используется браузер Internet Explorer, почтовый клиент Outlook или Windows Media Player. Программы не будут физически удалены из системы (Microsoft продолжает утверждать, что это невозможно), однако, в обновленной версии Windows XP пользователь сможет “скрыть” неиспользуемое программное обеспечение, сделав основным браузер или другое ПО производства другой компании.”

    В английской Википедии также есть целая статья на тему удаления MSIE из Винды: http://en.wikipedia.org/wiki/Removal_of_Internet_Explorer

    Что касается Netscape – да, тут у меня тоже неточность. Но в глазах меня как пользователя действительно Netscape превратился в Firefox :-) И часть людей Mozilla Foundation, как я помню, пришли из Netscape. Тут есть статья: http://en.wikipedia.org/wiki/Mozilla_Foundation

    Comment by timothy_ha — 26.02.2007 @ 11:45

  5. На сайте IE4Linux, оказывается, есть страница http://www.tatanka.com.br/ies4linux/page/Legal_notices – действительно, должна существовать лицензия на отдельную копию Windows для компьютера, на котором IE запускается. При инсталяции, однако, нигде не высвечивается лицензия, поэтому как будто “крякнутый” софт ставится :-)

    В любом случае, думаю, что веб-разработчики разберутся, как решить вопрос с лицензиями на винду (Windows XP Home Edition стоит где-то 80 долларов), а обычным пользователям Линукса может быть, вообще не стоит играться с джином.

    Comment by timothy_ha — 26.02.2007 @ 18:53

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress