From 0fa5790b4287ec46977313724524f2bd63406ab7 Mon Sep 17 00:00:00 2001 From: castro-fidel Date: Sun, 3 Apr 2022 21:07:07 +0300 Subject: [PATCH] Scripts version 2096 --- data_from_portwine/changelog_eng | 6 + data_from_portwine/changelog_rus | 6 + data_from_portwine/scripts/functions_helper | 5 +- data_from_portwine/scripts/lang | 1 + data_from_portwine/scripts/runlib | 15 ++- data_from_portwine/scripts/start.sh | 129 ++++++++++++-------- data_from_portwine/scripts/var | 4 +- data_from_portwine/scripts/zen_yad_gui | 4 + portwine_install_script/PortProton-97 | 11 +- portwine_install_script/PortProton_1.0 | 11 +- 10 files changed, 122 insertions(+), 70 deletions(-) diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 2510cc2f..0e40bbb4 100644 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,12 @@ You can help us in the development of the project on the website: https://boosty ----------------------------------------- Changelog: +###Scripts version 2096### +* added check for LANG variable for PortProton to work on STEAM-DECK +* added new interface for WINETRICKS +* updated "libs_v25" (updated steam runtime sniper, added support for "MANGOHUD" and "vkBasalt" for systems: "RED OS" and "OpenSUSE") +* added variable PW_FIX_VIDEO_IN_GAME to EDIT_DB (required for video playback in some games so that it is not distorted, colored pink) + ###Scripts version 2095### * updated "libs_v24" (hotfix) diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 35d4da76..7562028b 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,12 @@ ----------------------------------------- История изменений: +###Scripts version 2096### +* добавлена проверка на переменную LANG для работы PortProton на STEAM-DECK +* добавлен новый интерфейс для WINETRICKS +* обновлен "libs_v25" (обновлен steam runtime sniper, добавлена поддержка "MANGOHUD" и "vkBasalt" для систем: "RED OS" и "OpenSUSE") +* в EDIT_DB добавлена переменная PW_FIX_VIDEO_IN_GAME (требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено, окрашено в розовый цвет) + ###Scripts version 2095### * обновлен "libs_v24" (hotfix) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index cc5643f6..28251d1f 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -356,6 +356,9 @@ pw_init_runtime () { if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \ || [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \ || [[ ! -z "`cat /etc/*-release | grep -i rosa`" ]] \ + || [[ ! -z "`cat /etc/*-release | grep -i altlinux`" ]] \ + || [[ ! -z "`cat /etc/*-release | grep -i astra`" ]] \ + || [[ ! -z "`cat /etc/*-release | grep -i redos`" ]] \ || [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \ || [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then @@ -365,7 +368,7 @@ pw_init_runtime () { mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64" fi if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then - mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib" + ln -s "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib" fi fi diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index 57837609..b664ca54 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -65,6 +65,7 @@ then export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)' export PW_USE_DXR10_INFO='Включить поддержку Ray Tracing v.1.0' export PW_USE_DXR11_INFO='Включить поддержку Ray Tracing v.1.1 (бета)' + export PW_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)' export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK' export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA' export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL' diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index c09a9f5b..472e7e77 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -10,7 +10,7 @@ echo ' █────████─█─█───█───█─█──███─█──█─███ ' -if [ $(id -u) = 0 ] ; then +if [[ $(id -u) = 0 ]] ; then echo "Do not run this script as root!" zenity --error --text "Do not run this script as root!" exit 1 @@ -124,6 +124,11 @@ start_portwine () { then export WINE_ALLOW_XIM="1" else export WINE_ALLOW_XIM="0" fi + if [[ ! -z "${PW_FIX_VIDEO_IN_GAME}" && "${PW_FIX_VIDEO_IN_GAME}" != 0 ]] + then export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="1" + else export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="0" + fi + [[ ! -z "${PW_MANGOHUD_USER_CONF}" && "${PW_MANGOHUD_USER_CONF}" != 0 ]] && unset MANGOHUD_CONFIG if [[ ! -z "${PW_USE_DXR11}" && "${PW_USE_DXR11}" != 0 ]] then var_vkd3d_config_update dxr11 @@ -398,7 +403,7 @@ start_portwine () { } pw_run () { - if [ ! -z "$portwine_exe" ] ; then + if [[ ! -z "$portwine_exe" ]] ; then cd "${PATH_TO_GAME}" else cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c" @@ -407,7 +412,7 @@ pw_run () { PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" \ "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" - if [ "${PW_LOG}" == 1 ] ; then + if [[ "${PW_LOG}" == 1 ]] ; then echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}" @@ -436,6 +441,8 @@ if [[ $(id -u) -eq 0 ]] ; then zenity_error "Do not run the script from the superuser!" exit 1 fi +[[ -z "${LANG}" ]] && export LANG=C + create_new_dir "${HOME}/.local/share/applications" if [[ ! -z "${PW_SILENT_RESTART}" ]] && [[ "${PW_SILENT_RESTART}" = 1 ]] ; then export PW_GUI_DISABLED_CS=1 @@ -538,7 +545,7 @@ export WINETRICKS_DOWNLOADER="curl" export USER_CONF="${PORT_WINE_PATH}/data/user.conf" check_user_conf -if [ -z "${INSTALLING_PORT}" ] ; then +if [[ -z "${INSTALLING_PORT}" ]] ; then . "${USER_CONF}" pw_port_update pw_download_libs diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index bef0f085..a2f8bafa 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -228,57 +228,81 @@ pw_winereg () { pw_run regedit } -# pw_prefix_manager () { -# update_winetricks -# start_portwine -# [[ ! -f "${PORT_WINE_TMP_PATH}/dll_list" ]] && "${PORT_WINE_TMP_PATH}/winetricks" dlls list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/dll_list" -# gui_prefix_manager () { -# unset SET_FROM_PFX_MANAGER_TMP SET_FROM_PFX_MANAGER -# old_IFS=$IFS -# IFS=$'\n' -# try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" -# #for PW_BOOL_IN_DLL_LIST in `cat "${PORT_WINE_TMP_PATH}/dll_list"` ; do -# while read PW_BOOL_IN_DLL_LIST ; do -# if [[ -z `echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'dont_use|dxvk|vkd3d|galliumnine|faudio1'` ]] ; then -# if grep "^`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then -# echo -e "true\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" -# else -# echo -e "false\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" -# fi -# fi -# done < "${PORT_WINE_TMP_PATH}/dll_list" -# pw_stop_progress_bar +pw_prefix_manager () { + update_winetricks + start_portwine + [[ ! -f "${PORT_WINE_TMP_PATH}/dll_list" ]] && "${PORT_WINE_TMP_PATH}/winetricks" dlls list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/dll_list" + [[ ! -f "${PORT_WINE_TMP_PATH}/fonts_list" ]] && "${PORT_WINE_TMP_PATH}/winetricks" fonts list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/fonts_list" + # [[ ! -f "${PORT_WINE_TMP_PATH}/settings_list" ]] && "${PORT_WINE_TMP_PATH}/winetricks" settings list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/settings_list" -# SET_FROM_PFX_MANAGER_TMP=`"${pw_yad_new}" --list --checklist --column=set --column=dll --column=info \ -# --borders=5 --width=650 --height=500 --center < "${PORT_WINE_TMP_PATH}/dll_list_tmp"` -# YAD_STATUS="$?" -# if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then -# stop_portwine -# exit 0 -# fi + gui_prefix_manager () { + pw_start_progress_bar_block "Starting prefix manager..." + unset SET_FROM_PFX_MANAGER_TMP SET_FROM_PFX_MANAGER + old_IFS=$IFS + IFS=$'\n' + try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" + while read PW_BOOL_IN_DLL_LIST ; do + if [[ -z `echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'dont_use|dxvk|vkd3d|galliumnine|faudio1'` ]] ; then + if grep "^`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then + echo -e "true\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" + else + echo -e "false\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" + fi + fi + done < "${PORT_WINE_TMP_PATH}/dll_list" + try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" + while read PW_BOOL_IN_FONTS_LIST ; do + if [[ -z `echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'dont_use'` ]] ; then + if grep "^`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then + echo -e "true\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" + else + echo -e "false\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" + fi + fi + done < "${PORT_WINE_TMP_PATH}/fonts_list" + pw_stop_progress_bar -# for STPFXMNG in ${SET_FROM_PFX_MANAGER_TMP} ; do -# grep `echo ${STPFXMNG} | awk -F'|' '{print $2}'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" -# if [ "$?" == "1" ] ; then -# [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="`echo ${STPFXMNG} | awk -F'|' '{print $2}'` " -# fi -# done -# IFS=${old_IFS} - -# if [[ -n ${SET_FROM_PFX_MANAGER_TMP} ]] ; then -# print_var SET_FROM_PFX_MANAGER -# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" -# pw_init_runtime -# ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} -# gui_prefix_manager -# else -# echo "nothing to do" -# stop_portwine -# exit 0 -# fi -# } -# gui_prefix_manager -# } + KEY_EDIT_MANAGER_GUI=$RANDOM + "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \ + --text="Select components to install in prefix: \"${PW_PREFIX_NAME}\", using wine: \"${PW_WINE_USE}\"" \ + --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & + + "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \ + --text="Select fonts to install in prefix: \"${PW_PREFIX_NAME}\", using wine: \"${PW_WINE_USE}\"" \ + --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & + + "${pw_yad_new}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=5 --width=700 --height=600 --center \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONST" + YAD_STATUS="$?" + if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then + stop_portwine + exit 0 + fi + try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" + try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" + + for STPFXMNG in `cat "${PORT_WINE_TMP_PATH}/to_winetricks"` ; do + grep `echo ${STPFXMNG} | awk -F'|' '{print $2}'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null + if [ "$?" == "1" ] ; then + [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="`echo ${STPFXMNG} | awk -F'|' '{print $2}'` " + fi + done + IFS=${old_IFS} + try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks" + + if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then + export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" + pw_init_runtime + ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} + gui_prefix_manager + else + print_info "Nothing to do. Restarting PortProton..." + stop_portwine & + /usr/bin/env bash -c ${pw_full_command_line[*]} + fi + } + gui_prefix_manager +} pw_winetricks () { update_winetricks @@ -340,7 +364,7 @@ pw_edit_db () { pw_gui_for_edit_db PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \ PW_VULKAN_NO_ASYNC PW_USE_NVAPI_AND_DLSS PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP \ PW_WINEDBG_DISABLE PW_USE_TERMINAL PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_GUI_DISABLED_CS PW_USE_GSTREAMER \ - PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_D3D_EXTRAS_DISABLE + PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_D3D_EXTRAS_DISABLE PW_FIX_VIDEO_IN_GAME if [ "$?" == 0 ] ; then /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 @@ -547,8 +571,7 @@ else --field=" CHANGELOG"!""!"":"FBTN" '@bash -c "button_click open_changelog"' \ --field=" EDIT USER.CONF"!""!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \ --field=" SCRIPTS FROM BACKUP"!""!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' & - #--field=" ABOUT PORTPROTON"!""!"":"FBTN" '@bash -c "button_click gui_about_portproton"' & - + # --field=" ABOUT PORTPROTON"!""!"":"FBTN" '@bash -c "button_click gui_about_portproton"' & "${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=3 --align-buttons --form --separator=";" \ --field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL" \ @@ -655,7 +678,7 @@ case "$PW_YAD_SET" in WINEFILE|110) pw_winefile ;; WINECMD|112) pw_winecmd ;; WINEREG|114) pw_winereg ;; - WINETRICKS|116) pw_winetricks ;; + WINETRICKS|116) pw_prefix_manager ;; 118) pw_edit_db ;; gui_clear_pfx) gui_clear_pfx ;; gui_open_user_conf) gui_open_user_conf ;; diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 82ab5d89..d13e7b56 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/usr/bin/env bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2095 +#SCRIPTS_NEXT_VERSION=2096 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=1 @@ -22,7 +22,7 @@ export PW_USE_TERMINAL=0 export PW_WINEDBG_DISABLE=1 export PW_WINDOWS_VER="10" export WINEARCH="win64" -export PW_LIBS_VER="_v24" +export PW_LIBS_VER="_v25" export PORTWINE_URL="http://portwine-linux.ru/" export GDK_BACKEND="x11" export PW_USE_GSTREAMER="1" diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index a6c6f871..da05cf2c 100644 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -98,6 +98,7 @@ pw_stop_progress_bar_cover () { kill -s KILL "$PW_YAD_PID_PROGRESS_BAR_COVER" > /dev/null 2>&1 return 0 } +export -f pw_stop_progress_bar_cover open_changelog () { "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ @@ -110,14 +111,17 @@ pw_tray_icon () { if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" fi + tray_icon_click () { echo "" } export -f tray_icon_click + pw_tray_winefile () { pw_run explorer } export -f pw_tray_winefile + tray_icon_click_exit () { pw_stop_progress_bar stop_portwine diff --git a/portwine_install_script/PortProton-97 b/portwine_install_script/PortProton-97 index c9018c21..42a71abf 100755 --- a/portwine_install_script/PortProton-97 +++ b/portwine_install_script/PortProton-97 @@ -6,15 +6,16 @@ unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL export portname="PortProton" export port_ver=1.0 ######################################################################## +[[ -z "${LANG}" ]] && export LANG=C deflink="${HOME}/PortWINE/${portname}" -[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 -if [ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ] ; then - [ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share" - if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then +[[ $(id -u) -eq 0 ]] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 +if [[ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ]] ; then + [[ -z "${XDG_DATA_HOME}" ]] && export XDG_DATA_HOME="$HOME/.local/share" + if [[ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ]] ; then /usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@" exit 0 else - if [ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ] ; then + if [[ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ]] ; then PW_SET_LANG="Russian" else PW_SET_LANG="English" diff --git a/portwine_install_script/PortProton_1.0 b/portwine_install_script/PortProton_1.0 index c9018c21..42a71abf 100644 --- a/portwine_install_script/PortProton_1.0 +++ b/portwine_install_script/PortProton_1.0 @@ -6,15 +6,16 @@ unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL export portname="PortProton" export port_ver=1.0 ######################################################################## +[[ -z "${LANG}" ]] && export LANG=C deflink="${HOME}/PortWINE/${portname}" -[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 -if [ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ] ; then - [ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share" - if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then +[[ $(id -u) -eq 0 ]] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 +if [[ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ]] ; then + [[ -z "${XDG_DATA_HOME}" ]] && export XDG_DATA_HOME="$HOME/.local/share" + if [[ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ]] ; then /usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@" exit 0 else - if [ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ] ; then + if [[ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ]] ; then PW_SET_LANG="Russian" else PW_SET_LANG="English"