Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
6f50e5e0cf | |||
a58c477e32 | |||
61c1d81192 | |||
19fdd64d1f | |||
0ee9b42d1f |
163
README.md
Normal file
163
README.md
Normal file
@ -0,0 +1,163 @@
|
||||
<div align="center">
|
||||
<h1 align="center">WineHelper</h1>
|
||||
<p align="center">WineHelper - предназначен для упрощения установки windows-приложений, с помощью подготовленных скриптов, в разные префиксы и используя портативные версии wine для максимальной повторяемости на различных системах, начиная с релиза p10 Alt Linux и выше.</p>
|
||||
</div>
|
||||
|
||||
## Установка
|
||||
|
||||
```
|
||||
su -
|
||||
apt-get update && apt-get dist-upgrade
|
||||
apt-get install winehelper
|
||||
exit
|
||||
```
|
||||
|
||||
## Использование WineHelper
|
||||
### Список приложений для установки
|
||||
|
||||
Для вывода списка доступных к установке приложений:
|
||||
|
||||
```
|
||||
winehelper install list
|
||||
```
|
||||
|
||||
либо использовать сокращенную команду:
|
||||
|
||||
```
|
||||
winehelper -i
|
||||
```
|
||||
|
||||
### Запуск установки приложений
|
||||
В списках есть 2 вида установщиков:
|
||||
|
||||
**Список программ с возможностью автоматической установки** - содержит полностью автоматизированные скрипты установок программ у которых есть дистрибутивы (установщики) в свободном доступе.
|
||||
|
||||
Пример:
|
||||
|
||||
```
|
||||
winehelper install spravki-bk
|
||||
```
|
||||
|
||||
либо использовать сокращенную команду:
|
||||
|
||||
```
|
||||
winehelper -i spravki-bk
|
||||
```
|
||||
|
||||
**Список программ с возможностью установки из существующего дистрибутива** - содержит скрипты установок для программ которых нет в свободном доступе.
|
||||
|
||||
Пример:
|
||||
|
||||
```sh
|
||||
winehelper install is-record-station "/путь/до/установочного_файла"
|
||||
```
|
||||
|
||||
либо использовать сокращенную команду:
|
||||
|
||||
```sh
|
||||
winehelper -i is-record-station "/путь/до/установочного_файла"
|
||||
```
|
||||
|
||||
### Процесс установки приложений
|
||||
|
||||
1. при первом запуске winehelper произойдет проверка на дополнительные зависимости и при необходимости будет запрос ввода root пароля для установки пакетов
|
||||
2. далее будет предложено принять лицензионные соглашения использования сторонних компонентов, для продолжения нажмите любую клавишу на клавиатуре
|
||||
3. на данном этапе, в большей части скриптов, всё устанавливается автоматически с подробным выводом информации в терминале:
|
||||
- загрузка необходимой версии wine, с последующей проверкой хэш-суммы
|
||||
- загрузка базового префикса, с последующей проверкой хэш-суммы
|
||||
- первичные обновление и подготовка префикса
|
||||
- скачивание дистрибутива (установщика) программы с официального сайта
|
||||
- установка программы
|
||||
- создание desktop файла (ярлыка) на рабочем столе и в меню
|
||||
|
||||
Если устанавливаемое приложение требует дополнительных действий от пользователя, об этом будет явно написано в терминале.
|
||||
|
||||
### Процесс удаления префикса с приложением
|
||||
Выполняем команду:
|
||||
|
||||
```sh
|
||||
winehelper remove-prefix
|
||||
```
|
||||
|
||||
и видим список префиксов доступных для удаления, например:
|
||||
|
||||
```sh
|
||||
winehelper remove-prefix spravki-bk
|
||||
```
|
||||
|
||||
после подтверждения клавишей "y" полностью удалит префикс с ПО и desktop файлы (ярлыки)
|
||||
|
||||
### Процесс удаления WineHelper
|
||||
Выполняем команду:
|
||||
|
||||
```sh
|
||||
winehelper remove-all
|
||||
```
|
||||
|
||||
после подтверждения клавишей "y" данная команда удалить WineHelper и все связанные данные (префиксы, ярлыки, wine, прогаммы установленные с помощью WineHelper)
|
||||
|
||||
### Процесс создания резервной копии префикса
|
||||
Выполняем команду:
|
||||
|
||||
```sh
|
||||
winehelper backup-prefix "имя префикса"
|
||||
```
|
||||
|
||||
команда создаст резервную копию префикса на рабочем столе в виде архива backup_имя_префикса_год.месяц.цисло.whpack
|
||||
|
||||
### Процесс восстановления резервной копии префикса
|
||||
Выполняем команду:
|
||||
|
||||
```sh
|
||||
winehelper restore-prefix "/путь/к/архиву.whpack"
|
||||
```
|
||||
|
||||
команда восстановит префикс из резервной копии а также desktop файлы и фалы меню
|
||||
|
||||
|
||||
### Дополнительные команды
|
||||
|
||||
```sh
|
||||
winehelper help
|
||||
```
|
||||
|
||||
Вывод:
|
||||
<pre>
|
||||
Использование: $SCRIPT_NAME [команда]
|
||||
|
||||
Команды:
|
||||
install list список возможных установочных скриптов
|
||||
install [скрипт] запустить скрипт установки программы
|
||||
install [скрипт] --clear-pfx не использовать подготовленный префикс для установки ПО
|
||||
|
||||
installed список установленных программ
|
||||
run [программа.exe] запуск программы (отладка)
|
||||
remove-all удалить WineHelper и все связанные данные
|
||||
remove-prefix [имя_префикса] удалить префикс и все связанные данные
|
||||
backup-prefix [имя_префикса] создать резервную копию префикса
|
||||
restore-prefix [имя_префикса] восстановить префикс из резервной копии
|
||||
|
||||
Параметры:
|
||||
--help показать эту справку и выйти
|
||||
--version показать информацию о пакете и его версии
|
||||
--debug [команда] включить режим логирования работы WINE
|
||||
</pre>
|
||||
|
||||
## 🛠 Участие в разработке
|
||||
|
||||
Мы рады вашим Pull Request'ам! Вот как можно помочь:
|
||||
|
||||
1. **Сообщить о баге или предложить улучшение**
|
||||
Откройте [Задачи](https://git.linux-gaming.ru/CastroFidel/winehelper/issues), опишите проблему или идею.
|
||||
|
||||
2. **Исправить баг или добавить функционал**
|
||||
- Форкните репозиторий
|
||||
- Создайте ветку (`git checkout -b feature/ваша-фича`)
|
||||
- Закоммитьте изменения (`git commit -m 'Добавил ...'`)
|
||||
- Запушьте в форк (`git push origin feature/ваша-фича`)
|
||||
- Откройте Pull Request
|
||||
|
||||
3. **Помощь с документацией**
|
||||
Исправления в документации тоже приветствуются!
|
||||
|
||||
Перед началом работы обсудите вашу идею в [Задачи](https://git.linux-gaming.ru/CastroFidel/winehelper/issues), чтобы избежать дублирования.
|
61
winehelper
61
winehelper
@ -23,14 +23,30 @@ check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
|
||||
|
||||
##### CHECK DEBUG #####
|
||||
if [[ "$1" == "--debug" ]] ; then
|
||||
export DEBUG="full"
|
||||
export LOG_FILE="$HOME/winehelper.log"
|
||||
check_variables WINEDEBUG "+loaddll,+seh"
|
||||
export DXVK_LOG_LEVEL="error"
|
||||
export VKD3D_DEBUG "error"
|
||||
export WINE_MONO_TRACE "E:System.NotImplementedException"
|
||||
export VK_LOADER_DEBUG "error"
|
||||
export VKBASALT_LOG_LEVEL "error"
|
||||
export DXVK_NVAPI_LOG_LEVEL "error"
|
||||
shift
|
||||
print_warning "Включен режим подробного логирования работы WINE."
|
||||
else
|
||||
check_variables WINEDEBUG "-all"
|
||||
check_variables DXVK_LOG_LEVEL "none"
|
||||
check_variables VKD3D_SHADER_DEBUG "none"
|
||||
check_variables VKD3D_DEBUG "none"
|
||||
check_variables DXVK_LOG_PATH "none"
|
||||
check_variables VKBASALT_LOG_LEVEL "none"
|
||||
check_variables DXVK_NVAPI_LOG_LEVEL "none"
|
||||
fi
|
||||
|
||||
if [[ $WINEDEBUG != "-all" ]] ; then
|
||||
export LOG_FILE="$HOME/winehelper.log"
|
||||
date > "$LOG_FILE"
|
||||
print_warning "Включен режим логирования работы WINE."
|
||||
print_warning "Лог будет сохранен по пути: $LOG_FILE"
|
||||
sleep 3
|
||||
else
|
||||
check_variables DEBUG "0"
|
||||
fi
|
||||
|
||||
##### WINETRICKS VERSION #####
|
||||
@ -679,27 +695,6 @@ init_wine_ver () {
|
||||
export WINESERVER="wineserver"
|
||||
fi
|
||||
|
||||
check_variables DXVK_LOG_LEVEL "none"
|
||||
check_variables VKD3D_SHADER_DEBUG "none"
|
||||
check_variables VKD3D_DEBUG "none"
|
||||
check_variables DXVK_LOG_PATH "none"
|
||||
check_variables VKBASALT_LOG_LEVEL "none"
|
||||
check_variables DXVK_NVAPI_LOG_LEVEL "none"
|
||||
|
||||
if [[ $DEBUG == "0" ]] ; then
|
||||
check_variables WINEDEBUG "-all"
|
||||
elif [[ $DEBUG == "full" ]] ; then
|
||||
check_variables WINEDEBUG "+loaddll,+seh"
|
||||
export DXVK_LOG_LEVEL="error"
|
||||
export VKD3D_DEBUG "error"
|
||||
export WINE_MONO_TRACE "E:System.NotImplementedException"
|
||||
export VK_LOADER_DEBUG "error"
|
||||
export VKBASALT_LOG_LEVEL "error"
|
||||
export DXVK_NVAPI_LOG_LEVEL "error"
|
||||
else
|
||||
check_variables WINEDEBUG "err+all"
|
||||
fi
|
||||
|
||||
print_info "Используется версия wine: $WH_WINE_USE"
|
||||
}
|
||||
|
||||
@ -1139,13 +1134,15 @@ wine_run () {
|
||||
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
|
||||
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
|
||||
|
||||
if [[ $DEBUG == "0" ]] ; then
|
||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS
|
||||
else
|
||||
print_var WH_WINE_USE WINEARCH WINEPREFIX WINEDLLOVERRIDES WH_WINDOWS_VER | tee "$LOG_FILE"
|
||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$LOG_FILE"
|
||||
fi
|
||||
if [[ -n $LOG_FILE ]] && [[ -f "$LOG_FILE" ]] ; then
|
||||
echo "##### Основные переменные #####" | tee -a "$LOG_FILE"
|
||||
env | grep -e "WH_" -e "WINE" -e "DXVK" -e "VKD3D" | tee -a "$LOG_FILE"
|
||||
|
||||
echo "##### Лог WINE #####" | tee -a "$LOG_FILE"
|
||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$LOG_FILE"
|
||||
else
|
||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS
|
||||
fi
|
||||
wait_wineserver
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user