Для многих главным препятствием перехода на "модную" ОС Linux является "невозможность" запуска программ для Windows, которым нет достойного аналога в Linux. Однако такая возможность запуска есть, и во многих случаях работает, называется WINE...Оставим лирику, перейдём к делу.
В Linux есть возможность запускать Windows-программы в относительно независимых "песочницах", хотя
ПРЕДУПРЕЖДЕНИЕ! ни данный способ, ни другие ухищрения с WINE не гарантируют безопасность данных пользователя и других "контейнеров" WINE. По сути, WINE не создаёт достаточной изоляции запускаемых приложений!Суть метода состоит в игре с переменной окружения WINEPREFIX. Небольшой скрипт позволяет быстро развернуть новый "контейнер" WINE и запустить нужную программу в нём.
Вот, собственно, скрипт:
#!/bin/bashКак видно, тут есть поддержка предустановок в виде шаблона папки и кусков реестра. В шаблон можно положить, например, dosdevices/t: -> /tmp
PARENT_DIR=${PARENT_DIR:-$TMP}
NAME_BASE=`basename "$0"`
WINE_DIR=`ls "$PARENT_DIR" | egrep "^$NAME_BASE" | head -n1`
if [[ -z "$WINE_DIR" ]]; then
WINE_DIR="$NAME_BASE".$$
fi
export WINEPREFIX=${WINEPREFIX:-"$PARENT_DIR"/"$WINE_DIR"}
if [[ ! -d "$WINEPREFIX" ]]; then
cp -a "$HOME/.wine/sandbox.template" "$WINEPREFIX"
wine
wine regedit "$WINEPREFIX"/system_merge.reg
wine regedit "$WINEPREFIX"/user_merge.reg
#FIXME symlinks to $HOME
fi
winecfg >> "$WINEPREFIX"/wine.log 2>&1 &
wine "$1" >> "$WINEPREFIX"/wine.log 2>&1
Оригинальное название скрипта: wine-sandbox.sh
Комментариев нет:
Отправить комментарий