当前位置: 首页>>技术教程>>正文


改善Wine应用程序的GUI外观

,

问题描述

在许多情况下,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’

wine,ubuntu

(来源here)

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

wine,ubuntu

  • 提高winecfg(Wine /Configure Wine /Graphics)中的屏幕分辨率,这将使一般细节(包括字体)变大(如果这就是你所需要的:在我的笔记本电脑上,葡萄酒程序的外观细节默认太小)

wine,ubuntu

但是上面的图像是在启用字体平滑后拍摄的。这是最重要的行动,因为我能够测试。由于我不得不在某些时候重新安装Wine,我还必须重新启动所有程序。使用所有其他解决方案(包括按照Shaunaanswer中的建议安装所有字体 – 这是非常可取的,并被视为此问题解决方案的一部分) – 除字体平滑外,Foobar2000看起来像这样:

wine,ubuntu

字体平滑后:

wine,ubuntu

重要提示:更改winecfg中的设置可能会重置字体平滑,因此最好在最后运行它,或者在字体看起来很难看时使用re-enable。


考虑到GTK在葡萄酒中的主题

(由this提到最近的答案),结果可能会有所不同,具体取决于Linux桌面和不同的应用程序。葡萄酒中的GTK主题似乎是一个偏好问题,因为Windows程序上的GTK主题是否比Windows-theming更好是值得商榷的。

Foobar2000的示例:

在Ubuntu中:

wine,ubuntu

在elementaryOS:

wine,ubuntu

Playonlinux默认情况下与msstyle Luna相比没有太大改进:

wine,ubuntu

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选项。

次佳解决方案

确保install the fonts

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文件。

Zune Theme from Microsoft.com

刚刚安装了.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

  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. 单击”Staging”选项卡

  3. 选中“启用GTK主题”

  4. 单击确定

3.启用字体平滑:

Improve GUI appearance of Wine applications

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2032.html,未经允许,请勿转载。