Время от времени у пользователей Linux возникает необходимость запуска Windows-программ. Чаще всего это какие-либо специализированные утилиты, аналогов которых в Linuх нет. Если же вам требуется запускать крупные коммерческие пакеты, то вы, скорее всего неверно выбрали операционную систему. Для всех остальных случаев подойдет Wine (Wine Is Not Emulator) - свободная реализация Windows API, позволяющая запускать Windows-программы в среде Linux. Сегодня мы расскажем об установке и базовой настройке данного продукта, что позволит сблизить две операционные системы и получить в Linux недостающие возможности Windows-приложений.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Несмотря на то, что Wine присутствует во всех популярных дистрибутивах, мы советуем устанавливать версию от разработчиков - так вы получите наиболее свежие пакеты и самые последние возможности. Мы будем рассматривать далее Debian и LTS-выпуски Ubuntu, для остальных систем на их базе все сказанное будет справедливо, но с небольшими уточнениями.
Команды, приведенные ниже, потребуется запускать в разном контексте, что-то от суперпользователя, что-то с обычными правами, поэтому будьте внимательны.
Начнем с установки. Откроем терминал и повысим свои права до суперпользователя:
sudo -s
На 64-битных системах включим 32-битную архитектуру:
dpkg --add-architecture i386
Затем скачаем ключ репозитория Wine:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
И установим его:
apt-key add winehq.key
Теперь добавим репозиторий, для Debain поддерживаются выпуски 10 и 11, в команде нужно указать имя дистрибутива, ниже приведен вариант для Debian 10 - Buster:
apt-add-repository 'deb https://dl.winehq.org/wine-builds/debian buster main'
Для Ubuntu доступны выпуски начиная от 18.04 LTS и заканчивая 21.04, но мы не рекомендуем использовать промежуточные выпуски и ниже приведена команда для Ubuntu 20.04 Focal Fossa:
add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
Для Debian 10 и Ubuntu 18.04 LTS добавим еще один репозиторий. Сначала скачаем и установим ключ:
wget -nc https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key
apt-key add Release.key
Потом добавим репозиторий:
apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./'
Обновим список пакетов:
apt update
И установим WineHQ командой:
apt install --install-recommends winehq-stable
Теперь можем попробовать запустить какое-нибудь Windows-приложение, в нашем случае это будет Winbox для Mikrotik. При первом запуске Wine попросит докачать недостающие компоненты, с этим следует согласится.
После всех скачиваний приложение откроется, вроде бы все хорошо, но сразу обращает на себя внимание неэстетичный внешний вид и плохое качество шрифтов.
Для начала включим сглаживание. Для этого используем скрипт за авторством Igor Tarasov. Прежде всего выйдем из режима суперпользователя, для этого введем в терминале:
exit
И убедимся, что приглашение изменилось с root на обычного пользователя. Также можно просто запустить новый терминал.
Перейдем в домашнюю директорию и создадим файл скрипта winefontssmoothing_en.sh:
cd
touch winefontssmoothing_en.sh
Затем внесем в него следующий текст:
#!/bin/sh
# Quick and dirty script for configuring wine font smoothing
#
# Author: Igor Tarasov <tarasov.igor@gmail.com>
WINE=${WINE:-wine}
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
DIALOG=whiptail
if [ ! -x "`which "$WINE"`" ]
then
echo "Wine was not found. Is it really installed? ($WINE)"
exit 1
fi
if [ ! -x "`which "$DIALOG"`" ]
then
DIALOG=dialog
fi
TMPFILE=`mktemp` || exit 1
$DIALOG --menu \
"Please select font smoothing mode for wine programs:" 13 51\
4\
1 "Smoothing disabled"\
2 "Grayscale smoothing"\
3 "Subpixel smoothing (ClearType) RGB"\
4 "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE
STATUS=$?
ANSWER=`cat $TMPFILE`
if [ $STATUS != 0 ]
then
rm -f $TMPFILE
exit 1
fi
MODE=0 # 0 = disabled; 2 = enabled
TYPE=0 # 1 = regular; 2 = subpixel
ORIENTATION=1 # 0 = BGR; 1 = RGB
case $ANSWER in
1) # disable
;;
2) # enable
MODE=2
TYPE=1
;;
3) # enable cleartype rgb
MODE=2
TYPE=2
;;
4) # enable cleartype bgr
MODE=2
TYPE=2
ORIENTATION=0
;;
*)
rm -f $TMPFILE
echo Unexpected option: $ANSWER
exit 1
;;
esac
echo "REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Desktop]
\"FontSmoothing\"=\"$MODE\"
\"FontSmoothingOrientation\"=dword:0000000$ORIENTATION
\"FontSmoothingType\"=dword:0000000$TYPE
\"FontSmoothingGamma\"=dword:00000578" > $TMPFILE
echo -n "Updating configuration... "
$WINE regedit $TMPFILE 2> /dev/null
rm -f $TMPFILE
echo ok
Сохраним скрипт и сделаем его исполняемым:
chmod +x winefontssmoothing_en.sh
Затем выполним его:
./winefontssmoothing_en.sh
После чего перезагрузим компьютер.
Кроме шрифтов, также можно улучшить внешний вид приложений установив стили от Windows XP, для этого вам потребуется файл luna.msstyles который можно найти в C:\WINDOWS\Resources\Themes\Luna или скачать по ссылке.
Откроем в консоли с правами обычного пользователя:
winecfg
И на вкладке Вид и интеграция при помощи кнопки Установить тему загрузим указанный выше файл, после чего нам станет доступна тема Стиль Windows XP.
Самое время сравнить: было-стало, визуально приложения Wine стали выглядеть гораздо лучше:
Наша статья на этом заканчивается, но запуск Windows-приложений в Wine - это отдельная обширная тема, поэтому дополнительную информацию следует искать на сайте проекта www.winehq.org и связанных ресурсах, где содержится большое количество полезной информации об особенностях запуска тех или иных программ.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии