LINUX.ORG.RU

WineBottle - менеджер бутылок для wine

 ,


3

3

Не давно опробовал CrossOver, и понравилась идея возможности выбора бутылки перед запуском exe файлов из каталога. Однако позже это окно достало, поскольку его приходилось лицезреть перед каждым запуском. Имея желание жить в комфорте и относительно не высокий скилл в говнокодинге, я решил набросать свой аналог такого окна на Qt, но не для CrossOver, а для обычного вайна. Что получилось можете видеть ниже.

Думаю нужно сразу продемонстрировать убогий интерфейс: Скрин Скрин2
Теперь по интерфейсу:

  • Bottle, как не трудно догадаться бутылка. Бутылки берутся из домашней директории. бутылка default это директория .wine, остальные бутылки имеют директории .wine_BOTTLE, где BOTTLE это название бутылки.
  • Run - запуск программы (WineBottle автоматически закроется).
  • ... - выбор программы, если WineBottle был запущен без аргументов.
  • Args - аргументы с которыми будет запущена программа.
  • winecfg - запуск winecfg для текущей бутылки.
  • regedit - запуск редактора реестра для текущей бутылки.
  • control panel - запуск панели управления для текущей бутылки.
  • winetricks - запуск winetricks для текущей бутылки.
  • new bottle - Создание новой бутылки - будет предложено указать архитектуру и название, после чего будут открыты настройки (winecfg).
  • remove bottle - удаление текущей бутылки.
  • rename bottle - переименование текущей бутылки.
  • wine path - путь до папки bin, в которой содержатся исполняемые файлы Wine (уникален для каждой бутылки).
  • save execute - сохранение параметров для текущего исполняемого файла. После сохранения, при следующем открытии этого же исполняемого файла через WineBottle будет сразу же запущена программа в бутылке, которая была выбрана перед сохранением и с аргументами, которые были установлены так же перед сохранением.

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

Если у кого-то есть иммунитет к говнокоду, или если кто-то нечто вроде ЭМО, то можете рискнуть и взять исходники: https://github.com/sr-tream/WineBottle/tree/master

Скачать deb пакет (amd64)

P.S. Возможно это не самый подходящий раздел для данной темы, или даже не самый подходящий форум, но ничего лучше я не нашел (хотя и не особо-то искал).

★★★★★

Последнее исправление: SR_team (всего исправлений: 4)

OMG. C++ и Qt. 8 лет назад у меня эту задачу решал один маленький баш-скрипт.

void MainWindow::closeEvent(QCloseEvent * e)
{
    QString command = "export WINEPREFIX=" + QDir::homePath() + "/.wine";
    system(command.toStdString().c_str());
}

ололо.

Stil ★★★★★
()

Имея желание жить в комфорте

можешь попробовать накидать патч для q4wine
там уже есть выбор версии wine, где-то в ту степь мог бы прикрутить выбор бутылок

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

Нормально. С 2 бутылками: x64 и x32; потому что некоторые 32битные игры выдают меньший фреймрейт в x64 вайне. Так бы вообще была одна бутылка и не было этой программы

SR_team ★★★★★
() автор топика

бутылок

Из-под шампанского? В wine это называется префикс.
И вообще, чем это лучше q4wine или PlayOnLinux?

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

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

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

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

TheAnonymous ★★★★★
()

Главный недостаток подобных менеджеров в том, что они рассовывают по отдельным каталогам исключительно то, что генерируется в хомяке по команде winecfg. А ведь нередко поддержка вендопрограмм ломается при обновлении самого пакета wine - т.е. тех файлов, что лежат в системной иерархии.

Нужен такой менеджер бутылок, который будет упаковывать и содержимое пакета wine. Чтобы не было такого, что вендопрограмма работает-работает, а однажды wine обновился и вендопрограмма больше не работает.

Deleted
()

QTextCodec *codec = QTextCodec::codecForName(«cp1251»);

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

который будет упаковывать и содержимое пакета wine

PlayOnLinux так и делает, под префикс можно выбрать конкретную версию wine
https://www.playonlinux.com/images/uploads/247.jpg

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

сомневаюсь, чтобы в этих ваших кутях нужно было дергать system() для установки переменной окружения

Совсем недавно начал с ним возиться и знаю всего пару приемов, если есть способ лучше, то буду рад узнать

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

Я думаю лучше будет добавить файл настроек, в котором будет указано откуда брать и куда создавать бутылки. Но все равно спасибо.

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

ну, я-то с ним вообще не вожусь. Просто system() — довольно коварная штука. Для хелловорлда в целом пофиг.

А переменные окружения в Qt устанавливаются так: http://doc.qt.io/qt-5/qprocessenvironment.html

demidrol ★★★★★
()

Выглядит весьма просто и удобно. Аффтор, пешы ищщо!

Можно пару фич-реквестов? 1. Очень желательно сделать возможность выбора конкретного пути для бутылки. У меня, например, все бутылки, кроме неиспользуемой дефолтной, лежат вообще на отдельном разделе-файлопомойке.

2. Было бы круто заиметь возможность подключения уже существующих бутылок. Переустановил ШINDOWS систему - подцепил бутылки, созданные в старой.

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

патч для q4wine

http://q4wine.brezblock.org.ua

В связи с агрессией россии против суверенного государства Украина: аннексии Крыма; вторжения в восточные регионы Украины; поддержка оружием и военным присутствием боевиков и террористов; попыток дестабилизации политической ситуации; доступ к сайтам и проектам brezblock ограничен для всех жителей на территории российской федерации. Ограничение действует бессрочно, без исключений.

Даже не знаю, стоит ли вообще подобный софт ставить, не то что патчи слать.

user42 ★★
()
Последнее исправление: user42 (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

http://image.prntscr.com/image/ca4ecf13dc7f40a4bfd6573ab29dbd47.png

Наркоманы. Тогда пусть перестанут пользоваться нашим газом и всем, что от этого газа производится. «Реэкспорт» не считается. Происхождение газа из РФ — газ русский.

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

Нет их у меня. Правда у меня локаль английская, видимо из-за этого.

Я эту же заметку видел у какой-то Qt либы для отчётов.

RazrFalcon ★★★★★
()

Ненужный велосипед, как впрочем и всякие плейонлинуксы.
Просто собираешь в отдельном каталоге нужное приложение с вайном и пользуешься, линк на запуск можно хоть куда добавить (меню приложений, рабочий стол и т. д.). Посмотри на рутрекере раздачи в разделе «портированные игры».

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

Если у тебя нет, это не значит что у всех нормально, можешь написать им — пусть и тебя заблокируют, если ты с территории РФ. Через Голландию нормально открывается, русофобы они, фу такими быть.

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

Тогда пусть перестанут пользоваться нашим газом

кто? разработчики q4wine?

и всем, что от этого газа производится

им только пуканы, видимо, заправляются

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

кто? разработчики q4wine?

Кто эту заглушку поставил. Я посмотрел что через иные страны открывается ресурс нормально, но честно закрыл вкладку — ведь я с территории РФ.

им только пуканы, видимо, заправляются

Ну не знаю, я их внутренней политикой не интересуюсь.

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

им только пуканы, видимо, заправляются

Ну не знаю, я их внутренней политикой не интересуюсь.

1. имелся в виду твой ватный пукан
2. так случилось, что ваша внешняя политика «влияет» на их внутреннюю

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

Это равносильно объявлению на чебуречной «Здесь не обслуживаются граждане США». Их дело. Клоунада, особенно в свете того, что такие блокировки не имеют технического смысла и её обход занимает пару секунд, если мне действительно будет необходима информация с их ресурса.

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

ну так и я про q4wine упомянул тут не ради того чтоб поржать что у всех он заблокирован
исходники валяются на github, если вам еще не заблокировали его (или вы сами) - бери/смотри/патч/форкай/отправляй в бесконечном цикле в /dev/null исполняя ритуальный танец голышом/...

anTaRes ★★★★
()
11 сентября 2018 г.
Ответ на: комментарий от SR_team

Это всё уже есть в конфигураторе бутылок на панели упрравления фунфыриками.

anonymous
()

Логичнее было бы назваться чем-то в духе WineCabinet :)

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

Не наркоманы, а бандерлоги обыкновенные.

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

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

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