Посты с тегом wine
mutantcornholio 23.02.2010 17:23

Есть проблема!При входе в fullscreen, все окошечки "съезжают"

Замечено только в wine'овых приложениях, запущенные на полный экран, с меньшим разрешением.
При входе в fullscreen, все окошечки, включая вроде бы статичные окошечки conky, съезжают так, чтобы вместиться в новое разрешение. Но возвращаться, когда разрешение меняется назад им как-то не хочется.
Что сделать для исправления ситуации?
Debian Lenny, wine 1.1.38, openbox 3.4.7.2

P.S. Желательно предлагать не варианты типа "передвинуть окна и перезапустить коньки скриптом".
+ 0 -
22
m039 03.02.2010 02:06

Linux GamesЧерез wine к PlayOnLinux - Скриптописание





Дальше идут рассуждение и переваривание системы написания скриптов для POL.

Хочу начать с того, что валидация скриптов в POL мне не нравится. Мой скрипт пролежал у меня в профиле месяца 3, потому что руки никак не доходили его изменить. А исправить нужно было 2 строчки. Как мне кажется, если исправление не существенное или малозначительное валидатор должен его подправить. Но они сделали свой выбор в сторону сообщества..

Скрипты для POL написаны на shell-e, словом ничего сложного в этом нет. Даже это акцентируется, дабы для написания скрипта нужен оочень маленький уровень начальной подготовки. Уже одно это спорно, но не буду влезать своим мнением и оставлю выбор читателю. Хотя все таки, мне будет тяжело не фыркнуть то там, то тут.. Извиняюсь..

Качаем любой скрипт.

Если появится желание протестировать эту программу, попробуйте скачать скрипты с главного сайта проекта. И продолжайте читать.

Запускаем скрипт из POL

Сначала скопируйте содержимое скрипта и сохраните на жесткий диск.
Чем мне нравится система POL это идеей обмена скрипта для wine-a. Вот например скачали(или написали) скрипт, а потом заходите в программу playonlinux выбираете "Утилиты -> Запустить неофициальный скрипт" и начинается установка.

Заметка: И тут сразу же недочет интерфейса - выбрали "Запустить неофициальный скрипт" нажали отмену, а он побежал и не остановился. А потом решили заново запустить скрипт, опять выбираете "Утилиты -> Запустить неофициальный скрипт", а путь к папке не сохранился и приходится заново выбирать скрипт, который может находится в "/media/flash/games/kbtl/script/old/tmp/smth.sh"Смекалка проявляется и скрипт перемещается в ~/smth.sh

Поэтому я нашел очень здоровское решение. Нужно запускать скрипты в отладчике. Но на самом деле это с натяжкой можно назвать отладчиком - это лишь стандартная консоль. Выбираем "Утилиты -> Отладчик PlayOnLinux".

Появилась консоль.

Заметка: что бы выполнить скрипт из консоли, достаточно перейти в папку со скриптом и выполнить "sh script.sh"

Экспериментируем с "API" (через отладчик)

Теперь можно экспериментировать с PlayOnLinux. Да-да, лучше не писать большие и страшные скрипты, что бы проверить правильно ли работает та или иная функция, а прямо в консоли штудурить.

Попробуем поиграться, для начало можно набрать команду "env". На экран будут выведены переменные окружения консоли, среди которых можно найти, например, вот такую $REPERTOIRE. Проверив её командой "echo $REPERTORIE", можно убедиться, что ссылается она на ~/.PlayOnLinux.

Дальше еще проще, переходим к гайдам, которые предоставляет POL:

Посмотрим, воо.. замечательная функция POL_SetupWindow_message ну и нотация команд. Хотя можно попробовать автодополнение в консоли и выбрать POL , на что вылетит списочек из функций данной программы.

Попробовал сейчас эту функцию, не запускается. А проблема вот в чем, что перед использованием этих функций нужно выполнить вот эту POL_SetupWindow_Init. После чего, можно уже пользоваться POL_SetupWindow_message.

А произошло, то что функцией инициализации создается окно даже боюсь сказать, какие виджеты используются, после чего следующей функцией посылается нужный сигнал или сообщение. Ни кому не советую так проектировать GUI..

Экспериментируем с "API" (заметка о встроенном дополнении редактирования)

Теперь по крайней мере понятно как разбираться с этой программой. Но я хочу упомянуть вариант, который иногда предлагают на форуме. Использовать дополнение ScriptCreator, которое как мне кажется унижает полное достоинство и так не подготовленного пользователя линукс, которое сформулировал POL. Это среда разработки, т.е. редактор, в котором есть автодополнение мышкой по меню.. хм.. по верхнему меню, которое вставляет комманду, да еще спрашивает в отдельном окошечке какие параметры передать. Ужос одним словом!

Заметка: Правильный подход это брать готовый скрипт и кромсать его, пока он не станет похожим на работающий. К этому и приступим.

Справка POL

При написании скрипта у меня возник вопрос, как узнать, что делает та или иная функция. Как выяснилос, достаточно просто нужно лишь воспользоваться ctag-ом и любимым редактором. После чего, можно прыгать по исходникам. Я так и сделал, пока не узнал, что есть заныканный на самом верху странички референс всех функций. Исходники POL-a настолько же ужасны как и идея с GUI-йа и shell-a. Референс лучше, потому что исходники не могу назвать симпатичными.

Заметка: Перед написанием скрипта, я убрал строчки ответственные за directx и установку его. В POL это можно делать через кнопку на панели задач "Установить", а там выбрать понравившуюся версию directx. Имхо мило. :)

Заметка: Главное выбрать скрипт поновее, иначе могут использоваться конструкции, которые уже не используются, т.е. запрещены. Вам просто потом посоветуют от них избавиться. Да и поновей скрипты выглядят получше.

Немного в целом, что представляет скрипт

Не буду описывать подробно, что делает та или иная функция все достаточно понятно, если вы взялись писать скрипт. Но алгоритм в скрипте есть, хоть и достаточно прозрачный:

Сначала создается окно командой POL_SetupWindow_Init, в конце же оно уничтожается командой POL_SetupWindow_Close. В промежутке между этими функциями выполняются другие, задача которых либо спросить пользователя нажать кнопку "Next" или в редком случае что-нибудь написать. Функции которые запрашивают данные, результат возвращают в глобальных переменных. В принципе, это все особенности скриптописания.

Мааленькие после заметки:
Так же не забудьте ставить скобочки, на случай если в пути файла окажутся пробелы.
Не выполняйте в отладчике комманду ". script.sh" .Взамен используйте "sh script.sh".

Так же хочу обратить внимание на архитектуру проекта. Функции, которые выполняют действия, а в данном случае спрашивают данные у пользователя не совсем корректны. Если бы они были корректы, то последующие действия, которые выполнялись, были крайне простыми. А так получается, что появляются много обходов вполне простым действиям. Самый простой пример - это установка всех программ в ~/.PlayOnLinux/wineprefix папку. И приходится извращатся, если установилось куда-нибудь в другое место. Я молчу о локали.

В целом, получилось какое-то путешествие в мир проекта PlayOnLinux. Да это не есть великолепный проект, но все таки иногда он приносит удовольствие, когда любимая игрушка устанавливается в минимум движений. А если этот скрипт выполняет достаточно большую работу с регистром оффтопика, то вообще замечательно.

З.Ы. Отправил заново на проверку скрипт King's Bounty: The Legend, который я написал 2-3 месяца назад. Посмотрим, что из этого выйдет.
+ 0 -
2
m039 30.01.2010 15:15

Linux GamesЧерез wine к PlayOnLinux - Знакомство



Идея программы распространения скриптов настройки wine программ мне кажется крайне интересна. Справляется ли с этой задачей playonlinux? Отчасти. Но если даже и не справляется и является скромным проектом, то это не плохой старт для тех, кто может подхватить этот проект.


Playonlinux - программа использующая много скриптов, написанных на shell-e, которые автоматизируют установку игр под wine-ом. Так-же можно сказать, это shell программа, иногда использующая интерфейс через python(Жесть). Для ознакомления со списком игр, загляните сюда.

Саму программу можно скачать используя менеджер пакетов дистрибутива или с домашней странички проекта.

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

Теперь перехожу к более интересному. Сначала хочу описать сам алгоритм или способ работы программы, т.е. как все происходит, чему и будет посвящен этот пост. Потом посмотрим.

Принцип работы программы очень прост, потому что не использует большего чем представляет wine.
При первом запуске wine создает префикс. Для иллюстрации можете выполнить:
1
2
mv .wine .wine_
winecfg

<Один нюанс, новичку нужно будет скачать wine и все соответствующее. Данная программ все сделает автоматически, можно даже выбрать версию wine. Всё как говориться, храниться в одном месте - огромный плюс данной программы.>

После можете посмотреть, что именно создалось в папке ".wine" и поймете, что это маленький слепок системы windows, достаточной для работы wine.

На домашней страничке очень все добротно объясненно, самое главное это два рисунка:

=На рисунке видно, что конфигурация хранится в .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 и внештатный обмен не верифицированными скриптами.
Полностью.
+ 6 -
34
nvbn 12.01.2010 19:36

Есть вопрос!Смена курсора в wine?

Собственно как это сделать?
+ 2 -
5
NickNill 09.01.2010 14:25

How-to`sПриукрасим wine

Привет всем. Сегодня я решил рассказать вам (вдруг кому-то пригодится ;) ) как сделать wine приложения более "родными".

Сколько не плюйтесь, но wine иногда бывает нужен всем. То ли нужно поиграть с другом (подругой =)) в игрушку, то ли запустить Microsoft Office, то ли... та мало ли, что то бывает нужно...
Полностью.
+ 5 -
55
TiGR 25.12.2009 00:59

Есть вопрос!wine на древней машине

Давно в углу стоит старый пень первый с 48 мб на борту. Сейчас появилась необходимость в машинке-справочнике. Есть проприетарная софтина - справочник. Написана под винду. Народу нужно пользоваться.

Есть идея - найти некий лёгкий дистр линукса, воткнуть туда wine (нужен не древнее 1.1.16), и дать людям пускай радуются.

Так вот, вопрос в том - какой линукс для этого дела подойдёт? Puppy в виртуалке с 50 Мб оперативы не загружается. DSL, насколько я знаю, с вайном последних версий не дружит. Deli Linux вообще не дружит с вайном, принципиально (т.к. не юзает glibc).

P.S: Пробовал ReactOS, думал вот реальное применение этой системе. И это был такой Epic Fail, что у меня цензурных слов не хватает, чтобы это описать. Начиная с того, что то, что работает в вайне уже давно - там не работает, никак. Причём, речь не о 3д игрушках или ещё чём, а о простых вещах - инсталлятор MSVC++, например, который кстати там есть в менеджере программ. Программы просто не видят установленных библиотек (то ли они не регистрируются в ходе установки, то ли ещё что). "файловых менеджер" "проводник" не умеет копировать файлы, tab в консоли работает самым идиотическим способом. В общем, слов нет. Вердикт: не юзабельно, абсолютно. Даже в том, в чём вайн работает без проблем.
+ 4 -
39
satsura 17.12.2009 10:26

Есть проблема!Wine и постоянно зажатый shift

Есть такая проблема, под wine запущен SQLYog, работает хорошо до тех пор пока не нажмешь шифт (shift), после его нажатия он остается зажатым навсегда и все символы в вехнем регистре. Может знает кто и как решить трабл (гугл, лор ответа не дали).

Самое интересное то, что если начинаешь вводить текст, потом нажал шифт, он остается зажатым, но как только кликнешь или пошевелишь мышью, он опять отжатый.

Версия wine-1.0.1
Пробовал разные и 1.1.26 и 1.1.34 проблема остается.
+ 1 -
11
FalleN 05.10.2009 19:12

Есть вопрос!Wine и windows-вирусы!

Миф или реальность?
Способы борьбы.
Полностью.
+ 2 -
70
Username 27.09.2009 14:56

ОпросыИгры вы запускаете:

нативные 50
wine 20
+ 0 -
17
iMelnik 22.09.2009 13:06

How-to`sПакетная установка ПО для wine (wine-doors)

Неоднократно слышал от коллег и друзей, недавно перебравшихся на Linux ( обычно убунту ), о том, что всё конечно супер, но ставить софт в wine безумно замороченно и неудобно.



Сам особо этим не огорчался, но читая Arch-wiki наткнулся на wine-doors. Полез глубже - оказалось весьма приятный фронт-энд для wine, который позволяет устанавливать некоторый набор ПО, как простые пакеты.







Оффсайт http://wddb.wine-doors.org/



Попробую более детально описать под катом.
Полностью.
+ 7 -
9
1 2 3 4 5 6 7