改善Wine应用程序的GUI外观


55

在许多情况下,Windows程序可以在Wine中正常运行,但是它们的外观仍然令人讨厌。

如何使Wine特别是字体看起来更好?

Answers:


77

下面的解决方案将在playonlinux取得的进展的背景下加以考虑-它现在已经能够提供开箱即用的功能,至少对于首次发布此答案时所考虑的程序(例如foobar2000),需要进行一些调整Wine应用程序的最佳GUI外观。

如果您不喜欢Playonlinux,而仅直接使用Wine,请随意评论和/或编辑仅针对Wine的问题的答案。

考虑Wine中的GTK主题:请参阅此答案的最后一部分。


  • 有关字体的最重要改进是启用字体平滑 -将以下脚本另存为,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=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

在终端中选择第三个选项-使用箭头,然后使用Tab键选择确定并“输入”

在此处输入图片说明

在这里来源)

  • 为了获得更好的系统外观,请在winecfg(Wine / Configure Wine / Desktop Integration)中安装Windows msstyle文件,例如“ Luna”“ Royale”

在此处输入图片说明

  • winecfg(Wine / Configure Wine / Graphics)中增加屏幕分辨率,这将使常规细节(包括字体)变大(如果您需要这样的话:在我的笔记本电脑上,Wine程序的细节默认情况下太小)

在此处输入图片说明

但是上面的图像是在启用字体平滑之后拍摄的正如我能够测试的那样,这是最重要的动作。由于我必须重新安装Wine,因此我也必须在这里重新启动所有过程。使用所有其他解决方案(包括按照Shauna答案中的建议安装所有字体-这是非常可取的,并且应考虑作为该问题的解决方案的一部分)-除了字体平滑之外,Foobar2000看起来像这样:

在此处输入图片说明

字体平滑后:

在此处输入图片说明

重要提示:更改中的设置winecfg可能会重置字体平滑,因此最好最后运行该字体,或者在字体看起来丑陋时重新启用它。


考虑Wine中的GTK主题

最新答案提到),结果可能会有所不同,具体取决于Linux桌面和不同的应用程序。Wine中的GTK主题似乎是一个优先问题,因为Windows程序上的GTK主题是否看起来比Windows主题更好。

Foobar2000的示例:

在Ubuntu中:

在此处输入图片说明

在elementaryOS中:

在此处输入图片说明

与Playonlinux中默认的msstyle Luna相比,没有太大的改进:

在此处输入图片说明

在Playonlinux GTK中,即使有最新的Wine-staging版本,也似乎没有主题化,因为在Playonlinux中将 Wine-staging版本添加到虚拟驱动器中,“ Staging”选项卡出现在该驱动器的Wine配置中,但是“ Enable GTK Theming”是变灰。

这是因为所需的不是wine的任何 暂存版本,而是winwhq-staging软件包,不能在Playonlinux中安装该软件包。

更新:我看到在更高版本的Playonlinux中,在此编辑之日(2018年11月),Playonlinux中wine的登台版本根本没有显示上述的gtk-out gtk选项。


1
您如何选择Luna主题?
Sparhawk

@Sparhawk-下载msstyle文件并安装后,从“主题”下选择它- 查找图像

1
抱歉,我不清楚。我的意思是您从哪里获得文件。我不确定它是否已下载(无论如何也找不到)或从Windows安装磁盘等下载的
。– Sparhawk

@Sparhawk -皇家主题-寻找一个XP主题,并在档案中查找该文件msstyles -下载去softpedia或东西在这里。您可能还会研究其他xp主题

1
@Sadi-这似乎是一个单独的问题-您应该将所有详细信息单独发布,在此处链接,Wine和Playonliniux版本等。我也已经很长时间没有使用该脚本了,因为Playonlinux几年来就这样做了默认情况下,也许也是酒。

23

确保安装字体

winetricks allfonts

字体问题通常是由于程序使用了Linux或Wine随附的TrueType字体。通过Winetricks(Wine的当前版本随附)安装它们,应该可以解决字体问题。


在Wine 1.9.23(Fedora)中运行便携式古月。它需要allfonts才能正确显示粗体文本。它一直在破坏某些Android字体,但已安装的字体使一切看起来正确。
bgStack15 '16

7

首先...本节帮助我配置Wine以获得Photoshop CS6的正确外观。

有时winetricks allfonts效果不佳。有时,如果某些字体已更新且尚未反映在winetricks脚本中,则可能会在某些字体的SHA1和上收到错误。

Droid字体的回购协议中的当前winetricks版本指向http://android.git.kernel.org,由于黑客而目前处于关闭状态,因此:

sudo gedit /usr/bin/winetricks

寻找这样的东西:

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

然后将第6867行的DROID_URL更改为:

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

我还不得不将位于6059行附近的字体“ Droid Sans Fallback”的SHA1总和更改为:

do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     2f8a266389a8e22f68f402b775731eec6b760334

如果您收到任何其他错误,请找出有问题的“字体名称”并计算新的SHA1并修改winetricks中的值:

cd ~/.cache/winetricks/font-folder
sha1sum font-name
sudo gedit /usr/bin/winetricks

并使用新的计算来更改值!

本技巧也适用于Elementary OS。但是您需要更改gedit并使用草稿文本编辑器。


7

为了获得更好的系统外观,请在winecfg(“葡萄酒/配置葡萄酒/桌面集成”)中安装Windows msstyle文件,例如“ Luna”或“ Royale”。

我没有发表评论所接受答案的声誉,所以我将在这里发表评论。

来自MS服务器的另一个官方msstyle文件。

Microsoft.com的Zune主题

刚刚安装了.msi文件,我就可以从Wine Configuration对话框中选择“ Zune Style”。


4

上面的cipricus答案非常好,非常彻底。但是,还有另一个影响字体质量的因素,即FreeType呈现。

作为解决这里讨论这里,改变呈现的版本可以恢复到可读的字体。

在启动Wine应用程序的行上添加此前缀

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

例如

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


1
我很高兴我的旧答案可能仍然有用,尽管我不再使用它了,因为我目前的需求只是在Playonlinux中安装Windows程序似乎提供了我正在努力实现的目标。

只有这个答案解决了我的问题!
Pisu

3

现在,葡萄酒分期可以选择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.key
      sudo apt-key add Release.key
      sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Ubuntu_18.10_standard ./'
      
    • 对于18.10之前的Ubuntu版本:

      wget -nc https://dl.winehq.org/wine-builds/Release.key
      sudo apt-key add Release.key
      sudo 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应用程序的GUI外观


GTK主题在KDE中还是仅在基于GTK的桌面中有用吗?

1
所有主题都应提供GTK版本,即使您使用的桌面环境主要不使用GTK。
QwertyChouskie '16

你知道在Playonlinux中也可以使用吗?在Playonlinux中的虚拟驱动器中添加Wine暂存版本后,“暂存”选项卡将显示在该驱动器的Wine配置中,但“启用GTK主题设置”将变为灰色。

我个人不使用POL,所以我不知道。我建议打开一个新问题。
QwertyChouskie '16

我提出了一个新问题。我看到您的解决方案需要的是wine-stagingwinehq-staging。后者是什么?-它需要安装前者才能正常工作,但我不认为Playonlinux会安装它,这可能是问题所在。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.