cleaning and translations

This commit is contained in:
Mikhail Tergoev 2025-05-29 00:20:39 +03:00
parent ed8d28c81f
commit 8f6300c6b8
2 changed files with 34 additions and 77 deletions

View File

@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\ apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\ libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\ libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
libvulkan1,libcups} winetricks ca-certificates cups-pdf || fatal "Не удалось установить зависимости." libvulkan1,libcups} || fatal "Не удалось установить зависимости."
apt-get install {i586-,}wine apt-get install {i586-,}wine

View File

@ -106,19 +106,15 @@ fi
##### ROOT ##### ##### ROOT #####
su_run () { su_run () {
print_info "Для продолжения установки зависимостей введите root пароль..." print_info "Для продолжения установки введите root пароль..."
su - -c "$@" su - -c "$@"
} }
##### CHECK DEPENDENCIES ##### ##### CHECK DEPENDENCIES #####
# yad zenity cups-pdf 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,libOSMesa,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\ libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} \ libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
winetricks ca-certificates cups-pdf 1>/dev/null then
then : # Зависимости установлены. Пропускаем...
else
if su_run "$DATA_PATH/dependencies.sh" if su_run "$DATA_PATH/dependencies.sh"
then print_info "Зависимости успешно установлены. Продолжаем работу $SCRIPT_NAME" then print_info "Зависимости успешно установлены. Продолжаем работу $SCRIPT_NAME"
else fatal "Не удалось установить зависимости. Работа $SCRIPT_NAME прервана." else fatal "Не удалось установить зависимости. Работа $SCRIPT_NAME прервана."
@ -153,9 +149,9 @@ try_remove_dir () {
} }
try_copy_file () { try_copy_file () {
if [[ ! -f "$1" ]] ; then print_info "file $1 not found for copy" && return 1 if [[ ! -f "$1" ]] ; then print_info "файла $1 не существует для копирования" && return 1
elif [[ -z "$2" ]] ; then print_error "no way to copy file $1" && return 1 elif [[ -z "$2" ]] ; then fatal "нет пути для копирования файла $1"
elif [[ -L "$2" ]] ; then print_warning "$2 is a file with a symbolic link" elif [[ -L "$2" ]] ; then
try_remove_file "$2" try_remove_file "$2"
cp -f "$1" "$2" && return 0 || return 1 cp -f "$1" "$2" && return 0 || return 1
else else
@ -165,24 +161,24 @@ try_copy_file () {
} }
try_copy_dir () { try_copy_dir () {
if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for copy" if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для копирования"
elif [[ -z "$2" ]] ; then print_error "no way to copy directory $1" elif [[ -z "$2" ]] ; then fatal "нет пути для копирования каталога $1"
else else
cp -fr "$1" "$2" cp -fr "$1" "$2"
[[ "$?" != 0 ]] && print_error "failed to copy directory $1 to $2" || return 0 [[ "$?" != 0 ]] && print_error "не удалось скопировать каталог $1 в $2" || return 0
fi fi
return 1 return 1
} }
try_force_link_file () { try_force_link_file () {
if [[ ! -f "$1" ]] ; then if [[ ! -f "$1" ]] ; then
print_warning "file not found for link: $1" print_warning "нет файла для создания символьной ссылки: $1"
if [[ -f "$2" ]] ; then if [[ -f "$2" ]] ; then
try_remove_file "$2" try_remove_file "$2"
print_warning "removed old link: $2" print_warning "удаляем символьную ссылку: $2"
fi fi
return 1 return 1
elif [[ -z "$2" ]] ; then print_error "no way to link file $1" && return 1 elif [[ -z "$2" ]] ; then fatal "нет пути для создания символьной ссылки на файл $1"
else else
try_remove_file "$2" try_remove_file "$2"
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
@ -191,25 +187,12 @@ try_force_link_file () {
return 1 return 1
} }
check_symlink () {
local CHK_SYMLINK_FILE="$(file "$1")"
if [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}')" ]] ; then
return 0
elif [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}')" ]] ; then
print_error "remove broken symlink: $CHK_SYMLINK_FILE"
rm -fr "$CHK_SYMLINK_FILE"
return 1
else
return 1
fi
}
try_force_link_dir () { try_force_link_dir () {
if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for link" if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для создания символьной сссылки"
elif [[ -z "$2" ]] ; then print_error "no way to link directory $1" elif [[ -z "$2" ]] ; then fatal "не указан путь для создания символьной ссылки на каталог $1"
else else
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
[[ "$?" != 0 ]] && print_error "failed to link directory $1 to $2" || return 0 [[ "$?" != 0 ]] && print_error "не удалось сделать символьную ссылку на каталог $1 по пути $2" || return 0
fi fi
return 1 return 1
} }
@ -309,7 +292,6 @@ try_copy_wine_dll_to_pfx_32() {
fi fi
} }
##### OVERRIDE VARIABLES FUNCTIONS #####
var_winedlloverride_update () { var_winedlloverride_update () {
if [[ -n "${WINEDLLOVERRIDES}" ]] if [[ -n "${WINEDLLOVERRIDES}" ]]
then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}" then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
@ -355,7 +337,6 @@ var_ld_library_path_update () {
return 0 return 0
} }
##### CREATE DESKTOP FILE #####
create_desktop () { create_desktop () {
local name_desktop="$1" local name_desktop="$1"
local exe_file="$2" local exe_file="$2"
@ -382,11 +363,9 @@ create_desktop () {
fi fi
fi fi
create_new_dir "$WH_MENU_DIR"
[[ ! -f "$icon_file" ]] && icon_file=wine
# создаем .desktop файл # создаем .desktop файл
create_new_dir "$WH_MENU_DIR"
[[ ! -f "$icon_file" ]] && icon_file=wine
{ {
echo "[Desktop Entry]" echo "[Desktop Entry]"
echo "Name=$name_desktop" echo "Name=$name_desktop"
@ -401,7 +380,6 @@ create_desktop () {
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/" cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/"
# добавляем информацию о приложении в "$WINEPREFIX/desktop.list" # добавляем информацию о приложении в "$WINEPREFIX/desktop.list"
if [[ -f "$WINEPREFIX/desktop.list" ]] \ if [[ -f "$WINEPREFIX/desktop.list" ]] \
&& grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list" && grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
@ -470,7 +448,6 @@ EOF
fi fi
} }
##### REMOVE DESKTOP FILE #####
remove_desktop () { remove_desktop () {
if [[ -n "$1" ]] ; then if [[ -n "$1" ]] ; then
try_remove_file "$USER_WORK_PATH/$1.desktop" try_remove_file "$USER_WORK_PATH/$1.desktop"
@ -491,7 +468,6 @@ remove_desktop () {
} }
##### INSTALLED PROGRAMS #####
check_installed_programs () { check_installed_programs () {
for desktop_file in "$USER_WORK_PATH"/*.desktop ; do for desktop_file in "$USER_WORK_PATH"/*.desktop ; do
if [[ ! -f "$desktop_file" ]] ; then if [[ ! -f "$desktop_file" ]] ; then
@ -530,7 +506,6 @@ run_installed_programs () {
fi fi
} }
##### USED WINED3D LIBRARY #####
init_wined3d () { init_wined3d () {
if [[ "$USE_RENDERER" != "proton" ]] ; then if [[ "$USE_RENDERER" != "proton" ]] ; then
WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core" WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
@ -548,7 +523,6 @@ init_wined3d () {
fi fi
} }
##### CHECK VULKAN LIBRARY #####
init_dxvk () { init_dxvk () {
check_variables USE_DXVK_VER "$1" check_variables USE_DXVK_VER "$1"
@ -616,27 +590,19 @@ init_vkd3d () {
done done
} }
##### DOWNLOAD WINE #####
download_wine () {
if [[ ! -d "$WH_DIST_DIR/$WH_WINE_USE" ]] ; 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 ; then
if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
try_remove_file "$WINE_PACKAGE"
fi
fi
fi
}
##### INITIAL WINE SETTINGS #####
init_wine_ver () { init_wine_ver () {
if [[ "$WH_WINE_USE" != system* ]] ; then if [[ "$WH_WINE_USE" != system* ]] ; then
export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE" export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE"
if [[ ! -d "$WINEDIR" ]] ; then if [[ ! -d "$WINEDIR" ]] ; then
download_wine 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 ; then
if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
try_remove_file "$WINE_PACKAGE"
fi
fi
fi fi
export WINE="${WINEDIR}/bin/wine" export WINE="${WINEDIR}/bin/wine"
@ -731,9 +697,8 @@ init_wine_ver () {
print_info "Используется версия wine: $WH_WINE_USE" print_info "Используется версия wine: $WH_WINE_USE"
} }
##### INITIAL WINEPREFIX SETTINGS #####
get_and_set_reg_file () { get_and_set_reg_file () {
convert_dec_and_hex () { convert_dec_and_hex () {
local type=$1 local type=$1
local num=$2 local num=$2
@ -841,10 +806,6 @@ get_and_set_reg_file () {
} }
wait_wineserver () { wait_wineserver () {
# while [[ -n "$(ls -l /proc/*/exe 2>/dev/null | grep -ie portproton | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ]] ; do
# sleep 1
# done
"$WINESERVER" -w "$WINESERVER" -w
} }
@ -899,7 +860,7 @@ check_prefix_var () {
print_info "Выбран префикс: $WINEPREFIX" print_info "Выбран префикс: $WINEPREFIX"
fi fi
if echo "$WINEPREFIX" | grep -v '/' ; then if echo "$WINEPREFIX" | grep -qv '/' ; then
export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX" export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX"
fi fi
@ -925,8 +886,8 @@ init_wineprefix () {
fi fi
print_info "Обновление префикса $WINEPREFIX." print_info "Обновление префикса $WINEPREFIX."
if [[ -d "$WINEPREFIX/drive_c/windows" ]] if [[ -d "$WINEPREFIX/drive_c/windows" ]]
then env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" wineboot -u then "$WINELOADER" wineboot -u
else env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" wineboot -i else "$WINELOADER" wineboot -i
fi fi
touch "$WINEPREFIX/.firstboot" touch "$WINEPREFIX/.firstboot"
wait_wineserver wait_wineserver
@ -939,7 +900,7 @@ init_wineprefix () {
&& [[ "$WINEARCH" != "win32" ]] && [[ "$WINEARCH" != "win32" ]]
then export WH_WINDOWS_VER="xp64" then export WH_WINDOWS_VER="xp64"
fi fi
env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" winecfg -v $(echo "win${WH_WINDOWS_VER}" | sed 's/.*/\L&/') "$WINELOADER" winecfg -v $(echo "win${WH_WINDOWS_VER}" | sed 's/.*/\L&/')
wait_wineserver wait_wineserver
print_info "Windows версия изменена на win${WH_WINDOWS_VER}" print_info "Windows версия изменена на win${WH_WINDOWS_VER}"
fi fi
@ -1035,7 +996,6 @@ init_wineprefix () {
done done
} }
##### KILL AUTOSTART AFTER INSTALLING #####
kill_autostart () { kill_autostart () {
[[ -z "${1}" ]] && fatal "Нет аргумента для функции kill_autostart." [[ -z "${1}" ]] && fatal "Нет аргумента для функции kill_autostart."
[[ -z "${2}" ]] && SWAIT=3 || SWAIT="${2}" [[ -z "${2}" ]] && SWAIT=3 || SWAIT="${2}"
@ -1077,7 +1037,7 @@ use_winetricks () {
print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}" print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}"
print_info "Запускаем WINETRICKS..." print_info "Запускаем WINETRICKS..."
export WINETRICKS_DOWNLOADER="curl" export WINETRICKS_DOWNLOADER="curl"
env WINEDLLOVERRIDES="winegstreamer=" "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL} "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL}
wait_wineserver wait_wineserver
fi fi
fi fi
@ -1112,8 +1072,7 @@ init_database () {
print_info "Используется файл настроек: $WHDB_FILE" print_info "Используется файл настроек: $WHDB_FILE"
. "$WHDB_FILE" . "$WHDB_FILE"
elif check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then elif check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
print_info "Найдены настройки из предыдущего использования префикса." print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX"
echo "$WINEPREFIX/last.conf"
cat "$WINEPREFIX/last.conf" cat "$WINEPREFIX/last.conf"
. "$WINEPREFIX/last.conf" . "$WINEPREFIX/last.conf"
else else
@ -1234,7 +1193,6 @@ run_autoinstall () {
echo echo
} }
##### REMOVE PREFIX #####
remove_prefix() { remove_prefix() {
local prefix_name="$1" local prefix_name="$1"
local prefix_path="$WH_PREFIXES_DIR/$prefix_name" local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
@ -1286,7 +1244,6 @@ remove_prefix() {
fi fi
} }
##### REMOVE WINEHELPER #####
remove_winehelper () { remove_winehelper () {
local answer local answer
if [[ $1 =~ --force|-y ]] ; then if [[ $1 =~ --force|-y ]] ; then