Compare commits
60 Commits
Author | SHA1 | Date | |
---|---|---|---|
a18c4684a7 | |||
0cca7b441d | |||
bda170017c | |||
42e822217b | |||
79d45b6f51 | |||
ae2d47b641 | |||
576f939ceb | |||
c9e4cb23b7 | |||
f17b354ca3 | |||
3d28dc2758 | |||
b403934966 | |||
e79d7e5b17 | |||
ea621f0402 | |||
d65e4dc74d | |||
45062a252d | |||
978ef09597 | |||
5006817fed | |||
c781374979 | |||
2ff5056c8a | |||
6c0afe5dc7 | |||
5fac6c25c2 | |||
a1097b9ecc | |||
394ad6e891 | |||
b122128b0b | |||
674a499c5e | |||
a3de3240b6 | |||
f985c8d92e | |||
cd934bab1c | |||
f67c9ca3ec | |||
9304a5e19f | |||
a0be9e7ce1 | |||
93b8b41fcc | |||
d3df605806 | |||
a6ee4a80ee | |||
3ea3fb5e53 | |||
80a425f421 | |||
8736bb8f53 | |||
d553256a7a | |||
33dd0aa45e | |||
877689ab5e | |||
418493b7b8 | |||
cadfe91198 | |||
615bcdd95b | |||
33a181fe4f | |||
dfe41ea9c2 | |||
e649261ff9 | |||
299ee7ed53 | |||
7c41d656aa | |||
10707bd010 | |||
bd9d5b9561 | |||
9caea05eb5 | |||
0bb88f6bff | |||
d238a37860 | |||
fc6b2fb67d | |||
6ab84be100 | |||
341b821442 | |||
63d24ae584 | |||
f7450529c8 | |||
37234c25bf | |||
8601dd600f |
24
CHANGELOG
24
CHANGELOG
@ -1,5 +1,29 @@
|
||||
История изменений:
|
||||
|
||||
0.5.2:
|
||||
* исправлен запуск winehelper.desktop для winehelper-qt
|
||||
|
||||
0.5.1:
|
||||
* добавлена функция извлечения иконки из .exe файлов
|
||||
* добавлен вывод истории изменений командой: winehelper --changelog
|
||||
* добавлен графический режим Qt5 (альфа версия)
|
||||
* обновлены скрипты для совместной работы с графическим режимом
|
||||
* обновлены скрипты установок для t-flex-* (добавлена поддержка grdcontrol)
|
||||
* добавлены ссылки на официальные сайты устанавливаемых приложений
|
||||
* обновлены функции создания и восстановления резервных копий префиков
|
||||
* добавлены иконки для приложения WineHelper
|
||||
|
||||
0.5.0:
|
||||
* добавлен явный вывод отказа от ответственности и соглашения с ним
|
||||
* обновлены все скрипты для установки t-flex-*
|
||||
* добавлен wine_wh_tflex_10-9 с патчами для t-flex-*
|
||||
* добавлена поддержка новых версий wine 10.3 и выше
|
||||
* удален пакет libOSMesa из проверки на зависимости
|
||||
* другие небольшие улучшения и оптимизации скриптов
|
||||
|
||||
0.4.9:
|
||||
* добавлено автодопонение команд для zsh (zsh_completion)
|
||||
|
||||
0.4.8:
|
||||
* все скрипты для программ daobit-* переведены из ручных установок в автоматические
|
||||
|
||||
|
@ -4,7 +4,7 @@ _winehelper_completions() {
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix"
|
||||
opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix --changelog changelog"
|
||||
wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run"
|
||||
|
||||
case "${prev}" in
|
||||
@ -22,7 +22,7 @@ _winehelper_completions() {
|
||||
return 0
|
||||
;;
|
||||
run|installed)
|
||||
local installed=$(grep -h "Exec=env" ~/.local/share/winehelper/*.desktop 2>/dev/null | awk -F'/' '{print $NF}' | awk -F'"' '{print $1}')
|
||||
local installed=$(ls -1 ~/.local/share/winehelper/ | grep ".desktop" | sed 's/.desktop//')
|
||||
COMPREPLY=( $(compgen -W "${installed}" -- "${cur}") )
|
||||
return 0
|
||||
;;
|
||||
|
@ -101,9 +101,7 @@ _get_list_for_install () {
|
||||
|
||||
_get_installed_list () {
|
||||
installed=(
|
||||
${(f)"$(grep -h 'Exec=env' ~/.local/share/winehelper/*.desktop 2>/dev/null |
|
||||
awk -F'/' '{print $NF}' |
|
||||
awk -F'"' '{print $1}')"}
|
||||
${(f)"$(ls -1 ~/.local/share/winehelper/ | grep ".desktop" | sed 's/.desktop//')"}
|
||||
)
|
||||
|
||||
if ((! ${#installed[@]} == 0 )); then
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Пакет программ для таможенного оформления. Включает программы Такса и ТамДок в комплектациях Эксперт, а также программу Заполнитель.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Альта-Эксперт"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Таможенное оформление товаров
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Альта-ГТД"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Пакет программ для таможенного оформления. Включает программы Альта-ГТД, Такса и ТамДок в комплектациях Максимум, а также программу Заполнитель.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Альта-Максимум"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Таможенное законодательство
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Таможенные документы"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Расчет контракта
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Такса"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Автоматизация импорта данных
|
||||
########################################################################
|
||||
export PROG_URL="https://www.alta.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="alta"
|
||||
export PROG_NAME="Заполнитель"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа для ведения автоматического контроля договоров, счетов и прочих платежных документов организаций-поставщиков и клиентов.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.ctm.ru"
|
||||
export PROG_NAME="СТМ-Финансы"
|
||||
export PROG_ICON="ctmfinance"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Удобная многофункциональная программа для ведения электронных журналов. Позволяет автоматизировать документооборот участников ВЭД, таможенных представителей и пр.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.ctm.ru"
|
||||
export PROG_NAME="СТМ-Журналы"
|
||||
export PROG_ICON="ctmjournals"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программный модуль, обеспечивающий передачу данных при работе в системе Электронного декларирования через Интернет.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.ctm.ru"
|
||||
export PROG_NAME="Монитор ЭД"
|
||||
export PROG_ICON="ctmmonitor"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Универсальная программа для создания различных отчетов, в том числе подаваемых в таможенные органы таможенными представителями.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.ctm.ru"
|
||||
export PROG_NAME="СТМ-Отчет"
|
||||
export PROG_ICON="ctmreport"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Вспомогательная программа для автоматического обновления через Интернет программного обеспечения «СТМ»
|
||||
########################################################################
|
||||
export PROG_URL="https://www.ctm.ru"
|
||||
export PROG_NAME="СТМ-Сервис"
|
||||
export PROG_ICON="ctmservice"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Сервис обновления ПО
|
||||
########################################################################
|
||||
export PROG_URL="https://daobit.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="Сервис обновления ПО"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Построение маршрутов железнодорожных грузоперевозок
|
||||
########################################################################
|
||||
export PROG_URL="https://daobit.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Атлас"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Специализированная информация для организации железнодорожных перевозок
|
||||
########################################################################
|
||||
export PROG_URL="https://daobit.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Инфо"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Расчёт размера провозной платы и дополнительных сборов за грузовые перевозки по железной дороге
|
||||
########################################################################
|
||||
export PROG_URL="https://daobit.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Тариф"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа «Декларация 2024» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.nalog.gov.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="declaration"
|
||||
export PROG_NAME="Декларация"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Удобная программа для создания двухмерных схем и чертежей. Основной акцент сделан на проектировании систем тепло-, водо- и газоснабжения, водоочистки, автоматизированных систем управления технологическими процессами (АСУТП), а также планов эвакуации при пожаре и авариях.
|
||||
########################################################################
|
||||
export PROG_URL="https://easymnemo.com"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586"
|
||||
export WINEPREFIX="easymnemo"
|
||||
export PROG_NAME="Easymnemo"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Конструктор тестов предназначен для проведения тестирования персонала и учащихся.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.keepsoft.ru"
|
||||
export PROG_NAME="Конструктор тестов"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/simulator4.exe"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа автоматизации процесса подготовки юридическими и физическими лицами документов для представления в налоговые органы в электронной форме и на бумажном носителе.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.nalog.gov.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="nalog"
|
||||
export PROG_NAME="Налогоплательщик ЮЛ"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Подготовка документов для государственной регистрации (ППДГР)
|
||||
########################################################################
|
||||
export PROG_URL="https://www.nalog.gov.ru"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/SetupPPDGR2.msi"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ppdgr2"
|
||||
|
@ -1,8 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
|
||||
########################################################################
|
||||
export PROG_URL="https://scadoffice.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="scadoffice"
|
||||
export PROG_NAME="SCAD Office"
|
||||
export PROG_ICON="scadoffice"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v03"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win64"
|
||||
@ -65,14 +68,14 @@ if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; t
|
||||
try_remove_file "$AUTOINSTALL_EXE"
|
||||
|
||||
# Определение всех программ, значков и исполняемых файлов
|
||||
declare -a PROG_NAME=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++")
|
||||
declare -a PROG_NAME_All=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++")
|
||||
|
||||
declare -a PROG_ICON=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx")
|
||||
declare -a PROG_ICON_ALL=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx")
|
||||
|
||||
declare -a WIN_FILE_EXEC=("${DRIVE_C_SCADOFFICE}/Arbat.exe" "${DRIVE_C_SCADOFFICE}/West.exe" "${DRIVE_C_SCADOFFICE}/GlobalSettings.exe" "${DRIVE_C_SCADOFFICE}/Decor.exe" "${DRIVE_C_SCADOFFICE}/ReBar.exe" "${DRIVE_C_SCADOFFICE}/UnderGround.exe" "${DRIVE_C_SCADOFFICE}/ComeIn.exe" "${DRIVE_C_SCADOFFICE}/CoCon.exe" "${DRIVE_C_SCADOFFICE}/Comet2.exe" "${DRIVE_C_SCADOFFICE}/Section.exe" "${DRIVE_C_SCADOFFICE}/Consul.exe" "${DRIVE_C_SCADOFFICE}/ConfigProtection.exe" "${DRIVE_C_SCADOFFICE}/Kristall.exe" "${DRIVE_C_SCADOFFICE}/Cross.exe" "${DRIVE_C_SCADOFFICE}/Kust2.exe" "${DRIVE_C_SCADOFFICE}/Magnum.exe" "${DRIVE_C_SCADOFFICE}/Monolit.exe" "${DRIVE_C_SCADOFFICE}/Slope.exe" "${DRIVE_C_SCADOFFICE}/Pasternak.exe" "${DRIVE_C_SCADOFFICE}/UCalc.exe" "${DRIVE_C_SCADOFFICE}/ViewProf.exe" "${DRIVE_C_SCADOFFICE}/SCalc.exe" "${DRIVE_C_SCADOFFICE}/AccelEdit.exe" "${DRIVE_C_SCADOFFICE}/BetaEdit.exe" "${DRIVE_C_SCADOFFICE}/MaterialsEdit.exe" "${DRIVE_C_SCADOFFICE}/Tonus.exe" "${DRIVE_C_SCADOFFICE}/Sezam.exe" "${DRIVE_C_SCADOFFICE}/SCADX.exe")
|
||||
|
||||
# Цикл создания десктоп файлов для scad office
|
||||
for i in "${!PROG_NAME[@]}"; do
|
||||
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}" "nocopy"
|
||||
for i in "${!PROG_NAME_All[@]}"; do
|
||||
create_desktop "${PROG_NAME_All[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON_ALL[i]}" "nocopy"
|
||||
done
|
||||
fi
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Справочник кодов обозначения налоговых органов для целей учета налогоплательщиков
|
||||
########################################################################
|
||||
export PROG_URL="https://www.nalog.gov.ru"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/soun_ins.exe"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="soun"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: «Справки БК» — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера.
|
||||
########################################################################
|
||||
export PROG_URL="https://spravki-bk.ru"
|
||||
export WH_WINE_USE="wine-9.0.14-alt1-i586-spravkibk"
|
||||
export WINEPREFIX="spravki-bk"
|
||||
export PROG_NAME="СПО Справки БК"
|
||||
|
@ -1,13 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
@ -33,5 +36,5 @@ if try_download "https://www.tflexcad.ru/download/t-flex-cad-free/files/TFCAD_ST
|
||||
try_remove_dir "${WH_TMP_DIR}/Стандартные элементы 17"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD Учебная Версия 17/Program/TFlexCad.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCadEDU"
|
||||
fi
|
||||
|
@ -1,13 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
@ -26,5 +29,5 @@ if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%2017.zip" "${AUTOIN
|
||||
try_remove_file "${AUTOINSTALL_EXE}"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad"
|
||||
fi
|
||||
|
@ -1,12 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, T-FLEX Печатные платы 17)
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="Приложения для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
check_prefix_var
|
||||
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]
|
||||
|
@ -1,12 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17)
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="Ресурсы для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
check_prefix_var
|
||||
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]
|
||||
|
@ -1,13 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 2D+ 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
@ -26,5 +29,5 @@ if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%202D+%2017.zip" "${
|
||||
try_remove_file "${AUTOINSTALL_EXE}"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 2D+ 17/Program/TFlexCad.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad2D"
|
||||
fi
|
||||
|
@ -1,13 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX DOCs 17"
|
||||
export PROG_ICON="tflexdoc"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
@ -1,13 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
|
||||
########################################################################
|
||||
export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX Viewer 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа проверки файлов на соответствие форматам представления в электронном виде налоговых деклараций, бухгалтерской отчетности.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.nalog.gov.ru"
|
||||
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2269.exe"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Электронный алфавитно-предметный указатель, предназначенный для быстрого и простого подбора для товара кода ТН ВЭД ЕАЭС.
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Алфавит"
|
||||
export PROG_ICON="vedalf"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа для проверки ДТ и ДТС до представления их в таможенные органы и для внесения изменений в электронный вид документов.
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Контроль"
|
||||
export PROG_ICON="vedcontrol"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа для формирования полного комплекта документов для таможенного оформления.
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Декларант"
|
||||
export PROG_ICON="veddcl"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Уникальный электронный справочник по таможенному законодательству государств-членов Евразийского экономического союза, содержащий актуальную нормативно-правовую базу в сфере регулирования внешнеэкономической деятельности.
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Инфо"
|
||||
export PROG_ICON="vedinfo"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа для расчета таможенных платежей и стоимости товаров после «таможенной очистки»
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Платежи"
|
||||
export PROG_ICON="vedpayments"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программа для формирования полного комплекта документов для таможенного оформления.
|
||||
########################################################################
|
||||
export PROG_URL="https://ctm.ru"
|
||||
export PROG_NAME="ВЭД-Склад"
|
||||
export PROG_ICON="vedsts"
|
||||
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="ved_ctm"
|
||||
export BASE_PFX="ved_ctm_pfx_x86_v05"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: ZuluGIS 2021 Инженерные расчёты (Полный) 64-бит. Включает ZuluGIS, пакеты расчетов ZuluThermo, ZuluHydro, ZuluDrain, ZuluGaz, ZuluSteam, библиотеки ZuluXTools и ZuluNetTools. Дополнительно в состав пакета входит Microsoft SQL Server Express LocalDB 2012.
|
||||
########################################################################
|
||||
export PROG_URL="https://www.politerm.com"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export PROG_NAME="ZuluGIS 2021"
|
||||
export WINEPREFIX="zulugis"
|
||||
|
@ -2,67 +2,81 @@
|
||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export PROG_VERSION=""
|
||||
export WH_XDG_OPEN="log"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
GRDCONTROL_VER="4.3.0-0"
|
||||
AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux"
|
||||
AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
|
||||
AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
|
||||
AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe"
|
||||
AUTOINSTALL_EXE_WIN_MSI="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007"
|
||||
AUTOINSTALL_EXE_WIN2="$AUTOINSTALL_DIR_WIN/TSC2/Setup_TSC2.msi"
|
||||
|
||||
prepair_wine
|
||||
|
||||
if [[ -d "$WINEPREFIX" ]] \
|
||||
&& grep -q "t-flex-cad17-prepair" "$WINEPREFIX/winetricks.log" \
|
||||
&& grep -q "t-flex-cad" "$WINEPREFIX/winetricks.log" \
|
||||
&& systemctl list-units --type service --state running | grep aksusbd \
|
||||
&& systemctl list-units --type service --state running | grep hasplmd
|
||||
&& systemctl list-units --type service --state running | grep hasplmd \
|
||||
&& rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then
|
||||
print_info "Префикс $PREFIX_NAME готов к установке ПО."
|
||||
print_info "Сервисы: aksusbd и hasplmd уже запущены."
|
||||
print_info "Сервисы: aksusbd и hasplmd уже запущены. grdcontrol-$GRDCONTROL_VER установлен."
|
||||
else
|
||||
print_warning "Службы aksusbd и hasplmd не запущены, или префикс не подготовлен"
|
||||
print_info "Запускаем подготовку префикса скриптом: t-flex-cad17-prepair"
|
||||
print_warning "Службы aksusbd и hasplmd не запущены, или grdcontrol-$GRDCONTROL_VER не установлен."
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] \
|
||||
|| ! systemctl list-units --type service --state running | grep aksusbd \
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd \
|
||||
|| ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Linux)
|
||||
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux"
|
||||
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg"
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
unpack "${AUTOINSTALL_ZIP_LIN}" "${AUTOINSTALL_DIR_LIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}"
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
|
||||
fi
|
||||
|
||||
if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе."
|
||||
else su_run rpm -iv "$AUTOINSTALL_DIR_LIN/Guardant_Linux/grdcontrol.x86_64.rpm"
|
||||
fi
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip"
|
||||
AUTOINSTALL_DIRWIN="${WH_TMP_DIR}"
|
||||
AUTOINSTALL_EXE_WIN1="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007/AccessDatabaseEngine.exe"
|
||||
AUTOINSTALL_EXE_WIN_MSY="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007"
|
||||
AUTOINSTALL_EXE_WIN2="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/TSC2/Setup_TSC2.msi"
|
||||
print_info "Запускаем подготовку префикса."
|
||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
||||
if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then
|
||||
unpack "${AUTOINSTALL_ZIP_WIN}" "${AUTOINSTALL_DIRWIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR"
|
||||
unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI"
|
||||
|
||||
unpack "${AUTOINSTALL_EXE_WIN1}" "${AUTOINSTALL_EXE_WIN_MSY}"
|
||||
try_remove_file "$AUTOINSTALL_EXE_WIN1"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
|
||||
fi
|
||||
rm -fR "$DRIVE_C/Program Files/Common Files/System"
|
||||
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files"
|
||||
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files"
|
||||
mv -f "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32"
|
||||
|
||||
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg"
|
||||
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
|
||||
cp -r "$AUTOINSTALL_DIR_LIN/Components/Program Files/Common Files/System" \
|
||||
"$DRIVE_C/Program Files/Common Files"
|
||||
cp -r "$AUTOINSTALL_DIR_LIN/Components/Program Files (x86)/Common Files/System" \
|
||||
"$DRIVE_C/Program Files (x86)/Common Files"
|
||||
|
||||
mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \
|
||||
"$DRIVE_C/windows/system32"
|
||||
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg"
|
||||
"$WINELOADER"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/tflex.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
@ -71,23 +85,27 @@ else
|
||||
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
|
||||
else
|
||||
echo "#!/usr/bin/env bash
|
||||
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
|
||||
cd \"$AUTOINSTALL_DIR_LIN/HASP_Linux/aksusbd/\"
|
||||
bash ./dinst
|
||||
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
|
||||
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh
|
||||
mv -f \"$AUTOINSTALL_DIR_LIN/HASP_Linux/\"*.so /var/hasplm/
|
||||
systemctl restart hasplmd.service" > "$WH_TMP_DIR/tflex_aksusbd.sh"
|
||||
chmod +x "$WH_TMP_DIR/tflex_aksusbd.sh"
|
||||
unset TFLEX_ERROR
|
||||
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh" || TFLEX_ERROR=1
|
||||
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
print_info "Будут установлены и запущены службы aksusbd и hasplmd."
|
||||
su_run "$WH_TMP_DIR/tflex_aksusbd.sh" || TFLEX_ERROR=1
|
||||
try_remove_file "$WH_TMP_DIR/tflex_aksusbd.sh"
|
||||
fi
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
|
||||
fi
|
||||
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "$AUTOINSTALL_DIR_WIN"
|
||||
|
||||
if [[ $TFLEX_ERROR == "1" ]] ; then
|
||||
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
|
||||
else
|
||||
echo "t-flex-cad17-prepair" >> "$WINEPREFIX/winetricks.log"
|
||||
echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
print_info "Подготовка префикса и установка компонентов завершены."
|
||||
fi
|
||||
fi
|
||||
|
@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
|
||||
# fonts-ttf-ms
|
||||
|
||||
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
|
||||
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
|
||||
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
|
||||
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
|
||||
libvulkan1,libcups} || fatal "Не удалось установить зависимости."
|
||||
|
||||
|
BIN
image/ais_lpu_client.png
Normal file
BIN
image/ais_lpu_client.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
97
image/gui/winehelper-devel.svg
Normal file
97
image/gui/winehelper-devel.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 109 KiB |
47
image/gui/winehelper-symbolic.svg
Normal file
47
image/gui/winehelper-symbolic.svg
Normal file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="16px"
|
||||
viewBox="0 0 16 16"
|
||||
width="16px"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="5-symbolic.svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="namedview4"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="38.448931"
|
||||
inkscape:cx="6.9702848"
|
||||
inkscape:cy="8.8949156"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1128"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g3" />
|
||||
<g
|
||||
fill-rule="evenodd"
|
||||
id="g3">
|
||||
<path
|
||||
d="m 0.800781 0 c -0.429687 0 -0.800781 0.371094 -0.800781 0.800781 v 5.078125 c 0 0.429688 0.371094 0.800782 0.800781 0.800782 h 1.996094 v -1.121094 h -1.675781 v -4.4375 h 4.4375 v 1.675781 h 1.121094 v -1.996094 c 0 -0.429687 -0.371094 -0.800781 -0.800782 -0.800781 z m 9.328125 0 c -0.425781 0 -0.800781 0.371094 -0.800781 0.800781 v 1.996094 h 1.121094 v -1.675781 h 4.441406 v 4.4375 h -1.675781 v 1.121094 h 1.992187 c 0.429688 0 0.804688 -0.375 0.804688 -0.800782 v -5.078125 c 0 -0.429687 -0.375 -0.800781 -0.804688 -0.800781 z m -9.328125 9.328125 c -0.429687 0 -0.800781 0.371094 -0.800781 0.800781 v 5.082032 c 0 0.425781 0.371094 0.800781 0.800781 0.800781 h 5.078125 c 0.429688 0 0.800782 -0.375 0.800782 -0.800781 v -1.996094 h -1.121094 v 1.675781 h -4.4375 v -4.441406 h 1.675781 v -1.121094 z m 12.414063 0 v 1.121094 h 1.675781 v 4.441406 h -4.441406 v -1.675781 h -1.121094 v 1.996094 c 0 0.425781 0.375 0.800781 0.800781 0.800781 h 5.078125 c 0.429688 0 0.804688 -0.375 0.804688 -0.800781 v -5.082032 c 0 -0.429687 -0.375 -0.800781 -0.804688 -0.800781 z m 0 0"
|
||||
id="path1" />
|
||||
<path
|
||||
id="path2"
|
||||
d="M 7.9277344 4.515625 C 7.8097448 4.5185061 7.6899414 4.527832 7.5703125 4.5429688 C 5.6601565 4.7812497 4.3007808 6.527344 4.5429688 8.4375 C 4.7812497 10.351562 6.527344 11.710938 8.4375 11.46875 C 10.351562 11.230469 11.710938 9.4843755 11.46875 7.5703125 C 11.245362 5.7795413 9.6975779 4.4724088 7.9277344 4.515625 z M 8.0039062 6.3535156 C 8.9197403 6.3535156 9.6542969 7.0918241 9.6542969 8.0039062 C 9.6542969 8.9205649 8.920565 9.6542969 8.0039062 9.6542969 C 7.0918241 9.6542969 6.3535156 8.9197403 6.3535156 8.0039062 C 6.3535156 7.0926517 7.0926517 6.3535156 8.0039062 6.3535156 z " />
|
||||
<path
|
||||
d="m 6.765625 3.570312 l 1.265625 -0.164062 l 0.410156 1.664062 l -1.601562 0.246094 z m -2.773437 2.175782 l 0.78125 -1.011719 l 1.464843 0.890625 l -0.957031 1.304688 z m -0.421876 3.496094 l -0.164062 -1.261719 l 1.664062 -0.410157 l 0.246094 1.601563 z m 2.175782 2.773437 l -1.011719 -0.777344 l 0.890625 -1.464843 l 1.304688 0.957031 z m 3.496094 0.425781 l -1.261719 0.164063 l -0.410157 -1.664063 l 1.601563 -0.246094 z m 2.773437 -2.175781 l -0.777344 1.011719 l -1.464843 -0.890625 l 0.957031 -1.304688 z m 0.425781 -3.5 l 0.164063 1.265625 l -1.664063 0.410156 l -0.246094 -1.601562 z m -2.175781 -2.773437 l 1.011719 0.78125 l -0.890625 1.464843 l -1.304688 -0.957031 z m 0 0"
|
||||
id="path3" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
47
image/gui/winehelper.svg
Normal file
47
image/gui/winehelper.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 55 KiB |
BIN
image/scadoffice.png
Normal file
BIN
image/scadoffice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
image/swnd.png
Normal file
BIN
image/swnd.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
@ -3,11 +3,13 @@
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
|
@ -1,5 +1,6 @@
|
||||
##### WINE #####
|
||||
|
||||
009c95bfe2df3f9264c9c5092f3e30ea7a168dd7869046058a718a70739602d4 wine_wh_tflex_10-9_amd64.tar.xz
|
||||
3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz
|
||||
71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz
|
||||
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
|
||||
@ -44,6 +45,10 @@ f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x6
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
|
||||
be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044 tflex17_pfx_x64_v02.tar.xz
|
||||
# create with wine_wh_tflex_10-9_amd64
|
||||
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
|
||||
|
||||
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
# winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 vcrun2022 msxml3 arial dotnet40 dotnet48 art2k7min vcrun6 andale comicsans courier georgia impact times trebuchet verdana webdings corefonts msls31 ie8
|
||||
@ -82,3 +87,7 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
|
||||
# winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20
|
||||
# + addons with ODBC, SSH, *.reg
|
||||
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
|
||||
|
||||
ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks vcrun2005 vcrun2008 dotnet20sp2 dotnet40 mfc42 7zip
|
||||
|
24
testinstall/ais-lpu-client
Normal file
24
testinstall/ais-lpu-client
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Автоматизация установки МИС Витакарта (AIS LPU Client).
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586"
|
||||
export WINEPREFIX="ais-lpu-client"
|
||||
export PROG_NAME="AIS LPU Client"
|
||||
export PROG_ICON="ais_lpu_client"
|
||||
export BASE_PFX="ais-lpu-client_pfx_x86_v01"
|
||||
export WH_WINDOWS_VER="7"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet40 dotnet20sp2 7zip vcrun2005 vcrun2008 mfc42"
|
||||
export WH_USE_EXTRA_FONTS="1"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
prepair_wine
|
||||
|
||||
wine_run_install "$2" # /q
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/Vitacore/AIS LPU Client/Update/AKUZ.UpdateUtility.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
21
testinstall/swnd
Normal file
21
testinstall/swnd
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Программный комплекс СуперОкна для фабрик по изготовлению окон и дверей.
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="swnd"
|
||||
export PROG_NAME="СуперОкна 8"
|
||||
export PROG_ICON="swnd"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
# export INSTALL_DLL=""
|
||||
|
||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8_setup.exe"
|
||||
|
||||
prepair_wine
|
||||
if try_download "https://kctsoft.ru/download/superokna8/Swnd8_setup.exe" "${AUTOINSTALL_EXE}" ; then
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
|
||||
try_remove_file "$AUTOINSTALL_EXE"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8/Swnd8.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
fi
|
21
testinstall/swnd_x
Normal file
21
testinstall/swnd_x
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Бесплатная версия программы СуперОкна для небольших предприятий.
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="swnd"
|
||||
export PROG_NAME="СуперОкна 8 бесплатная"
|
||||
export PROG_ICON="swnd"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
# export INSTALL_DLL=""
|
||||
|
||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8x_setup.exe"
|
||||
|
||||
prepair_wine
|
||||
if try_download "https://kctsoft.ru/download/superokna8/Swnd8x_setup.exe" "${AUTOINSTALL_EXE}" ; then
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
|
||||
try_remove_file "$AUTOINSTALL_EXE"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8x/Swnd8x.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
fi
|
509
winehelper
509
winehelper
@ -7,17 +7,25 @@ if [[ $(id -u) -eq 0 ]] ; then
|
||||
fi
|
||||
|
||||
##### DEFAULT PATH #####
|
||||
export SCRIPT_NAME USER_WORK_PATH RUN_SCRIPT DATA_PATH CHANGELOG_FILE WH_ICON_PATH LICENSE_FILE
|
||||
|
||||
SCRIPT_NAME="$(basename "$0")"
|
||||
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
||||
# переменные для установленного WineHelper в систему
|
||||
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
|
||||
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
|
||||
DATA_PATH="/usr/share/$SCRIPT_NAME"
|
||||
CHANGELOG_FILE="$(realpath "/usr/share/doc/winehelper"-*/CHANGELOG)"
|
||||
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg"
|
||||
LICENSE_FILE="$(realpath "/usr/share/doc/winehelper"-*/LICENSE)"
|
||||
else
|
||||
# переменные для тестового запуска WineHelper из репозитория
|
||||
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
|
||||
RUN_SCRIPT="$(realpath "$0")"
|
||||
DATA_PATH="$(dirname "$RUN_SCRIPT")"
|
||||
CHANGELOG_FILE="$DATA_PATH/CHANGELOG"
|
||||
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper-devel.svg"
|
||||
LICENSE_FILE="$DATA_PATH/LICENSE"
|
||||
|
||||
# минимальная проверка синтаксиса скриптов
|
||||
for self_check_script in "$RUN_SCRIPT" \
|
||||
@ -28,18 +36,43 @@ else
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ $1 == "gui" ]] ; then
|
||||
export WH_USE_GUI="1"
|
||||
/usr/bin/env python3 "$DATA_PATH/winehelper_gui.py" &
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##### MESSAGES FUNCTIONS #####
|
||||
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
||||
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
||||
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;}
|
||||
print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;}
|
||||
if [[ $WH_USE_GUI != "1" ]] ; then
|
||||
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
||||
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
||||
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;}
|
||||
print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;}
|
||||
else
|
||||
print_error () { echo -e "Ошибка: $@" ;}
|
||||
print_warning () { echo -e "Предупреждение: $@" ;}
|
||||
print_info () { echo -e "Информация: \"$@\"" ;}
|
||||
print_ok () { echo -e "Успех: $@" ;}
|
||||
fi
|
||||
|
||||
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
|
||||
|
||||
fatal () {
|
||||
print_error "$@"
|
||||
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
|
||||
exit 1
|
||||
}
|
||||
|
||||
print_confirmation () {
|
||||
local answer
|
||||
read -p "$@ (y/N): " answer
|
||||
if [[ ! "$answer" =~ ^[Yy]$ ]] ; then
|
||||
print_info "Отменено пользователем."
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
##### CHECK VARIABLES #####
|
||||
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
|
||||
|
||||
@ -96,6 +129,7 @@ WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
|
||||
check_variables WINEESYNC "0"
|
||||
check_variables WINEFSYNC "0"
|
||||
|
||||
check_variables WINEUSERNAME "xuser"
|
||||
check_variables WINEARCH "win64" # or "win32"
|
||||
check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
|
||||
|
||||
@ -134,6 +168,11 @@ check_variables VKD3D_VER "1.1-2602"
|
||||
|
||||
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
|
||||
|
||||
if env | grep license_agreement_file
|
||||
then fatal "Обнаружена подмена переменной license_agreement_file!"
|
||||
else readonly license_agreement_file="$(mktemp -d)/$((RANDOM % RANDOM))"
|
||||
fi
|
||||
|
||||
##### CHECK NOEXEC FOR /HOME #####
|
||||
if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then
|
||||
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
|
||||
@ -141,14 +180,23 @@ fi
|
||||
|
||||
##### ROOT #####
|
||||
su_run () {
|
||||
print_info "Для продолжения установки введите root пароль..."
|
||||
su - -c "$@"
|
||||
if [[ $WH_USE_GUI != "1" ]] ; then
|
||||
local i="1"
|
||||
while [[ $i -le "3" ]] ; do
|
||||
print_info "Для продолжения установки введите root пароль (попытка $i из 3)..."
|
||||
su - -c "$@" && return 0
|
||||
((i++))
|
||||
done
|
||||
else
|
||||
pkexec "$@" && return 0
|
||||
fi
|
||||
fatal "Не удалось установить необходимые компоненты!"
|
||||
}
|
||||
|
||||
##### CHECK DEPENDENCIES #####
|
||||
# fonts-ttf-ms
|
||||
|
||||
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\
|
||||
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
|
||||
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
|
||||
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
|
||||
then
|
||||
@ -292,7 +340,7 @@ read_page () {
|
||||
try_remove_file "$OUT_PAGE_TMP"
|
||||
unset OUT_PAGE_TMP
|
||||
else
|
||||
echo "Исользуй try_get_page перед read_page"
|
||||
echo "Используй try_get_page перед read_page"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -309,11 +357,50 @@ check_file_sum () {
|
||||
return 0
|
||||
else
|
||||
try_remove_file "$check_file_path"
|
||||
fatal "Хэш-сумма файла $check_file_name не совподает!"
|
||||
fatal "Хэш-сумма файла $check_file_name не совпадает!\n Попробуйте перезапустить установку."
|
||||
fi
|
||||
}
|
||||
|
||||
print_license_agreement () {
|
||||
if [[ -f "$license_agreement_file" ]] \
|
||||
&& [[ "$(stat -c %a "$license_agreement_file" 2>/dev/null)" == "600" ]]
|
||||
then return 0
|
||||
fi
|
||||
|
||||
echo
|
||||
print_warning "Лицензионные соглашения использования сторонних компонентов:
|
||||
|
||||
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
|
||||
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
|
||||
убедиться в законности использования этих компонентов в вашей юрисдикции.
|
||||
|
||||
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
|
||||
подготовленного префикса, а так же за программное обеспечение поставляемого из сторонних источников.
|
||||
|
||||
Подтверждая продолжение установки, вы соглашаетесь что ознакомились с данным отказом от
|
||||
ответственности и принимаете все риски, связанные с использованием программного обеспечения.
|
||||
"
|
||||
|
||||
if print_confirmation "Подтвердите продолжение установки" ; then
|
||||
touch "$license_agreement_file"
|
||||
chmod 600 "$license_agreement_file"
|
||||
cleanup_laf () {
|
||||
local cleanup_laf_dir="$(dirname "$license_agreement_file")"
|
||||
rm -r "$cleanup_laf_dir" || echo "Не удалось удалить каталог $cleanup_laf_dir"
|
||||
}
|
||||
trap "cleanup_laf" EXIT
|
||||
return 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
try_download () {
|
||||
if [[ $WH_USE_GUI == "1" ]] \
|
||||
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
|
||||
then print_ok "Соглашения приняты из графического интерфейса."
|
||||
else print_license_agreement
|
||||
fi
|
||||
local download_file_url output_file output_file_name
|
||||
download_file_url="${1// /%20}"
|
||||
output_file="$2"
|
||||
@ -358,9 +445,9 @@ try_copy_other_dll_to_pfx_32() {
|
||||
|
||||
try_copy_wine_dll_to_pfx_64 () {
|
||||
if [[ "$WINEARCH" == "win64" ]] ; then
|
||||
if [[ -d "${WINEDIR}/lib64/wine/x86_64-windows" ]]
|
||||
then WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine/x86_64-windows"
|
||||
else WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine"
|
||||
if [[ -d "$WINEDIR/lib64/wine/x86_64-windows" ]]
|
||||
then WINE_BUILD_DLL_64="$WINEDIR/lib64/wine/x86_64-windows"
|
||||
else WINE_BUILD_DLL_64="$WINEDIR/lib64/wine"
|
||||
fi
|
||||
cmp -s "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/$(basename $1)" && return 0
|
||||
try_copy_file "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/" && return 0 || return 1
|
||||
@ -368,9 +455,9 @@ try_copy_wine_dll_to_pfx_64 () {
|
||||
}
|
||||
|
||||
try_copy_wine_dll_to_pfx_32() {
|
||||
if [[ -d "${WINEDIR}/lib/wine/i386-windows" ]]
|
||||
then WINE_BUILD_DLL_32="${WINEDIR}/lib/wine/i386-windows"
|
||||
else WINE_BUILD_DLL_32="${WINEDIR}/lib/wine"
|
||||
if [[ -d "$WINEDIR/lib/wine/i386-windows" ]]
|
||||
then WINE_BUILD_DLL_32="$WINEDIR/lib/wine/i386-windows"
|
||||
else WINE_BUILD_DLL_32="$WINEDIR/lib/wine"
|
||||
fi
|
||||
if [[ "$WINEARCH" == "win64" ]] ; then
|
||||
cmp -s "$WINE_BUILD_DLL_32/$1" "${WINEPREFIX}/drive_c/windows/syswow64/$1" && return 0
|
||||
@ -426,11 +513,49 @@ var_ld_library_path_update () {
|
||||
return 0
|
||||
}
|
||||
|
||||
extract_icon() {
|
||||
check_prefix_var
|
||||
local exe_file="$1"
|
||||
local ico_name="$(basename "$exe_file" .exe).ico"
|
||||
local png_name="$(basename "$exe_file" .exe).png"
|
||||
local tmp_ico_dir="$WH_TMP_DIR/icons"
|
||||
local user_icons="$WINEPREFIX/icons"
|
||||
|
||||
create_new_dir "$tmp_ico_dir"
|
||||
|
||||
if ! wrestool -x -t 14 "$exe_file" -o "$tmp_ico_dir/$ico_name" ; then
|
||||
print_warning "Не удалось извлечь иконку из $exe_file"
|
||||
try_remove_file "$tmp_ico_dir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! icotool -x -i 1 "$tmp_ico_dir/$ico_name" -o "$tmp_ico_dir/$png_name" ; then
|
||||
print_warning "Не удалось извлечь иконку из $ico_name"
|
||||
try_remove_file "$tmp_ico_dir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
create_new_dir "$user_icons"
|
||||
|
||||
if ! try_copy_file "$tmp_ico_dir/$png_name" "$user_icons" ; then
|
||||
print_warning "Не удалось копировать иконку в префикс"
|
||||
try_remove_file "$user_icons"
|
||||
return 1
|
||||
fi
|
||||
|
||||
try_remove_dir "$tmp_ico_dir"
|
||||
print_ok "Иконка сохранена: $user_icons/$png_name"
|
||||
return 0
|
||||
}
|
||||
|
||||
create_desktop () {
|
||||
local name_desktop="$1"
|
||||
local exe_file="$2"
|
||||
local desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
|
||||
local icon_file
|
||||
local name_desktop exe_file desktop_filename icon_file desktop_path
|
||||
name_desktop="$1"
|
||||
exe_file="$2"
|
||||
if [[ -n $4 ]] && [[ $4 != "nocopy" ]];
|
||||
then desktop_filename="$4"
|
||||
else desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
|
||||
fi
|
||||
if [[ "$RESTORE_FROM_BACKUP" == "1" ]] && [[ -f "$3" ]]
|
||||
then icon_file="$3"
|
||||
elif [[ -f "$WH_IMAGE_PATH/$3.png" ]]
|
||||
@ -487,7 +612,6 @@ create_desktop () {
|
||||
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
|
||||
fi
|
||||
|
||||
|
||||
# создаем файл категории для меню
|
||||
create_new_dir "$HOME/.local/share/desktop-directories"
|
||||
if [[ ! -f "$WH_MENU_CATEGORY" ]] ; then
|
||||
@ -522,14 +646,8 @@ EOF
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
|
||||
if [[ $4 != "nocopy" ]] ; then
|
||||
if [[ -n $4 ]] ; then
|
||||
local desktop_path="$(xdg-user-dir DESKTOP)/$4"
|
||||
create_new_dir "$desktop_path"
|
||||
print_info "В меню создан $desktop_filename.desktop и скопирован на рабочий стол в каталог $4"
|
||||
else
|
||||
local desktop_path="$(xdg-user-dir DESKTOP)"
|
||||
print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
|
||||
fi
|
||||
desktop_path="$(xdg-user-dir DESKTOP)"
|
||||
print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
|
||||
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$desktop_path"
|
||||
else
|
||||
print_info "В меню создан $desktop_filename.desktop"
|
||||
@ -583,7 +701,7 @@ check_installed_programs () {
|
||||
print_info "Список установленных программ:"
|
||||
check_installed_programs
|
||||
exit 1
|
||||
elif [[ "$EXE_PATH" =~ ${2}$ ]] ; then
|
||||
elif [[ "$desktop_file" =~ ${2}.desktop ]] ; then
|
||||
export EXE_PATH
|
||||
return 0
|
||||
fi
|
||||
@ -591,7 +709,8 @@ check_installed_programs () {
|
||||
*)
|
||||
if [[ -f "$EXE_PATH.whdb" ]] ; then
|
||||
WH_INFO_RU="$(grep "info_ru:" "$EXE_PATH.whdb" | awk -F"info_ru: " '{print $2}')"
|
||||
printf "\E[36m%s $SCRIPT_NAME run $(basename "$EXE_PATH") - $(basename "$desktop_file") %s\e[0m\n"
|
||||
WH_PROG_NAME="$(grep "PROG_NAME" "$EXE_PATH.whdb" | awk -F"=" '{print $2}')"
|
||||
printf "\E[36m%s $SCRIPT_NAME run $(basename "$desktop_file" .desktop) %s\e[0m- $WH_PROG_NAME\n"
|
||||
echo -e "$WH_INFO_RU\n"
|
||||
fi
|
||||
;;
|
||||
@ -696,53 +815,49 @@ init_wine_ver () {
|
||||
export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE"
|
||||
|
||||
if [[ ! -d "$WINEDIR" ]] ; then
|
||||
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz"
|
||||
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz"
|
||||
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum \
|
||||
&& unpack "$WINE_PACKAGE" "$WH_DIST_DIR/"
|
||||
then
|
||||
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
|
||||
try_remove_file "$WINE_PACKAGE"
|
||||
fi
|
||||
local wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz"
|
||||
try_download "$CLOUD_URL/$WH_WINE_USE.tar.xz" "$wine_package" check256sum
|
||||
unpack "$wine_package" "$WH_DIST_DIR/"
|
||||
try_remove_file "$wine_package"
|
||||
fi
|
||||
|
||||
export WINE="${WINEDIR}/bin/wine"
|
||||
export WINELOADER="${WINEDIR}/bin/wine"
|
||||
export WINESERVER="${WINEDIR}/bin/wineserver"
|
||||
[[ ! -f "$WINEDIR/version" ]] && echo "$WH_WINE_USE" > "$WINEDIR/version"
|
||||
|
||||
export WINE="$WINEDIR/bin/wine"
|
||||
export WINELOADER="$WINEDIR/bin/wine"
|
||||
export WINESERVER="$WINEDIR/bin/wineserver"
|
||||
|
||||
if [[ -n "${PATH}" ]]
|
||||
then export PATH="${WINEDIR}/bin:${PATH}"
|
||||
else export PATH="${WINEDIR}/bin"
|
||||
then export PATH="$WINEDIR/bin:${PATH}"
|
||||
else export PATH="$WINEDIR/bin"
|
||||
fi
|
||||
|
||||
if [[ -n "${LD_LIBRARY_PATH}" ]]
|
||||
then export LD_LIBRARY_PATH="${WINEDIR}/lib:${LD_LIBRARY_PATH}"
|
||||
else export LD_LIBRARY_PATH="${WINEDIR}/lib"
|
||||
var_ld_library_path_update "$WINEDIR/lib"
|
||||
export WINEDLLPATH="$WINEDIR/lib/wine"
|
||||
|
||||
if [[ ! -d "$WINEDIR/lib64/wine" ]] \
|
||||
&& [[ -d "$WINEDIR/lib/wine/x86_64-unix" ]]
|
||||
then
|
||||
create_new_dir "$WINEDIR/lib64/"
|
||||
try_force_link_dir "$WINEDIR/lib/wine/" "$WINEDIR/lib64/"
|
||||
fi
|
||||
|
||||
export WINEDLLPATH="${WINEDIR}/lib/wine"
|
||||
|
||||
if [[ -d "${WINEDIR}/lib/gstreamer-1.0" ]] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib/gstreamer-1.0"
|
||||
if [[ -d "$WINEDIR/lib64" ]] \
|
||||
&& [[ ! -L "$WINEDIR/lib64/wine" ]]
|
||||
then
|
||||
var_ld_library_path_update "$WINEDIR/lib64"
|
||||
export WINEDLLPATH+=":$WINEDIR/lib64/wine"
|
||||
fi
|
||||
|
||||
[[ ! -f "${WINEDIR}/version" ]] && echo "${WH_WINE_USE}" > "${WINEDIR}/version"
|
||||
|
||||
if [[ ! -d "${WINEDIR}/lib64/wine" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
create_new_dir "${WINEDIR}/lib64/"
|
||||
try_force_link_dir "${WINEDIR}/lib/wine/" "${WINEDIR}/lib64/"
|
||||
fi
|
||||
|
||||
if [[ -d "${WINEDIR}/lib64" ]] ; then
|
||||
export LD_LIBRARY_PATH+=":${WINEDIR}/lib64"
|
||||
export WINEDLLPATH+=":${WINEDIR}/lib64/wine"
|
||||
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0+=":${WINEDIR}/lib64/gstreamer-1.0"
|
||||
if [[ -d "$WINEDIR/lib/gstreamer-1.0" ]] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="$WINEDIR/lib/gstreamer-1.0"
|
||||
if [[ -d "$WINEDIR/lib64/gstreamer-1.0" ]] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0+=":$WINEDIR/lib64/gstreamer-1.0"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $WH_USE_CPCSP_PROXY == "1" ]] \
|
||||
&& ! grep -q "$CPCSP_PROXY_VER" "${WINEDIR}/cpcsp_proxy.ver"
|
||||
&& ! grep -q "$CPCSP_PROXY_VER" "$WINEDIR/cpcsp_proxy.ver"
|
||||
then
|
||||
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
|
||||
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
|
||||
@ -750,16 +865,16 @@ init_wine_ver () {
|
||||
try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
|
||||
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
|
||||
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/"
|
||||
if [[ -d "${WINEDIR}/lib64" ]] ; then
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "${WINEDIR}/lib64/wine/"
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/"
|
||||
if [[ -d "$WINEDIR/lib64" ]] ; then
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "$WINEDIR/lib64/wine/"
|
||||
fi
|
||||
try_remove_dir "$WH_TMP_DIR/$CPCSP_PROXY_NAME"
|
||||
echo "$CPCSP_PROXY_VER" > "${WINEDIR}/cpcsp_proxy.ver"
|
||||
echo "$CPCSP_PROXY_VER" > "$WINEDIR/cpcsp_proxy.ver"
|
||||
fi
|
||||
else
|
||||
# use system WINE
|
||||
if ! rpm -q "wine" 1>/dev/null ; then
|
||||
if [[ ! -f "/usr/bin/wine" ]] ; then
|
||||
fatal "system WINE - not found."
|
||||
fi
|
||||
export WINEDIR="/usr"
|
||||
@ -896,25 +1011,33 @@ get_base_pfx () {
|
||||
|
||||
check_prefix_var () {
|
||||
if [[ -z "$WINEPREFIX" ]] ; then
|
||||
print_warning "Префикс не выбран."
|
||||
|
||||
local prefixes=()
|
||||
local count=1
|
||||
print_info "Доступные префиксы WineHelper:"
|
||||
for prefix in "$WH_PREFIXES_DIR"/* ; do
|
||||
if [[ -d "$prefix" ]]; then
|
||||
prefixes+=("$prefix")
|
||||
echo "$count. $(basename "$prefix")"
|
||||
((count++))
|
||||
fi
|
||||
done
|
||||
|
||||
[[ ${#prefixes[@]} -eq 0 ]] && fatal "Не найдено ни одного префикса!"
|
||||
if [[ ${#prefixes[@]} -eq 0 ]]
|
||||
then fatal "Не найдено ни одного префикса!"
|
||||
else print_info "Доступные префиксы WineHelper:"
|
||||
fi
|
||||
|
||||
echo "0 - Отмена"
|
||||
|
||||
for ((i=0; i<${#prefixes[@]}; i++)); do
|
||||
echo "$((i+1)) - $(basename "${prefixes[$i]}")"
|
||||
done
|
||||
|
||||
local max_choice=${#prefixes[@]}
|
||||
read -p "Выберите префикс (1-$max_choice): " choice
|
||||
read -p "Выберите префикс (0-$max_choice): " choice
|
||||
|
||||
if [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then
|
||||
if [[ "$choice" == "0" ]]; then
|
||||
print_info "Выбор префикса отменен."
|
||||
exit 0
|
||||
elif [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then
|
||||
export WINEPREFIX="${prefixes[$choice-1]}"
|
||||
else
|
||||
fatal "Неверный выбор."
|
||||
@ -940,6 +1063,7 @@ init_wineprefix () {
|
||||
fi
|
||||
|
||||
export DRIVE_C="$WINEPREFIX/drive_c"
|
||||
export XUSER_PATH="$DRIVE_C/users/xuser"
|
||||
|
||||
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
|
||||
create_new_dir "$WINEPREFIX"
|
||||
@ -969,10 +1093,10 @@ init_wineprefix () {
|
||||
print_info "Windows версия изменена на win${WH_WINDOWS_VER}"
|
||||
fi
|
||||
|
||||
if [[ -d "$DRIVE_C/users/xuser" ]] && [[ ! -d "$DRIVE_C/users/$USER" ]]
|
||||
then try_force_link_dir "$DRIVE_C/users/xuser" "$DRIVE_C/users/$USER"
|
||||
elif [[ ! -d "$DRIVE_C/users/xuser" ]] && [[ -d "$DRIVE_C/users/$USER" ]]
|
||||
then try_force_link_dir "$DRIVE_C/users/$USER" "$DRIVE_C/users/xuser"
|
||||
if [[ -d "$XUSER_PATH" ]] && [[ ! -d "$DRIVE_C/users/$USER" ]]
|
||||
then try_force_link_dir "$XUSER_PATH" "$DRIVE_C/users/$USER"
|
||||
elif [[ ! -d "$XUSER_PATH" ]] && [[ -d "$DRIVE_C/users/$USER" ]]
|
||||
then try_force_link_dir "$DRIVE_C/users/$USER" "$XUSER_PATH"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
|
||||
@ -981,18 +1105,23 @@ init_wineprefix () {
|
||||
wait_wineserver
|
||||
fi
|
||||
|
||||
if [[ -L "$XUSER_PATH/Desktop" ]]
|
||||
then rm -f "$XUSER_PATH/Desktop"
|
||||
fi
|
||||
create_new_dir "$XUSER_PATH/Desktop"
|
||||
|
||||
if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]]
|
||||
then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:"
|
||||
fi
|
||||
|
||||
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
|
||||
if [[ $WH_USE_MESA_GL_OVERRIDE == "1" ]] \
|
||||
&& ! lspci | grep -i nvidia > /dev/null ; then
|
||||
export MESA_GL_VERSION_OVERRIDE="3.3"
|
||||
export MESA_GLSL_VERSION_OVERRIDE="330"
|
||||
fi
|
||||
|
||||
# хак для XRDP сессии
|
||||
if [[ $DISPLAY == *:10.0 ]] ; then
|
||||
if ! lspci | grep -i nvidia > /dev/null ; then
|
||||
export MESA_GL_VERSION_OVERRIDE="3.3"
|
||||
export MESA_GLSL_VERSION_OVERRIDE="330"
|
||||
fi
|
||||
print_warning "Обнаружена сессия XRDP, настраиваем реестр:"
|
||||
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user"
|
||||
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user"
|
||||
@ -1094,7 +1223,7 @@ init_wineprefix () {
|
||||
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
|
||||
for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \
|
||||
STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \
|
||||
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER
|
||||
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
|
||||
do
|
||||
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
|
||||
done
|
||||
@ -1181,25 +1310,6 @@ init_database () {
|
||||
}
|
||||
|
||||
prepair_wine () {
|
||||
if [[ -n "$INSTALL_SCRIPT_NAME" ]] \
|
||||
&& [[ "$FORCE_INSTALL" != "1" ]]
|
||||
then
|
||||
print_warning "Лицензионные соглашения использования сторонних компонентов:
|
||||
|
||||
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
|
||||
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
|
||||
убедиться в законности использования этих компонентов в вашей юрисдикции.
|
||||
|
||||
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
|
||||
подготовленного префикса.
|
||||
|
||||
Продолжая использовать данное ПО вы подтверждаете, что ознакомились с данным отказом от
|
||||
ответственности и принимаете все риски, связанные с его использованием.
|
||||
"
|
||||
print_info "Для продолжения нажмите любую клавишу на клавиатуре."
|
||||
read -s -n 1
|
||||
fi
|
||||
|
||||
var_winedlloverride_update "winemenubuilder.exe=d"
|
||||
|
||||
if [[ -n "$INSTALL_SCRIPT_NAME" ]]
|
||||
@ -1220,6 +1330,11 @@ prepair_wine () {
|
||||
}
|
||||
|
||||
wine_run () {
|
||||
if [[ $WINEARCH == "win32" ]] \
|
||||
&& file "$WIN_FILE_EXEC" | grep -q "x86-64"
|
||||
then fatal "Нельзя запустить 64-битное приложение в 32-битном префиксе!"
|
||||
fi
|
||||
|
||||
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
|
||||
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
|
||||
|
||||
@ -1276,21 +1391,35 @@ run_autoinstall () {
|
||||
export INSTALL_SCRIPT INSTALL_MODE
|
||||
|
||||
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
||||
print_info "Список программ с возможностью автоматической установки:"
|
||||
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
|
||||
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
||||
echo -e "\n$list - $AI_PROGNAME"
|
||||
echo "$AI_INFO"
|
||||
done
|
||||
|
||||
list_install_scripts() {
|
||||
local dir="$1"
|
||||
local title="$2"
|
||||
[[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return
|
||||
|
||||
print_info "$title"
|
||||
|
||||
awk '
|
||||
FNR==1 {
|
||||
if (progname) {
|
||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||
}
|
||||
progname=""; info=""; filename=FILENAME
|
||||
sub(".*/", "", filename)
|
||||
}
|
||||
/info_ru:/ { sub(/.*info_ru: /, ""); info=$0 }
|
||||
/PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 }
|
||||
END {
|
||||
if (progname) {
|
||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||
}
|
||||
}
|
||||
' "$dir"/*
|
||||
}
|
||||
|
||||
list_install_scripts "$WH_AUTOINSTALL_DIR" "Список программ с возможностью автоматической установки:"
|
||||
echo
|
||||
print_info "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
for list in $(ls "$WH_MANUALINSTALL_DIR") ; do
|
||||
AI_INFO="$(grep "info_ru:" "$WH_MANUALINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_MANUALINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
||||
echo -e "\n$list - $AI_PROGNAME"
|
||||
echo "$AI_INFO"
|
||||
done
|
||||
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
|
||||
source "$INSTALL_SCRIPT" "$@"
|
||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||
@ -1303,7 +1432,7 @@ run_autoinstall () {
|
||||
remove_prefix() {
|
||||
export WINEPREFIX="$1"
|
||||
if [[ -z "$WINEPREFIX" ]]
|
||||
then print_error "Не указано имя префикса для удаления!"
|
||||
then print_warning "Не указано имя префикса для удаления. Выберите из списка..."
|
||||
fi
|
||||
check_prefix_var
|
||||
if [[ ! -d "$WINEPREFIX" ]]
|
||||
@ -1318,11 +1447,8 @@ remove_prefix() {
|
||||
echo " - Удалению всех программ, установленных в этом префиксе"
|
||||
echo " - Удалению связанных ярлыков из меню и рабочего стола"
|
||||
echo "======================================================"
|
||||
read -p "Продолжить удаление? (y/N): " answer
|
||||
|
||||
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
|
||||
print_info "Удаление префикса отменено."
|
||||
return 0
|
||||
if ! print_confirmation "Продолжить удаление?"
|
||||
then exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -1355,60 +1481,54 @@ remove_winehelper () {
|
||||
echo " - Все приложения/программы, установленные через WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
|
||||
echo "======================================================"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
||||
# Второе подтверждение
|
||||
if print_confirmation "Продолжить?" ; then
|
||||
echo "----------------------------------------------"
|
||||
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
|
||||
echo "----------------------------------------------"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
if ! print_confirmation "Продолжить?"
|
||||
then exit 1
|
||||
fi
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
|
||||
# Удаление файлов меню
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
try_remove_file "$WH_MENU_CATEGORY"
|
||||
try_remove_file "$WH_MENU_CONFIG"
|
||||
# Удаление файлов меню
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
try_remove_file "$WH_MENU_CATEGORY"
|
||||
try_remove_file "$WH_MENU_CONFIG"
|
||||
|
||||
# Удаление desktop-файлов
|
||||
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
|
||||
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
|
||||
try_remove_file "$desktop_file"
|
||||
fi
|
||||
done
|
||||
# Удаление desktop-файлов
|
||||
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
|
||||
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
|
||||
try_remove_file "$desktop_file"
|
||||
fi
|
||||
done
|
||||
|
||||
# Обновление кэша desktop-файлов
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
# Обновление кэша desktop-файлов
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
|
||||
# Удаление символических ссылок
|
||||
try_remove_file "$HOME/.winehelper"
|
||||
# Удаление символических ссылок
|
||||
try_remove_file "$HOME/.winehelper"
|
||||
|
||||
print_info "WineHelper и все связанные данные успешно удалены."
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
fi
|
||||
print_info "WineHelper и все связанные данные успешно удалены."
|
||||
}
|
||||
|
||||
create_base_pfx () {
|
||||
export WINEPREFIX="$1"
|
||||
check_prefix_var
|
||||
|
||||
local prefix_dir="$WINEPREFIX"
|
||||
local drive_c_dir="$prefix_dir/drive_c"
|
||||
local users_dir="$drive_c_dir/users"
|
||||
local archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz"
|
||||
local prefix_dir drive_c_dir users_dir archive_path
|
||||
prefix_dir="$WINEPREFIX"
|
||||
drive_c_dir="$prefix_dir/drive_c"
|
||||
users_dir="$drive_c_dir/users"
|
||||
archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz"
|
||||
|
||||
try_copy_dir "$prefix_dir" "${prefix_dir}_bak"
|
||||
create_new_dir "$WH_TMP_DIR/pfx/"
|
||||
|
||||
for wtlog in workaround isolate internal winxp win2 win7 win10
|
||||
do sed -i "/$wtlog/d" "$prefix_dir/winetricks.log"
|
||||
@ -1452,12 +1572,13 @@ backup_prefix() {
|
||||
export WINEPREFIX="$1"
|
||||
check_prefix_var
|
||||
|
||||
local backup_base_dir="$(xdg-user-dir DESKTOP)"
|
||||
local backup_archive_name="backup_${PREFIX_NAME}_$(date +%Y.%m.%d).whpack"
|
||||
local backup_dest_path="$backup_base_dir/$backup_archive_name"
|
||||
local temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%Y.%m.%d)"
|
||||
local temp_prefix_dir="$temp_backup_dir/prefixes/$PREFIX_NAME"
|
||||
local temp_users_dir="$temp_prefix_dir/drive_c/users"
|
||||
local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir
|
||||
backup_base_dir="$(xdg-user-dir DESKTOP)"
|
||||
backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack"
|
||||
backup_dest_path="$backup_base_dir/$backup_archive_name"
|
||||
temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S)"
|
||||
temp_prefix_dir="$temp_backup_dir/prefixes/$PREFIX_NAME"
|
||||
temp_users_dir="$temp_prefix_dir/drive_c/users"
|
||||
|
||||
print_info "Начало резервного копирования префикса: $PREFIX_NAME"
|
||||
create_new_dir "$temp_backup_dir"
|
||||
@ -1501,9 +1622,11 @@ backup_prefix() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# Сохраняем метаданные внутри временной директории
|
||||
echo "$PREFIX_NAME" > "$temp_backup_dir/prefix_name.whmeta"
|
||||
|
||||
print_info "Создание squashfs архива..."
|
||||
if mksquashfs "$temp_backup_dir" "$backup_dest_path" -comp zstd ; then
|
||||
echo -e "\n# PREFIX_NAME=$PREFIX_NAME" >> "$backup_dest_path"
|
||||
print_ok "Архив префикса $PREFIX_NAME успешно создан по пути:\n$backup_dest_path"
|
||||
else
|
||||
print_error "Не удалось создать архив префикса $PREFIX_NAME."
|
||||
@ -1535,15 +1658,7 @@ restore_prefix() {
|
||||
|
||||
print_info "Восстановление из резервной копии: $backup_archive_path"
|
||||
|
||||
prefix_name="$(tail -n1 "$backup_archive_path" | sed -e 's/.*PREFIX_NAME=//')"
|
||||
|
||||
if [[ -d "$WH_PREFIXES_DIR/$prefix_name" ]] ; then
|
||||
fatal "Префикс $prefix_name уже существует!
|
||||
Удалите его, если действительно желаете восстановить префикс заново.
|
||||
Команда для удаления: $SCRIPT_NAME remove-prefix $prefix_name"
|
||||
fi
|
||||
|
||||
temp_extract_dir="$WH_TMP_DIR/restore_$(basename "$backup_archive_path" .whpack)"
|
||||
temp_extract_dir="$WH_TMP_DIR/restore_$(basename "$backup_archive_path" .whpack)_$$"
|
||||
create_new_dir "$temp_extract_dir"
|
||||
|
||||
print_info "Распаковка архива..."
|
||||
@ -1554,9 +1669,32 @@ restore_prefix() {
|
||||
fatal "Не удалось распаковать архив."
|
||||
fi
|
||||
|
||||
if [[ -d "$temp_extract_dir/prefixes" ]] ; then
|
||||
local prefix_name
|
||||
prefix_name="$(ls -1 "$temp_extract_dir/prefixes")"
|
||||
# Определяем имя префикса
|
||||
if [[ -f "$temp_extract_dir/prefix_name.whmeta" ]]; then
|
||||
prefix_name="$(cat "$temp_extract_dir/prefix_name.whmeta")"
|
||||
try_remove_file "$temp_extract_dir/prefix_name.whmeta"
|
||||
elif grep -q "PREFIX_NAME=" "$backup_archive_path" ; then
|
||||
# Обратная совместимость со старыми бэкапами (с приписанной строкой)
|
||||
prefix_name="$(tail -n1 "$backup_archive_path" | sed -e 's/.*PREFIX_NAME=//')"
|
||||
elif [[ -d "$temp_extract_dir/prefixes" ]] && [[ $(find "$temp_extract_dir/prefixes" -mindepth 1 -maxdepth 1 -type d | wc -l) -eq 1 ]]; then
|
||||
# Обратная совместимость со старыми бэкапами (по имени каталога)
|
||||
prefix_name="$(basename "$(find "$temp_extract_dir/prefixes" -mindepth 1 -maxdepth 1 -type d)")"
|
||||
else
|
||||
try_remove_dir "$temp_extract_dir"
|
||||
fatal "Не удалось определить имя префикса в архиве (метаданные не найдены)."
|
||||
fi
|
||||
|
||||
if [[ -z "$prefix_name" ]]; then
|
||||
try_remove_dir "$temp_extract_dir"
|
||||
fatal "Не удалось определить имя префикса в архиве."
|
||||
fi
|
||||
|
||||
if [[ -d "$WH_PREFIXES_DIR/$prefix_name" ]] ; then
|
||||
try_remove_dir "$temp_extract_dir"
|
||||
fatal "Префикс $prefix_name уже существует!\n Удалите его, если действительно желаете восстановить префикс заново.\n Команда для удаления: $SCRIPT_NAME remove-prefix $prefix_name"
|
||||
fi
|
||||
|
||||
if [[ -d "$temp_extract_dir/prefixes/$prefix_name" ]] ; then
|
||||
local prefix_dir="$temp_extract_dir/prefixes/$prefix_name"
|
||||
|
||||
print_info "Восстановление префикса: $prefix_name"
|
||||
@ -1578,10 +1716,7 @@ restore_prefix() {
|
||||
|
||||
print_info "Восстановление ярлыков для префикса $prefix_name..."
|
||||
export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления
|
||||
while IFS='=' read -r line; do
|
||||
local name_desktop=$(echo "$line" | cut -d'=' -f1)
|
||||
local exe_path=$(echo "$line" | cut -d'=' -f2)
|
||||
local icon_name=$(echo "$line" | cut -d'=' -f3)
|
||||
while IFS='=' read -r name_desktop exe_path icon_name ; do
|
||||
|
||||
local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}"
|
||||
local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name"
|
||||
@ -1598,7 +1733,7 @@ restore_prefix() {
|
||||
fi
|
||||
else
|
||||
try_remove_dir "$temp_extract_dir"
|
||||
fatal "Директория prefixes не найдена в архиве."
|
||||
fatal "Директория префикса '$prefix_name' не найдена в архиве."
|
||||
fi
|
||||
|
||||
try_remove_dir "$temp_extract_dir"
|
||||
@ -1615,15 +1750,16 @@ wh_info () {
|
||||
install [скрипт] --clear-pfx не использовать готовый префикс для установки ПО
|
||||
|
||||
installed список установленных программ
|
||||
run [программа.exe] запуск программы (отладка)
|
||||
run [программа] запуск программы (отладка)
|
||||
remove-all удалить WineHelper и все связанные данные
|
||||
remove-prefix [имя_префикса] удалить префикс и все связанные данные
|
||||
backup-prefix [имя_префикса] создать резерную копию префикса
|
||||
backup-prefix [имя_префикса] создать резервную копию префикса
|
||||
restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии
|
||||
|
||||
Параметры:
|
||||
--help показать эту справку и выйти
|
||||
--version показать информацию о пакете и его версии
|
||||
--changelog показать историю изменений
|
||||
--debug [команда] включить режим логирования работы WINE
|
||||
|
||||
"
|
||||
@ -1648,8 +1784,9 @@ else
|
||||
fi
|
||||
|
||||
case "$arg1" in
|
||||
--version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
|
||||
--help) wh_info ; exit 0 ;;
|
||||
--version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
|
||||
--help|help) wh_info ; exit 0 ;;
|
||||
--changelog|changelog) less "$CHANGELOG_FILE" ; exit 0 ;;
|
||||
killall) kill_wine ;;
|
||||
winecfg) prepair_wine ; wine_run "winecfg" ;;
|
||||
winereg|regedit) prepair_wine ; wine_run "regedit" ;;
|
||||
|
9
winehelper.desktop
Normal file
9
winehelper.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=WineHelper
|
||||
Exec=winehelper gui %F
|
||||
Comment=Launching the graphics interface for Winehelper
|
||||
Comment[ru]=Запуск графического интерфейса WineHelper
|
||||
Type=Application
|
||||
Categories=WineHelper;Utility;Emulator;
|
||||
StartupNotify=true
|
||||
Icon=winehelper
|
1530
winehelper_gui.py
Normal file
1530
winehelper_gui.py
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user