问题描述
在许多情况下,Windows程序在Wine中运行正常,但仍然存在令人烦恼的外观问题。
如何让Wine中的东西看起来更好,特别是字体?
最佳解决方案
以下解决方案将在playonlinux所取得的进展中考虑 – 现在它非常能够提供开箱即用,至少对于首次发布此答案时考虑的程序,如foobar2000,需要调整Wine应用程序的最佳GUI外观。
如果您不喜欢Playonlinux并且只使用Wine,请直接在Wine-only问题上发表评论和/或编辑此答案。
考虑到葡萄酒中的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键选择确定和’enter’
(来源here)
-
为了获得更好的系统外观,请在
winecfg
(Wine /Configure Wine /Desktop Integration)中安装Windows msstyle文件,如“Luna”或“Royale”。
-
提高
winecfg
(Wine /Configure Wine /Graphics)中的屏幕分辨率,这将使一般细节(包括字体)变大(如果这就是你所需要的:在我的笔记本电脑上,葡萄酒程序的外观细节默认太小)
但是上面的图像是在启用字体平滑后拍摄的。这是最重要的行动,因为我能够测试。由于我不得不在某些时候重新安装Wine,我还必须重新启动所有程序。使用所有其他解决方案(包括按照Shauna的answer中的建议安装所有字体 – 这是非常可取的,并被视为此问题解决方案的一部分) – 除字体平滑外,Foobar2000看起来像这样:
字体平滑后:
重要提示:更改winecfg
中的设置可能会重置字体平滑,因此最好在最后运行它,或者在字体看起来很难看时使用re-enable。
考虑到GTK在葡萄酒中的主题
(由this提到最近的答案),结果可能会有所不同,具体取决于Linux桌面和不同的应用程序。葡萄酒中的GTK主题似乎是一个偏好问题,因为Windows程序上的GTK主题是否比Windows-theming更好是值得商榷的。
Foobar2000的示例:
在Ubuntu中:
在elementaryOS:
Playonlinux默认情况下与msstyle Luna相比没有太大改进:
In Playonlinux GTK theming seems absent即使有最新的Wine-staging版本,因为在Playonlinux的虚拟驱动器中添加了Wine-staging版本,”Staging”选项卡出现在该驱动器的Wine配置中,但“启用GTK主题”是grayed-out。
这是因为所需要的不是任何临时版本的葡萄酒,而是winwhq-staging
软件包,它不能安装在Playonlinux中。
更新:我看到在Playonlinux的更高版本中,在此编辑日期(2014年11月),Playonlinux中的葡萄酒的暂存版本不会显示上面提到的所有greyed-out gtk选项。
次佳解决方案
winetricks allfonts
字体问题通常是由于程序使用了Linux或Wine不附带的TrueType字体。通过Winetricks(随当前版本的Wine提供)安装它们应该可以解决您的字体问题。
第三种解决方案
首先……本节帮助我配置Wine以获得适合Photoshop CS6的正确外观。
有时winetricks allfonts
不能很好地工作。有时,如果某些字体更新并且尚未反映在winetricks脚本中,则可能会收到SHA1总和上的错误。
目前在Droid Font的回购中使用的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
如果您收到任何其他错误,请找到有问题的”font-name”并计算新的SHA1并修改winetricks中的值:
cd ~/.cache/winetricks/font-folder
sha1sum font-name
sudo gedit /usr/bin/winetricks
并通过新计算更改值!
这个技巧也适用于Elementary OS。但是您需要更改gedit并使用scratch-text-editor。
第四种方案
For a better system appearance install a windows msstyle file in winecfg (Wine/Configure Wine/Desktop Integration) like “Luna”, or “Royale”.
我没有评论接受的答案的声誉,所以我会在这里发表评论。
来自MS服务器的另一个官方msstyle文件。
刚刚安装了.msi
文件,我可以从Wine Configuration对话框中选择’Zune Style’。
第五种方案
上面的cipricus答案非常好而且非常彻底。但是,有另一个因素影响字体质量,FreeType渲染。
解决了here并讨论了here,更改渲染版本可以恢复为可读字体。
在启动wine应用程序的行上添加此前缀
FREETYPE_PROPERTIES="truetype:interpreter-version=35"
例如
FREETYPE_PROPERTIES="truetype:interpreter-version=35" wine cmd
第六种方案
Wine-staging现在可以选择GTK主题。要使用它:
1.首先,安装winehq-staging
:
来自https://wiki.winehq.org/Ubuntu:
-
如果您的系统是64位,则启用32位架构(如果您还没有):
sudo dpkg --add-architecture i386
-
添加存储库:
-
对于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/
-
-
更新包列表:
sudo apt-get update
-
然后安装:
sudo apt-get install --install-recommends winehq-staging
如果apt-get抱怨缺少依赖项,请安装它们,然后重复最后两个步骤(更新和安装)。
2.启用GTK主题:
-
打开
winecfg
-
单击”Staging”选项卡
-
选中“启用GTK主题”
-
单击确定
3.启用字体平滑:
Improve GUI appearance of Wine applications