LINUX.ORG.RU

Wine Wizard — очередной GUI для Wine

 ,


3

1

Здравствуйте. Предчувствую многочисленные «ненужно», но... Проанализировав плюсы и минусы PlayOnLinux, Q4Wine и Winetricks, я решил написать еще один GUI для Wine - WineWizard...

  • Из плюсов PlayOnLinux, несомненно, это установочные скрипты. Они - основа моей программы. Но в PlayOnLinux их необходимо писать на шелле и ждать подтверждения от администрации сайта. Скрипты для Wine Wizard выполнены в виде последовательности установки пакетов, что безопаснее, проще в написании и не требует подтверждения. Скрипт может создать и отредактировать любой зарегистрированный на сайте, просто перетаскивая пакеты мышкой, при этом он мгновенно доступен сообществу. При установке и отладке Win-приложения Wine Wizard подсказывает, какие пакеты требуется установить.
  • Все пакеты, в отличие от Winetricks, скачиваются из одного источника, запакованы с помощью 7z и обработаны cabextract. Это исключает недоступность отдельных пакетов при прекращении их поддержки или смене адреса, значительно уменьшает объем скачивания и хранения, а также ускоряет установку.
  • В отличие от PlayOnLinux и Q4Wine, интерфейс Wine Wizard максимально упрощен и минимизирован. Не требуется даже указывать префиксы и версию Wine - все это настраивается на сайте при создании установочного скрипта. Приложение устанавливается щелчком на .exe или .msi файле. Ярлыки и иконки приложений создаются автоматически, ссылки на каталоги документов переводятся внутрь каталога с префиксом, что препятствует загрязнению пользовательского каталога.

В принципе, это основное, может что-то еще забыл. Справки пока нет, если что-то непонятно - пишите, включу в справку.

Скриншот 1

Скриншот 2

P.S.: Программу собирал с Qt версии 5.3.2, с другими не тестировал, в четвертой версии не скомпилируется. Все архивы запакованы 7z и зашифрованы с помощью gpg, пароль «atata». Это потребовалось потому, что файлохранилища почему-то считают Wine и некоторые другие файлы вирусами и удаляют их. Но эти файлы взяты с PlayOnLinux и по ссылкам в Winetricks.

P.P.S.: Программа в ранней стадии, возможны ошибки!

Update: Важное пояснение - скрипты НЕ являются программой! Это просто инструкция, какие пакеты необходимо установить. Изменить сами исходники пакетов пользователи НЕ могут!

Update: Видео

Установка игры

Создание установочного скрипта

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

>>> Официальный сайт



Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 8)

Ответ на: комментарий от Seriyyy95

А вот именно распаковочных/расшифровочных не делал отладку, не думал, что в 7z или gpg могут ошибки быть.

LLIAKAJL
() автор топика
Ответ на: комментарий от Seriyyy95

На распаковке перед установкой простейший скрипт:

https://github.com/LLIAKAJL/WineWizard/blob/master/src/files/prepare-sh

Вместо %1 - версия Wine, на %2 - пакеты, из программы подставляется. Попробуй его без проги сделать.

$CACHE задан как:

CACHE=«$XDG_CACHE_HOME/winewizard»

WINEPREFIX - любая папка.

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

То есть, в твоем случае будет так(но у тебя пакеты ПОСЛЕ установки программы ставятся, по решению):

XDG_CACHE_HOME=«${XDG_CACHE_HOME:-$HOME/.cache}» CACHE=«$XDG_CACHE_HOME/winewizard»

7z -o"$WINEPREFIX" x «$CACHE/1.9.8.7z» test -d «$WINEPREFIX/1.9.8» || exit 1 mv «$WINEPREFIX/1.9.8» «$WINEPREFIX/.wine» files=«riched20 richtx32» for p in $files do [ -z «$p» ] && break 7z -o"$WINEPREFIX/.packages" x «$CACHE/$p.7z» done

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

То есть, в твоем случае будет так(но у тебя пакеты ПОСЛЕ установки программы ставятся, по решению):

XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"

CACHE="$XDG_CACHE_HOME/winewizard"

7z -o"$WINEPREFIX" x "$CACHE/1.9.8.7z"

test -d "$WINEPREFIX/1.9.8" || exit 1

mv "$WINEPREFIX/1.9.8" "$WINEPREFIX/.wine"

files="riched20 richtx32"

for p in $files

do

    [ -z "$p" ] && break

    7z -o"$WINEPREFIX/.packages" x "$CACHE/$p.7z"

done

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

Установщик не открывается, сразу инициализация wine, а затем это окно Install Packages с пустым полем. Сделай все-таки вывод всего что пишут утилиты в консоль в это окно или хотя-бы в терминал программы. Для отладки очень даже не помешает.

Seriyyy95
()
Ответ на: комментарий от Seriyyy95

Хорошо, сделаю логгинг в новой версии. Если установщик не открывается, пакеты нужно ДО установки указывать, а у тебя ПОСЛЕ. После - для запуска установленной уже. Перенеси в левую колонку.

LLIAKAJL
() автор топика
Ответ на: комментарий от Seriyyy95

Вывод ошибок - эти окна и есть. Не выводится только распаковка и расшифровка, они когда Wait диалог проходят. Просто не хотел окно вывода замусоривать выхлопом 7z и gpg, думал с ними проблем не будет.

LLIAKAJL
() автор топика
Ответ на: комментарий от Seriyyy95

В общем, последовательность какая должна быть:

1)Пакеты(а у тебя они не указаны) и Wine из ЛЕВОЙ колонки распаковываются в префикс.

2)Префикс создается wineboot,

3)Пакеты из левой колонки устанавливаются(должно выскакивать окно Install Packages, но т.к. их нет - оно мгновенно закроется).

4)Запуск установщика.

5)Пакеты и Wine из ПРАВОЙ колонки распаковываются в префикс.

6)Install Packages правой колонки. Как я понял, у тебя тут остановилось. Закрой и...

7)Запрос, все ли правильно установилось и выбор ярлыков для запуска(если их нет, после запроса программа завершится). Так вот, если ты на этом этапе ответишь 'No', ты увидишь лог установщика и подсказки(их пока мало, присылайте знакомые ошибки).

8)После запуска каждого ярлыка будет вопрос, правильно ли работает и также лог, если ответишь 'No'. Если все правильно, ставишь галку 'End the debug session' и жмешь да.

LLIAKAJL
() автор топика
Ответ на: комментарий от anonymous

А я как раз и обновился на 1.9.7 =) Пока видимо больше обновляться не буду.

loz ★★★★★
()
Последнее исправление: loz (всего исправлений: 1)
Ответ на: комментарий от anonymous

Когда у меня перестаёт запускаться Battle.net (за последний год раза три после обновления вайна он ломался) я просто сношу виртуальный диск и устанавливаю заново, благо сердцекамень выкачать - вопрос получаса. И прокатывает, лол. Не самое изящное решение, но в случае близзардовских поделок на удивление эффективное. Вот недавно как раз это произошло. На 1.9.9-2 Battle.net и Hearthstone работают без дополнительных телодвижений, в качестве приятного бонуса наконец пофиксили багу с декорациями Battle.net, из-за которой kwin падал через раз.

droserasprout ★★
()
Ответ на: комментарий от LLIAKAJL

Автор, дело ты хорошее задумал (POL архитектурно уродлив, альтернатив достойных нет), но контекстное меню вместо главного окна - это дичь, не надо так. К слову, так и не понял, как что-нибудь установить в этой вундервафле - в Control Center затенено всё, кроме Help и Close. Потыкаю на досуге.

droserasprout ★★
()
Ответ на: комментарий от droserasprout

Контекстное меню - самое простое, что можно было придумать, не хочу городить всякие вкладки и т.д. Через Control Center не устанавливаются проги, там только управление префиксами готовыми. Видео посмотри, там ясно все(позже сниму получше). А я пока мощное обновление готовлю, поддержку 64 бит, зеркала, настраиваемые пакеты и еще кучу всякого.

LLIAKAJL
() автор топика
Ответ на: комментарий от droserasprout

Как такового главного окна и нет, это просто список ярлыков, зачем что-то усложнять?

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

Так normal window не обязательно обвешивать вкладками и прочими рюшечками. Просто от стандартного окна ожидаешь стандартного поведения. А так мискликнул - запускаешь заново, Alt+F3 не работает, правила kwin'а для normal window не срабатывают. И вообще, не просто так люди стандарты пишут, а чтобы всё на своих местах было, всё предсказуемо.

droserasprout ★★
()
Ответ на: комментарий от droserasprout

Ну, тут дело вкусов, конечно. Я как-то к меню привык. Примерно покажи, что хотел бы видеть, посмотрим.

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

У меня вот так.

Примерно покажи, что хотел бы видеть, посмотрим.

Как не слишком радикальный, но куда более предсказуемый вариант - иконка в трее, выдающая по клику то же меню.

droserasprout ★★
()
Ответ на: комментарий от droserasprout

А, блин, туплю, ты же про Control Center, а не про меню. устал сегодня просто уже.

иконка в трее, выдающая по клику то же меню.

Что-то не совсем понял. Так ведь и сделано, или у тебя иконки в трее нет? Или ты хочешь, чтобы оно там всегда висело(программа завершается, если ничего не запущено)? Я просто значок на панель поместил, рядом с главным меню, так и запускаю.

LLIAKAJL
() автор топика
Ответ на: комментарий от droserasprout

Программы устанавливаются по клику на установщике, не нужно в меню лезть.

LLIAKAJL
() автор топика
Ответ на: комментарий от droserasprout

Я походу понял, почему народу здесь не нравится интерфейс-меню. Вы его как запускаете? У меня просто Главное Меню в KDE такое же, я рядом с ним значок поместил и у меня теперь 2 меню, с Win и Linux прогами, для меня лично это очень удобно. Или в других DE это выглядит неестественно?

LLIAKAJL
() автор топика
Ответ на: комментарий от LLIAKAJL

Есть такая вещь, как интуитивно понятный интерфейс. Вот запустил я программу, открывается какое-то контекстное меню, честно говоря я сначала подумал что это глюк, запустил еще раз, открыл Help, Control Center, как и говорили - в Control Center все неактивно. Как устанавливать программы непонятно совсем. Да, если посмотреть видео все становиться ясно, но ведь программа должна быть ясной без просмотра видео и чтения мануалов, только тогда она сможет завоевать популярность. Желательно сделать главное окно именно окном (пусть будет список программ и те же кнопки, то что сейчас есть оставить в качестве альтенативного варианта, например при запуске с опцией --menu. И Control Center нужно добавить кнопку установить программу.

И да, я жду обновления))

anonymous
()
Ответ на: комментарий от anonymous

Я уже учел пожелания, сейчас работаю над этим. Кнопка установки появится в проге, «терминал» доработал, зеркала(это вообще вещь, потом объясню, winetricks и POL в пролете!) добавил, настройки видеопамяти, разрешения, и т.д. будут решениями подхватываться. Разрешение будет восстанавливаться, если не восстановилось после работы и т.д. Поддержка 64 бит. Короче, обновление глобальное!

P.S.: программа будет теперь полностью в трее, можно в автозапуск добавить. На значок нажмешь - меню появится. Такое решение, надеюсь, всех устроит?

LLIAKAJL
() автор топика
Ответ на: комментарий от anonymous

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

P.S.: А вообще, все правильно, давайте свои рекомендации. Я же программу прямо сейчас, на ваших глазах придумываю и делаю!

LLIAKAJL
() автор топика

Хорошо бы было, чтобы программа была лишь оберткой для консольной версии, а то qt держать не хочется. А билдскрипты где-нибудь на гитхабе, а не на непонятном сайте.

anonymous
()
Ответ на: комментарий от LLIAKAJL

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

mazdai ★★★
()

Я, как простой пользователь, хочу такого:

Запускаю WineSuperОболочка, вижу маленький рабочий стол винды. Работаю в нем как на винде, ставлю в нем программы или запускаю exe-шнки. Иконки программ не лезут на общий рабочий стол линухового DE, а скапливаются в этом маленьком окне или в меню кнопки «Пуск» винды.

Что такое префиксы не знаю и знать не хочу.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Ну так Wine Wizard почти такое и есть :) Кроме рабочего стола, остальное - как описал: иконки в меню отдельном, в трее, как кнопка «Пуск», никакого загрязнения нет, установка двойным щелчком на exe, про префиксы ты и не узнаешь, не употреблял это слово в программе.

LLIAKAJL
() автор топика
Ответ на: комментарий от Xintrea

Вот видео сварганил побыстрому: https://youtu.be/Lt9Q3oFHpHE

Может PlayOnLinux такое или, тем более, Q4Wine? Эту игру хрен запустишь просто так(хоть и есть Linux версия), надо d3dx9_36 и xact ставить из Winetricks, далеко не у всех работает без рабочего стола, не во всех версиях Wine. Успели заметить, как я это все устанавливал, настраивал, префиксы создавал?

LLIAKAJL
() автор топика

У меня вопрос. Несколько игрушек приобретено на стиме (видел даже скрипт в арчевом ауре, позволяющий вендовую версию вытянуть). Так вот, хочу сравнить производительность под вайном и нативно и где было проще запустить. На видео - скачивается решение и установщик запускается, а можно его на папку с игрой натравить? Никогда просто вайном не пользовался, ибо под мои задачи всегда хватало венды на виртуалке с пробросом устройств (прошить что-то, или ещё чего).

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

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

LLIAKAJL
() автор топика
Ответ на: комментарий от Xintrea

Точно такая программа уже есть, VirtualBox называется!

anonymous
()
Ответ на: комментарий от Xintrea

Что такое префиксы не знаю и знать не хочу.

Так ты себя тем самым ограничиваешь, ведь префиксы тебе позволят иметь параллельно несколько «маленьких рабочих столов винды», не зависящих друг от друга!

hobbit ★★★★★
()
Ответ на: комментарий от LLIAKAJL

Вот видео сварганил побыстрому: https://youtu.be/Lt9Q3oFHpHE

Ну и что это видео объясняет? У меня что-то с компом, или там действительно нет звука? Какие-то окошки открываются, закрываются, с какой целью - непонятно.

Xintrea ★★★★★
()
Ответ на: комментарий от hobbit

Так ты себя тем самым ограничиваешь, ведь префиксы тебе позволят иметь параллельно несколько «маленьких рабочих столов винды», не зависящих друг от друга!

Точнее, несколько настроек винды с разными dll-ками и разным реестром. В теории все прекрасно, на деле дать ума всему этому богатству не смог. Криво-косо запустил Небывальщину, изговняшился, попробовал Спейс-квест запустить, сделал отдельную конфу, там какие-то линки/пути на диск C: исходного образца остались, все перепутано, бросил неблагодарную затею.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Звук не делал. Окошки открываются/закрываются автоматом, кроме первых двух, в которых выбираешь решение(имя приложения) и архитектуру(Win32 или 64). Новичку не надо знать, зачем эти окошки, для него они просто показывают, что все работает. Опытный сможет посмотреть в них лог установки. Что тут непонятного?

LLIAKAJL
() автор топика
Ответ на: комментарий от Xintrea

Ну так ё маё! Для этого GUI и делают, чтобы все упростить! В Wine Wizard большая часть процесса автоматизирована, часть придется дорабатывать ручками, но т.к. решения в коллективном доступе, это могут сделать все пользователи, в том числе и те, кто умеет все это настраивать. Во всяком случае, перекинуть пакеты мышкой и выбрать Wine гораздо проще, чем писать скрипт в том же PlayOnLinux.

LLIAKAJL
() автор топика
Ответ на: комментарий от Xintrea

Если судить по этому твоему комментарию, ты вообще Wine не умеешь пользоваться. Ну так вот, что же объясняет видео? Для этой игры(Super Meat Boy) недостаточно просто префикс создать. Ей еще библиотеки дополнительные нужны и настройки. Вручную тебе пришлось бы:

1) Создать префикс из консоли, задав переменные окружения, например папку с Вайн, путь к префиксу, WINEDLLOVERRIDES=winemenubuilder.exe=n, чтобы меню не засорять, поменять линки в папке user, чтобы не засорять документы(ну, данная конкретная не засоряет, но на всякий случай... хотя рабочий стол все таки засоряет).

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

3) Качать эти библиотеки вручную и вручную же раскидывать по папкам нужным, заменять в реестре значения native/builtin и т.д. Можно юзать Winetricks, там проще - но это ведь тоже GUI, нацеленный на установку либ!

4) Не во всех вайнах она работает, так что тебе придется разные версии пробовать, а значит - качать, настраивать, тестить - и все из консоли!

5) Не у всех работает без виртуального рабочего стола, значит опять в реестр или Winecfg, менять настройки.

6) Так как вайн не системный, тебе придется ручками создавать ярлыки для запуска.

Ну как, геморно?

А в Wine Wizard тебе достаточно ввести имя приложения и нажать OK. Есть разница?

LLIAKAJL
() автор топика
Ответ на: комментарий от Xintrea

И кстати, нафига ты пишешь в устаревшей новости про устаревшую версию? Вот же новая - Wine Wizard 1.0

LLIAKAJL
() автор топика

Давай GTK (кути стали много жрать) и полноценный оконный GUI... не у всех гигантские дисплеи. И разберись с хостером. Он твой сайт прикрыл, кажется.

Ancient
()
Ответ на: комментарий от Ancient

С GTK я не разбирался, да и не тянет что-то... Ничего не имею против, но не мое.

Об оконном интерфейсе уже писал в новой новости: Wine Wizard 1.0 (комментарий)

При чем тут гигантские дисплеи? У меня вообще относительно древний 19-ти дюймовик.

С сайтом все в порядке, был в разработке просто.

LLIAKAJL
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.