Улучшите внешний вид графического интерфейса приложений Wine

Во многих случаях программы Windows нормально запускаются в Wine, но по-прежнему существует досадная проблема их внешнего вида.

Как сделать так, чтобы в Wine все выглядело лучше, особенно шрифты?

Приведенное ниже решение следует рассматривать в контексте прогресса, достигнутого playonlinux - который теперь в значительной степени способен предоставить "из коробки", по крайней мере, для программ, рассмотренных при первой публикации этого ответа, таких как foobar2000, необходимые настройки для наилучшего внешнего вида графического интерфейса приложений Wine.

Если вам не нравится Playonlinux и вы используете только Wine напрямую, не стесняйтесь комментировать и / или редактировать этот ответ по вопросам, связанным только с Wine.

Принимая во внимание Тематизация GTK в Wine: см. Последнюю часть этого ответа.


  • Наиболее важным улучшением, касающимся шрифтов, является включение сглаживания шрифтов - сохраните сценарий ниже как winefontssmoothing_en.sh и запустите в терминале, используя команду bash 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=whiptailif [ ! -x "`which "$WINE"`" ]then    echo "Wine was not found. Is it really installed? ($WINE)"    exit 1fiif [ ! -x "`which "$DIALOG"`" ]then    DIALOG=dialogfiTMPFILE=`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> $TMPFILESTATUS=$?ANSWER=`cat $TMPFILE`if [ $STATUS != 0 ]then     rm -f $TMPFILE    exit 1fiMODE=0 # 0 = disabled; 2 = enabledTYPE=0 # 1 = regular;  2 = subpixelORIENTATION=1 # 0 = BGR; 1 = RGBcase $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        ;;esacecho "REGEDIT4[HKEY_CURRENT_USER\Control Panel\Desktop]\"FontSmoothing\"=\"$MODE\"\"FontSmoothingOrientation\"=dword:0000000$ORIENTATION\"FontSmoothingType\"=dword:0000000$TYPE\"FontSmoothingGamma\"=dword:00000578" > $TMPFILEecho -n "Updating configuration... "$WINE regedit $TMPFILE 2> /dev/nullrm -f $TMPFILEecho ok

выберите третий вариант в терминале - с помощью стрелок, затем используйте клавишу tab для выбора ладно и "войдите"

winefontssmoothing_en.sh dialog

(источник здесь)

  • Для лучший внешний вид системы установите файл Windows msstyle в winecfg (Wine/Настройка интеграции Wine/Desktop), например "Луна", или "Рояль".

enter image description here

  • Увеличьте разрешение экрана в winecfg (Wine/Configure Wine/Graphics), который увеличит общие сведения (включая шрифты) (если это то, что вам нужно: на моем ноутбуке сведения о внешнем виде программ wine по умолчанию слишком малы)

enter image description here

Но изображения выше сделаны после включение сглаживания шрифта. Это самое важное действие, как я смог проверить. Поскольку в какой-то момент мне пришлось переустановить Wine, мне также пришлось перезапустить все процедуры здесь. Используя все другие решения (включая установку всех шрифтов, как предложено в Шонаответ - что очень желательно и должно рассматриваться как часть решения этого вопроса) - за исключением сглаживания шрифта, Foobar2000 выглядел так:

enter image description here

После сглаживания шрифта:

enter image description here

Важно: Изменение настроек в winecfg может сбросить сглаживание шрифта, так что лучше запустить его в конце или повторно включить, когда шрифты кажутся уродливыми.


Рассматривая тематизацию GTK в Wine

(упомянутый этот более поздний ответ), результаты могут варьироваться в зависимости от рабочего стола Linux и различных приложений. Тематизация GTK в Wine, по-видимому, является вопросом предпочтения, поскольку спорно, выглядит ли тема GTK в программе Windows лучше, чем тематизация Windows.

Пример для Foobar2000:

В Ubuntu:

enter image description here

В элементарных:

enter image description here

Не так много улучшений по сравнению с msstyle Luna по умолчанию в Playonlinux:

enter image description here

В Playonlinux GTK тематизация, похоже, отсутствует даже при наличии последней доступной версии Wine-staging, при добавлении версии Wine-staging на виртуальный диск в Playonlinux в конфигурации Wine для этого диска отображается вкладка "Staging", но "Включить тематизацию GTK" отображается серым цветом.

Это потому, что то, что нужно, не является какой-нибудь постановка версии вина, но в winehq-stagingпакет, который не может быть установлен в Playonlinux.

ОБНОВЛЕНИЕ: Я вижу, что в более поздних версиях Playonlinux на дату этого редактирования (ноябрь 2018 г.) промежуточные версии wine в Playonlinux вообще не отображают упомянутую выше опцию gtk, выделенную серым цветом.

Убедитесь в том, что установите шрифты:

winetricks allfonts

Проблемы со шрифтами обычно возникают из-за того, что программа использует шрифты TrueType, которые не поставляются с Linux или Wine. Установка их через Winetricks (который поставляется с текущими версиями Wine) должна решить вашу проблему со шрифтом.

Прежде всего... Этот раздел помог мне настроить Wine, чтобы получить правильный внешний вид для Photoshop CS6.

Иногда winetricks allfonts работает не очень хорошо. Иногда вы можете получать ошибки в сумме SHA1 для некоторых шрифтов, если они обновлены и еще не отражены в скрипте winetricks.

Текущая версия winetricks в репозиториях для шрифта Droid указывает на http://android.git.kernel.org который в настоящее время не работает из-за хакеров, так что:

sudo gedit /usr/bin/winetricks

Ищите что-то вроде этого:

load_droid(){# See http://en.wikipedia.org/wiki/Droid_(font)

И измените DROID_URL вокруг строки 6867 на:

DROID_URL='https://www.codeaurora.org/gitweb/quic/la/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/'

Мне также пришлось изменить сумму SHA1 для шрифта "Droid Sans Fallback", расположенного вокруг строки 6059, на:

do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     2f8a266389a8e22f68f402b775731eec6b760334

Если вы получите какую-либо другую ошибку, найдите оскорбительное "имя шрифта" и вычислите новый SHA1 и измените значение в winetricks:

cd ~/.cache/winetricks/font-foldersha1sum font-namesudo gedit /usr/bin/winetricks

И измените значение с помощью нового расчета!

Этот совет работает и с элементарной ОС. Но вам нужно изменить gedit и использовать scratch-text-editor.

Для улучшения внешнего вида системы установите файл Windows msstyle в winecfg (Wine/Configure Wine/Desktop Integration), например "Luna" или "Royale".

У меня нет репутации, чтобы комментировать принятый ответ, поэтому я помещу свой комментарий здесь.

Еще один официальный файл msstyle с серверов MS.

Тема Zune от Microsoft.com

Только что установил .msi файл, и я смог выбрать "Стиль Zune" в диалоговом окне настройки Wine.

У Wine-staging теперь есть опция для тематизации GTK. Чтобы использовать его:

1. Сначала установите winehq-staging:

От https://wiki .winehq.org/Ubuntu:

  1. Если ваша система 64-разрядная, включите 32-разрядную архитектуру (если вы еще этого не сделали).:

    sudo dpkg --add-architecture i386
  2. Добавьте репозиторий:

    • Для Ubuntu 18.10:

      wget -nc https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Ubuntu_18.10_standard/Release.keysudo apt-key add Release.keysudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Ubuntu_18.10_standard ./'
    • Для версий Ubuntu до 18.10:

      wget -nc https://dl.winehq.org/wine-builds/Release.keysudo apt-key add Release.keysudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
  3. Обновите список пакетов:

    sudo apt-get update
  4. Затем установите:

    sudo apt-get install --install-recommends winehq-staging

    Если apt-get жалуется на отсутствующие зависимости, установите их, затем повторите последние два шага (обновление и установка).

2. Включите тематизацию GTK:

  1. Открыть winecfg
  2. Перейдите на вкладку "Промежуточный этап"
  3. Установите флажок "Включить тематизацию GTK".
  4. Нажмите кнопку ОК

3. Включите сглаживание шрифта:

Улучшите внешний вид графического интерфейса приложений Wine

приведенный выше ответ cipricus превосходен и очень подробен. Однако есть еще один фактор, влияющий на качество шрифта, - рендеринг с помощью FreeType.

Как решенный здесь и обсуждали здесь, изменение версии рендеринга может привести к возврату к читаемым шрифтам.

Добавьте этот префикс в строку, которая запускает ваше приложение wine

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

напр.

FREETYPE_PROPERTIES="truetype:interpreter-version=35" wine cmd

Скрипт в самом верхнем посте пользователя 47206 (или, если быть более точным, a решение полученный из скрипта) не сработал для меня, потому что regedit в префиксе Wine не удалось найти файл в родной файловой системе. Более надежное решение - если вы понимаете, что делаете (и вам не нужен диалог с графическим интерфейсом) - это включить сглаживание, изменив реестр напрямую:

$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothing /t REG_SZ /d 2 /f$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingGamma /t REG_DWORD /d 0x578 /f$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingOrientation /t REG_DWORD /d 1 /f$ env WINEPREFIX=~/.wine/<prefix> wine reg add "HKCU\Control Panel\Desktop" /v FontSmoothingType /t REG_DWORD /d 2 /f

Можно также проверить настройки таким образом:

$ env WINEPREFIX=~/.wine/<prefix> wine reg query "HKCU\Control Panel\Desktop" | grep FontSmoothing