вторник, 28 сентября 2010 г.

О том как жить дальше...

А это один из Моих не прочитанных докладов на одном из Ubuntu Install Fest. Почти весь текст приведенный ниже применителен к любому из дистрибутивов ОС Gnu/Linux, но основоной акцент - дистрибутиву Ubuntu.

Здравствуйте!
Ну вот, Вы, новый пользователь линукс, Вы его самми установили, настроили интернет. Вас можно поздравить с «новосельем», но как-то пустовато в новой «квартире». Мебели, что - ли, не хватает =)

Для полноценного комфортного времени препровождения в новой «чистой» (только установленной) системе не хватает нужного пользователю софта.

Для поиска нужной программы (которая была бы похожа по функциональности на используемую ранее программу в винде), для линукс можно воспользоватся т. н. «таблицей соответствия». Для этого в гугле в поиск набиваем: "таблицы соответствия windows и Linux программ". Среди похожих ссылок, находим, нпример http://ualinux.com/index.php/windows-linux.

Такая таблица состоит из 3-х колонок:
- описание программы, выполняемая задача;
- windows — название программы для венды;
- linux — название похожей по функциональности программы в

Если «пробежаться глазами» по табличке - окажется что софта для ОС линукс не так уж и мало. Если для одной задачи в венде может быть пара программ: то в линуксе м.б. раза в 2-3 больше, Например, мне как обычному пользователю при «переезде» в линь, было в начале трудно привыкнуть к новым «экзотическим» названиям некоторых программ. Как вам например, такие названия yakuake (консоль в "квейковском" стиле), rakkarack (гитарный эффект-процессор) и т.д. Обычно названия программ складываются из сокращений, или аббревиатур, которые вытекают из целевой функции этой программы. Или может использоваться в названии программы - «рекурсивный акроним» (например, wine). Или просто слово понравившееся разработчику программы. Или смесь всего сразу. Иногда, первая буква в названии программы, может обозначать графическую оболочку - среду для которой она была в первую очередь написана:

G<имя> - программа написана с использованием библиотек GTK и предназначена, в первую очередь, для запуска в средах GNOME, XFCE, OpenBox, и т.д. (например GIMP, GshutDown);

K<имя> - программа была написана с использованием библиотеки QT для среды KDE (например Koffice, Konqueror);

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

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

В венде ситуация схожая: часто для запуска какойнибудь современной программы или игрушки ВРУЧНУЮ устанавливать туеву хучу «нет фрейм ворков» или «директ иксов» или «микрософт визуал с++ компонент» или «драйвера старфорса» (необходимое подчеркнуть). В то время как, в большинстве дистрибутивов решения зависимотсей происходит АВТОМАТИЧЕСКИ.

Установить программу в систему можно одним из несколькими способами:
1)Традиционный - компиляция бинарных файлов запуска из исходных текстов программы.
2)Программу можно установить из специального пакета, скачав его с сайта разработчика/майнтейнера или еще откуда нибудь. Для дистрибутивов Debian или Ubuntu это *.deb архив(ы).
3)Установить программу через специальную программу установки, т.н. менеджер пакетов: через консольные apt-get, aptitude или их гуевые фронтенды synaptic или gnome-app-install.
4)Использовать автопакеты. Как правило, внутри автопакет содержит все нужные для его запуска компоненты.

1) еще можно встретить в "бинарных" дистрибутивах линукс (например убунту), но им пользуются все меньше и меньше. Плохо это или нет - сказать трудно. Мне до сих пор не понятно - как можно следить при таком способе установки за «чистотой системы». Что делать, если, вдруг, программу захочется удалить? Установленная подобным образом пограмма в бинарном дистрибутиве в менеджере пакетов этого дистрибутива не появится. Такой способ установки, может стать единственным решением в тех случаях, когда нужную программу нельзя установить другими способами.

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

3)-ий способ - позволяет устанавливать программу, путем скачивания соответствующих архивов (например *.deb) из онлайнового хранилища — репозитория. В менеджере установки пограмм (напрмер Synaptic в Ubuntu) просто ставим или убираем галочки напротив нужных или ненужных программ и нажимаем кнопку «применить». Все. Этот способ хорош тем, что помимо безопасного удаления ропграммы, существует возможность обновления установленнух программ до актуальных версий, подключив соответствующие репозитории. Это также касается и самих обновлений системы в целом: ядра, установленных компонент и т.д. Всегда можно подключить дополнительные репозитории, если нужной Вам программы не оказалось внутри тех, что использются системой по-умолчанию.

Если встала необходимость срочно установить каку-либо программу, в отсутствии интернета, то можно придти с «живой флешкой» к другу у которого интернет есть. Загрузится с нее на компьютере друга и 3)-им способом установить нужную программу в оперативную память. При этом скачаются все необходимые пакеты в кэш. Переписать этот кэш из /var/apt/cache/ к себе на флешку. И, вернувшись к себе домой, установить программу из кэша 2)-ым способом: sudo apt-get install *.deb

Если посмотреть внутрь *.deb пакета, то можно заметить, что он собран таким образом, чтобы составляющие программу компоненты лежали "на своих местах" - все «расфасовано по полочкам». Устанавливая пакет, программа, как бы, добавляется «веточкой» к «большому дереву» - системе, например:
- бинарные файлы нужные для запуска программы (из консоли) будут лежать в /usr/bin;
- файлы ее документаций (манов) - в /usr/share/doc.
и т. д.

Теперь о необходимых нам программах и недостающих компонентах. В Ubuntu по-умолчанию отсутствуют некоторые несвободные компоненты, которые могут препятствовать распространению этого дистрибутива в каких-либо отдельных странах мира. У Вас вряд-ли получиться сразу «из коробки» посмотреть фильм или послушать mp3. Но послушать/посмотреть ogg/ogv можно, т.к. - это открытые форматы. Необходимые компоненты всегда можно установить 3)-им способом. Мало того, при запуске файла в плеере (totem), плеер сам скажет каких компонент или кодеков ему не хватает и поможет установить их. Проблему с нехваткой компонент можно решить еще проще: установить пакет ubuntu-restricted-extras (подключив доп репозитории). Вот описание данного пакета:
...
Installing this package will pull in support for MP3 playback and decoding,
support for various other audio formats (GStreamer plugins), Microsoft fonts,
Java runtime environment, Flash plugin, LAME (to create compressed audio
files), and DVD playback.
...
Можно поставить VLC. Имхо - неплохой плеер, все кодеки содержит внутри себя. Но для его работы необходимо дополнительно устанавливать QT. Также - не помешает установить gnome-mplayer.
Бывает так, что один плеер что-то "не возьмет", зато - съест другой.

Для прослушивания файлов *.mp3, в качестве программы (похожей на вендовый винамп) можно установить audacious или xmms. Эти плееры выглядят как винамп и могут использовать его шкурки. Есть еще amarok, banshee и т. д. Но, ИМХО лучше moc ничего нету =)

Оффис. По умолчанию в убунте стоит оракловский OpenOffice 3.2. Больше всего я работал с writer (вот и эту статью в нем пишу). Если сравнивать с вордом из 2003 мсоффиса, то ИМХО меньше глюков и тормозов при работе в зоне колонтитул («шапки» в документах) и с рисованием схем-значков. Про остальные компоненты ничего не скажу - не использовал. Но часто в разных изданиях проводят различные сравнения и тесты оффисных приложений. В частности, недавно где-то попадалась статья в журнале Сomputer Build.

Для рисования или редактирования картинок можно установить GIMP. До версии Ubuntu 10.04 он входил по-умолчанию в состав дистрибутива, но был «выпилен» за экономией места. Не "фотожоп" конечно, но кое-что он может. Для обычного пользователя его с лихвой хватит, вместо того чтобы покупать дорогой графический пакет.

Про онлайн браузеры нового ничего сказать не получится. Все тоже самое что и в венде, только ИЕ нету. Основным браузером на данный момент можно считають Mozilla Firefox 3.6 (установлен по умолчанию). Но стоит попробовать Google Crome (beta) — он намного быстрее. При его установке из *.deb архива разрабочтика, в систему автоматически прописывается сопровождающий данный браузер репозиторий. Так что всегда браузер будет "свежим".

Я уже говорил, что в ubuntu по-умолчанию отсутствуют некоторые компоненты: для firefox отсутствует флеш-плагин. Установив ранее пакет ubuntu-restricted-extras (или mozilla-flash-plugin), мы избавились от этой проблемы. Хотя проблема ли? Флеш, говорят, глючен и дыряв и еще тормозит.

Теперь немного, про т. н. Instant Message клиенты (IM). Это всякие «аськи», «гуглталки», «мсн-ы», «ирки», и прочие ... жабберы. В венде, мы все часто используем для этих целей квип или миранду. В линуксе для этих целей, в основном используются мултипротокольные IM клиенты — это когда одна и та же программа позволяет находится в множестве разнообразных профилей сразу. В убунте, начиная с 10.04, для этих целей по-умолчанию утсановлен empathy. Ранее - был pidgin.

О костылях:
Конечно, не для всех программам удается отыскать хорошую «альтернативу» в линуксе. В основном - это касается каких-нибудь экзотических программ или узко-специализированных профессиональных пакетов. Например, Gimp для «профессионала» пока не может заменить Adobe Photoshop. Хотя, можно найти свободный профессиональный пакет и для видео-монтажа (http://ru.wikipedia.org/wiki/Cinelerra) и для звукозаписи (http://ardour.org/). Профессиональный свободный софт есть, но его очень мало.

Я приведу пример связанный с САПР: мне как чертежнику и инженеру - не хватает чертилки, похожей на автокад. Те свободные пакеты, что есть - либо не обладают нужной мне функциональностью (QCad, DIA) а если и обладают (BrlCad, FreeCad и т.п.), то у них очень унылый интерфейс (или его отсутствие). Хотя инструментарий для создания подобного рода пакетов уже давно есть, например библиотека OpenCascade (http://ru.wikipedia.org/wiki/Open_CASCADE)

Конечно, есть и коммерческие пакеты для этих целе в линуксе, например BricsCad, Medusa, VariCad, и т.д. И стоимость некоторых из них м. б. меньше чем стоимость AutoCad. Можно, конечно, использовать всякие «костыли» для запуска автокадов, вроде специализированой версии wine - WINE@Etersoft CAD(http://etersoft.ru/content/view/232/259/).

Мало того, если глянуть на http://etersoft.ru/content/view/80/186/, то можно увидеть, что при помощи WINE@Etersoft в лине можно запускать 1С:Предприятие, Консультант Плюс, Гарант F1. Да, покупка такой спец версии wine будет стоить денег, но выгода от использования связки Linux и WINE@Etersoft ощутимее, чем использование платной венды. Еще в услугах Etersoft числится доработка ПО под нужды заказчика http://etersoft.ru/content/view/186/225/

Я вот упомянул wine, но не сказал, что это такое. Заглянем для определения в вики: http://ru.wikipedia.org/wiki/Wine.
...
Wine (/waɪn/ — между «уа́йн» и «вайн») — это свободное программное обеспечение, позволяющее пользователям UNIX-подобных систем архитектуры x86 (и других архитектур, при наличии совместимости, например, AMD64) исполнять 16- и 32-битныеприложения Microsoft Windows (64-битные приложения находятся в стадии ранней реализации). Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные системы. Название Wine является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор» (имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API).

Cамый свежий wine всегда можно скачать с сайта его разработчика http://www.winehq.org.
У wine, также есть собственные репозитории, который можно подключить и использовать по-назначению. Помимо вендовых программ, при помощи wine в линуксе можно запускать и некоторые вендо - игры. Некоторые игры могут работать, другие - работать не совсем корректно или не работать вовсе. ИМХО проблемы с запуском игр/программ часто связаны в основном с графикой (для вывода графики в играх стали часто использовать M$DirectX и постепенно отказываются от поддержки OpenGL), защитами от копирования (вроде starforce), отсутствие специфичных вендо-библиотек (фреймворков, мсвизуалс++ и пр.) и т.д. Все эти проблемы можно попытаться решить, погуглив, почитав спец. форумы, использовав специальные фичи/надстройки для wine (PlayOnLinux, winetricks, winedoors), спец версии wine (все тот же WINE@Etersoft, crossover(http://ru.wikipedia.org/wiki/CrossOver),
Cedega).

Тем не менее, есть что запустить и без напильника, для этого достаточно взглянуть на «базу работающих приложений» http://appdb.winehq.org/ В этой базе содержится о информация о работоспособности 14283 приложений. В комментариях к каждому приложению можно найти ту или иную информация связанную с запуском/функционирования этого приложения. Существует 5 статусов работоспособности: платиновый (приложение ставится и все работает из коробки), золотой (все работает но требуется небольшая доработка напильником), серебряный (приложение запускается но может работать некорректно или какая то его часть может не работать), еще были бронзовый и мусор. Приложения могут с течением времени менять позиции в этих статусах, причем как в лучшую, так и в худшую сторону. Это связано с тем, что wine постоянно дорабатывается и то, что не работало в одной версии, может заработать в новой или наоборот.

Если возвратиться к моему примеру на тему САПР решений - все тот же коммерческий Bricscad (http://www.bricsys.com), ранее базирующийся на платформе IntelliCAD (http://ru.wikipedia.org/wiki/IntelliCAD) до недавнего времени имел в составе всех своих линуховых версий wine (http://ru.wikipedia.org/wiki/Bricscad).

Так же, wine можно, например, можно обнаружить внутри линуховой версии Google Picasa (http://ru.wikipedia.org/wiki/Picasa).

Многие программы для венды сейчас пишутся с использованием компонент микрософт нет фреймфорк. В линуксе есть альтернативное решение для работы таких приложений Mono (http://www.mono-project.com/Main_Page)

http://ru.wikipedia.org/wiki/Mono:
Mono — проект по созданию полноценного воплощения системы.NET на базе свободного программного обеспечения. Проект Mono возглавляет Мигель де Иказа, известный разработчик, участник проекта GNOME и др.
...
Есть такое мнение что ОНО не надо, т. к. это может стать лишним поводом для возможных будущих «наездов» со стороны М$. Кажется, даже некоторые дистрибутивы выпиливают его из состава своих репозиториев. Могу и ошибаться. Но, тем не менее - я его решил упомянуть, хотя бы из-за того, что на базе моно на линуксе, появляются множество полезных программ. Мне, например, как бывшему студенту не хватало «маткада», а ведь теперь есть бесплатный smath studio (http://ru.smath.info/forum/) от наших отечественных разрабов. Его линукс версия использует моно.

Также, если ни одно решение из перечисленных выше не подошло - для запуска вендовой программы можно использовать венду внутри виртуальной машине. Например, в VirtualBox (http://www.virtualbox.org)

Помимо, этого VBox можно много для чего еще использовать. Я, например, в нем загружаю/устанавливаю посмотреть/потыкать новые дистрибутивы. Использую для разного рода экспериментов. Создаю новые сборки arch/ubuntu/debian. и пр. О возможностях последних версиях VBox, можно посмотреть тут http://www.linux.org.ru/news/opensource/3831890/page1

============
Гостевое SMP позволяет использовать до 32 виртуальных CPU (только для процессоров с VT-x или AMD-V
Windows-гость: возможность аппаратного ускорения Direct3D 8/9
Поддержка OpenGL 2.0 для гостевых Windows, Linux и Solaris
============
Преобразует вызовы D3D (и вообще DirectX) в вызовы OpenGL.
Речь идёт об ускорении OpenGL, для игр на "прямом иксе", коих 99%, нужен был wined3d, теперь есть ускорение напрямую, правда, судя по всему, тоже пока не юзабельное
> Преобразует вызовы D3D (и вообще DirectX) в вызовы OpenGL.
Ну и зачем им для этого использовать WINE? Как только была сделана трансляция вызовов OpenGL из гостя в хост-систему, приделать трансляцию DirectX было делом времени.
> трансляцию DirectX
В линуксе нет директикса. Да и его апи труднее транслировать. Вот и приходится использовать wined3d чтоб сначала переваривать богомерзкий д3д в кошерный вайн, а потом уже слать вызовы на хост.
> Если в виртуалке запускается Windows, разве не ее библиотеки транслируют вызовы? Чем тогда занимаются dll-ки винды, которые устанавливаются с диска игр?
Идея в том, чтобы заменить MS DirectX на соответствующие библиотеки вайна, которые будут вызывать понятную эмулятору OpenGL.
В 3.0.0, надеюсь, необходимость в этом отпадёт. Или это будут делать драйверы VirtualBox.
> Ну и зачем им для этого использовать WINE?
Потому что
> приделать трансляцию DirectX было делом времени.
Временная мера, пока не сделают правильно. Имхо.

Комментариев нет:

Отправить комментарий