Видео смотреть бесплатно

Смотреть измена видео

Официальный сайт isprras 24/7/365

Смотреть видео бесплатно

18.03.10 21:24 pashazz

Qt SoftwareWineGame - программа для подготовки Wine и установки в него приложений

WineGame - это программа (написана на Qt4.6/C++) для легкой установки игр и приложений в Wine.


1. Чем должно быть
Это должна быть программа, которая делает большинство манипуляций с Wine за пользователя.
Например при вставке диска должно появляться предложение об установке Windows-программы:

=screen

Также должны быть варианты ручной установки (по выбору).

2. Что сделано сейчас
- Установка программы и подготовка Wine по скриптам
- GUI
- Диалог простой установки приложения при вставке диска (и определение игровых дисков) (см. выше).
- Интеграция с утилитой Winetricks
-Управление установленными приложениями.

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

3. Возможности скриптования.
О формате пакета WineGame вы можете прочесть в Wiki на сайте проекта.
Я расскажу, что вообще сейчас возможно.
1) можно задать скрипты preinst и postinst, к-рые будут запускаться до и после запуска EXE
2) можно задать путь к файлу setup.exe из корня диска, чтобы оно запускалось автоматически, если WineGame распознает диск.
3) можно указать в файле .cdrom (в пакете WineGame) имена файлов и папок корневой ФС диска, чтобы WineGame распознал диск.
4) есть интерфейс управления префиксом (виртуальной "windows")
5) можно указать путь для скачивания дистрибутива Wine, оптимизированного под игру.
6)есть интеграция с winetricks. Для того чтобы ее задействовать, нужно лишь в control-файле пакета указать через пробел пакеты Winetricks. Их ОЧЕНЬ много, это и установка определенных ключей реестра, и установка шрифтов, DirectX, .NET, IE 6, IE7, это и установка версий Windows, и много чего еще.

4. Что нужно сделать

* нотификации через D-Bus
* правку .desktop-файлов, создаваемых Wine (к сожалению Wine не может определить, c помощью какого бинарника этого самого wine`а была установлена программа, поэтому по desktop-файлу запускается системная версия Wine, а не "кастомного".
* загрузку необходимых файлов не через wget, как сейчас (это замораживает GUI), а системными средствами Qt.
* Скрипты, скрипты, скрипты!!!!

Спасибо за помощь.
Официальный сайт.


Теги:

pashazz 18.03.10 21:25 # +0
Сразу скажу, мой предыдуший проект SaneSetup я заменил на убунтуреп с пакетами sane из Git и фирмварем.
digiwhite 18.03.10 21:31 # +0
А почему собственно использование wget замораживает GUI? Как раз наоборот ИМХО лучше иметь возможность выбирать утилиту загрузки.

И что за такие "Скрипты, скрипты, скрипты!!!"?
pashazz 18.03.10 21:45 # +0
> wget замораживает GUI?

Я не могу запустить wget в отдельном потоке, т.к. тогда все "побежит вперед" (я пробовал, да.)
А смысла запускать в отдельном потоке wget нету, я не могу взять данные от wget (я не осилил парсер его вывода)

> Скрипты, скрипты, скрипты!!!
Требуется много скриптов для поддержки игр, да.
pashazz 18.03.10 21:47 # +0
и не надо меня называть неосилятором QThread, там его использование просто не оправдано.
digiwhite 18.03.10 21:51 # +0

Я не могу запустить wget в отдельном потоке, т.к. тогда все "побежит вперед" (я пробовал, да.)
А смысла запускать в отдельном потоке wget нету, я не могу взять данные от wget (я не осилил парсер его вывода)

Да ну, что за ерунда. Все можно взять, все можно получить и использование QThread абсолютно оправдано.
pashazz 18.03.10 21:59 # +0
ладно, попробую завтра поэкспериментировать.
pashazz 20.03.10 18:40 # +0
Будьте добры, покажите мне рабочий пример чтения выхлопов wget в Qt. У меня не получилось (использовал функции QProcess. Сигнал readyRead не вызывается вообще, ф-ция readAll возвращает пустую строчку.
wiz 18.03.10 21:37 # +1
А в чём профит C++ в таком мидлварном проекте? Скорости не требуется, в памяти оно не висит... Не понимаю.
digiwhite 18.03.10 21:39 # +0
Личное желание автора; поднятие уровня знаний Qt и т.п.

%username% love BDSM!

digiwhite 18.03.10 23:28 # +1
Без обид, но подобные вам уже утомили подобной хренью. Надо обязательно попиздеть сказать, что зачем, надо вот так и т.п. Тут все просто - не пользуйтесь, если не устраивает.

%username% love BDSM!

exelens 18.03.10 23:32 # +0
Прошу прекратить...
exelens 18.03.10 23:32 # +0
Прошу прекратить...
Goury 18.03.10 21:39 # +2
а почему у варкрафта иконка скайпа О_о ?
pashazz 18.03.10 21:46 # +0
1) я не могу читать иконки с диска (формат ico не поддерживается Qt)
А так я подставил первую попавшуюся иконку в скрипт варкрафта...
Shtsh 18.03.10 23:23 # +0
Qt не поддерживает bmp?
ico = bmp
или я ошибаюсь?
Goury 18.03.10 23:41 # +0
не совсем бмп, но довольно близко
хотя вот факт - если переименовать бмп в ико, то винды в некоторых случаях цепляют его как иконку. но не всегда
но вот далеко не всегда иконка бывает в ико или ещё чём-нибудь подобном - очень часто иконка в екзешник воткнута

кстати, была статья на убунтуфоруме русском про иконку из екзешника в лычку вайна - думается это то самое, что надо тут

ну и полюбому лучше флажок винды, чем пузырь скайпа - хотябы в тему
pashazz 19.03.10 14:15 # +0
хаха, и все-таки у меня получилось получать ico файлы с диска. Это хорошо.
Goury 19.03.10 23:23 # +0
я тебя очень категорически поздравляю с этим достижением
а получать иконку из вендобинарника ?
pashazz 20.03.10 16:32 # +0
Незачем.
digiwhite 18.03.10 23:24 # +-3
Щито простите?
digiwhite 20.03.10 09:59 # +2
Всем минусовавшим - http://welinux.ru/post/2546/#cmnt45909

%username% love BDSM!

pashazz 19.03.10 10:38 # +0
Я решил сделать программу, в к-рой разберется даже ребенок, а q4wine очень сложен. PlayOnLinux - да, что-то похожее, но он тоже интерфейсом не блещет.

P.S. C++ я выбрал для поднятия знаний.

%username% love BDSM!

Goury 20.03.10 17:12 # +0
под спойлером кусочек оффтопика:
а я вот когда-то давно думал, как же сделать так игру, чтобы её можно было играть не только в винде (это ещё в конце 90-х было)
в начале 2000-х я сделал игру под дос, которая прекрасно запускается хоть в винде, хоть в вайне, хоть в доскоробке
а недавно я нашел способ лучше - просто сделал игру нативно для линукси
получилось даже лучше, ня!


фтопик:
было бы приятно увидеть ченжлог
хотябы в будущем
ченжлог это вообще очень приятная вещъ
по одному взгляду на ченжлог можно сразу понять, что девелопер занимается не *****, а риально пашет. пашуших девелоперов видеть очень приятно.
ня
pashazz 21.03.10 01:23 # +0
1) добавил changelog (оч. подробный, смотрите Git)
2) не увидел примеров (не от вас вроде), перешел с wget на технологии Qt
digiwhite 21.03.10 21:04 # +0
Надеюсь не захардкодили это дело?
pashazz 22.03.10 17:47 # +0
QNetworkAcessManager метод я захардкордил. Но если вам это не нравится, пришлите метод с использованием wget (только чтобы GUI не зависал, и был индикатор прогресса).
Старый wget-метод есть в коде, он закомментирован
digiwhite 24.03.10 11:22 # +0
В выходные попробую глянуть.
l1feh4ck3r 22.03.10 06:35 # +0
А список коммитов вас не вдохновляет?
Goury 22.03.10 08:14 # +0
не так сильно, как ченжлог

Лучшие блоги (все 140)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2758 из 212 городов)
Топ пользователей Топ блогов
welinux.ru
Купить пеноблоки из пенобетона оптом. Выгодная цена!

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн