m039 30.01.2010 15:15
Linux Games — Через wine к PlayOnLinux - Знакомство
Идея программы распространения скриптов настройки wine программ мне кажется крайне интересна. Справляется ли с этой задачей playonlinux? Отчасти. Но если даже и не справляется и является скромным проектом, то это не плохой старт для тех, кто может подхватить этот проект.
Playonlinux - программа использующая много скриптов, написанных на shell-e, которые автоматизируют установку игр под wine-ом. Так-же можно сказать, это shell программа, иногда использующая интерфейс через python(Жесть). Для ознакомления со списком игр, загляните сюда.
Саму программу можно скачать используя менеджер пакетов дистрибутива или с домашней странички проекта.
Зелененьким советую заглянуть на страничку мануала, на ней подробна описана установка игры. Все не на русском, но многое количества картинок сделают свое дело.
Теперь перехожу к более интересному. Сначала хочу описать сам алгоритм или способ работы программы, т.е. как все происходит, чему и будет посвящен этот пост. Потом посмотрим.
Принцип работы программы очень прост, потому что не использует большего чем представляет wine.
При первом запуске wine создает префикс. Для иллюстрации можете выполнить:
1 2 |
<�Один нюанс, новичку нужно будет скачать wine и все соответствующее. Данная программ все сделает автоматически, можно даже выбрать версию wine. Всё как говориться, храниться в одном месте - огромный плюс данной программы.>
После можете посмотреть, что именно создалось в папке ".wine" и поймете, что это маленький слепок системы windows, достаточной для работы wine.
На домашней страничке очень все добротно объясненно, самое главное это два рисунка:
Способ wine-ом: конфигурация хранится в .wine, а сама программа или игрушка установлена на жестком диске.
Способ playonlinux-ом: для каждой отдельной игрушки создается свой префикс. <�Т.е. если например будет установлена игрушка "Пингвин", то установится в "~/.PlayOnLinux/wineprefix/Пингвин".>
На ум приходят аналогия с программой q4wine. Программа playonlinux, а потом уже q4wine используют систему понятий префикса. Смысл всего происходящего таков, что игрушка будет храниться в одной папке со всеми присущими ей конфигурациями.
А если посмотрите даже в скрипт, который находится на странице поста про q4wine, то заметите, что есть такая переменная как WINEPREFIX. Так вот, можете в консоли попробовать, что-нибудь "WINEPREFIX=~/.wine0 winecfg", после чего создаться каталог .wine0 со всеми файлами конфигурации.
Также, на рисунках этого нет, но есть каталог ~/.PlayOnLinux/WineVersions со всеми версиями wine. И уже установленной игрушке можно будет выбрать другую версию из имеющего списка(в котором есть и системная).
Недостаток, который присущ многим скриптам в PlayOnLinux и до которого сразу и не догадаешься. Все скрипты наедятся, что вы установите игрушку в каталог "C:/Program Files/"(также думаю, проблема может возникнуть, если установить в "C:/Программы"), но я мне кажется ни у одного меня домашний каталог не резиновый. Плюс в этом есть, если что-то не понравилось сносишь папку находящуюся в "~/.PlayOnLinux/wineprefix/" и все как бы чисто, но естественно удалять лучше через саму программу playonlinux. Минус это огромный размер занимаемых игр.
Если не рассматривать playonlinux как программу установки игр, то можно сделать всё вручную, испльзуя сайт winehq.org. И тогда, я разбивал свой жесткий диск, что бы получился раздел , отведенный под игры или файлы занимающие много места. После чего спокойно запускаешь "wine /media/cdrom/setup.exe" и делаешь все по инструкции. На выходе при таком раскладе получиться, что вся конфигурация игрушки хранится в ~/.wine, а сама игрушка установлена на так называемом диске Z:, т.е. вне папки ~/.wine.
Что же предлагает playonlinux, он говорит примерно, если у вас мало места на разделе /home, то попробуйте сделать символьные ссылки на другие разделы. Во общем старается любыми способами сделать так, что бы игра установилась в каталог ~/.PlayOnLinux. Оно отчасти верно, потому что данные установки были приняты разработчиками проекта. Скрипт, который я отправил на верификацию, устанавливал игру в любой каталог, но при этом были строчки в скрипте, которые не использовали установленный API (по-человечески, я менял переменную в конфигурационном файле с помощью sed-a и еще использовал программу regedit). На, что мне очень лояльно посоветовали убрать это, либо спросить на форуме. Так, что если это кому то проблема, всегда можно договориться. :)
Так, что в эту копилку игр под названием playonlinux все подряд не попадает, что хорошо и нет. По мне так хорошо, но иногда хочется чего-нибудь новенького.
Идея этого проекта замечательная, а вот реализация всех функций и api мне очень не понравилось, если не сочтете данный топик угнетающим, то вторым постом напишу почему мне не понравилось писать скрипт.
За кадром остались незначительные соображения по поводу: маков, установки приложений(а не игр), рассмотрение расширений, пару слов о состоянии форума playonlinux, аналогия с djl и внештатный обмен не верифицированными скриптами.