Verbessern Sie das GUI-Erscheinungsbild von Wine-Anwendungen

55

In vielen Fällen laufen Windows-Programme in Wine einwandfrei, aber es gibt immer noch das ärgerliche Problem ihres Erscheinungsbildes.

Wie kann man in Wine ein besseres Erscheinungsbild erzielen, insbesondere bei Schriftarten?

Adam
quelle

Antworten:

77

Die folgende Lösung ist im Zusammenhang mit den Fortschritten von playonlinux zu sehen - das zumindest für die Programme, die zum Zeitpunkt der Veröffentlichung dieser Antwort berücksichtigt wurden, wie foobar2000, die erforderlichen Optimierungen für Playonlinux in hohem Maße sofort bereitstellen kann bestes GUI-Erscheinungsbild von Wine-Anwendungen.

Wenn dir Playonlinux nicht gefällt und du Wine nur direkt verwendest, kannst du diese Antwort zu Nur-Wein-Themen gerne kommentieren und / oder bearbeiten.

In Anbetracht des GTK-Themas in Wein : Siehe letzten Teil dieser Antwort.


  • Die wichtigste Verbesserung bei Schriftarten besteht darin, die Schriftartenglättung zu aktivieren. Speichern Sie das Skript unten unter winefontssmoothing_en.shund führen Sie es im Terminal mit dem folgenden Befehl aus bash winefontssmoothing_en.sh:
#!/bin/sh
# Quick and dirty script for configuring wine font smoothing
#
# Author: Igor Tarasov <[email protected]>

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

wähle die dritte Option im Terminal - mit den Pfeilen, dann benutze die Tabulatortaste, um ok zu wählen und 'Enter'

Bildbeschreibung hier eingeben

(Quelle hier )

  • Für ein besseres Erscheinungsbild des Systems installieren Sie eine Windows-Msstyle-Datei in winecfg(Wine / Configure Wine / Desktop Integration) wie "Luna" oder "Royale" .

Bildbeschreibung hier eingeben

  • Erhöhen Sie die Bildschirmauflösung in winecfg(Wine / Configure Wine / Graphics), wodurch allgemeine Details (einschließlich Schriftarten) größer werden (falls erforderlich: Auf meinem Laptop sind die Details der Weinprogramme standardmäßig zu klein).

Bildbeschreibung hier eingeben

Die obigen Bilder werden jedoch erst aufgenommen, nachdem die Schriftglättung aktiviert wurde. Das ist die wichtigste Aktion , wie ich testen konnte. Da ich Wine irgendwann neu installieren musste, musste ich auch hier alle Vorgänge neu starten. Mit allen anderen Lösungen (einschließlich der Installation aller Schriften wie in vorgeschlagen Shauna ‚s Antwort - was sehr empfehlenswert ist, und als Teil der Lösung dieser Frage berücksichtigt werden) - mit Ausnahme der Schriftglättung, sah Foobar2000 wie so :

Bildbeschreibung hier eingeben

Nach dem Glätten der Schrift:

Bildbeschreibung hier eingeben

Wichtig: Wenn Sie die Einstellungen in winecfgändern , wird möglicherweise die Schriftglättung zurückgesetzt. Führen Sie sie daher am besten am Ende aus oder aktivieren Sie sie erneut, wenn die Schrift hässlich erscheint.


Betrachtet man GTK-Themen in Wein

(in dieser neueren Antwort erwähnt), die Ergebnisse können je nach Linux-Desktop und den verschiedenen Anwendungen variieren. Das GTK-Thema in Wine scheint eine Frage der Präferenz zu sein, da es fraglich ist, ob ein GTK-Thema in einem Windows-Programm besser aussieht als ein Windows-Thema.

Beispiel für Foobar2000:

In Ubuntu:

Bildbeschreibung hier eingeben

In elementaryOS:

Bildbeschreibung hier eingeben

Keine große Verbesserung im Vergleich zu msstyle Luna in Playonlinux:

Bildbeschreibung hier eingeben

In Playonlinux scheint das GTK-Theming auch mit der neuesten Wine-Staging-Version nicht verfügbar zu sein, da beim Hinzufügen einer Wine-Staging-Version zu einem virtuellen Laufwerk in Playonlinux die Registerkarte "Staging" in der Wine-Konfiguration für dieses Laufwerk angezeigt wird, "GTK-Theming aktivieren" jedoch ausgegraut.

Das liegt daran, dass keine Staging- Version von wine benötigt wird , sondern das winwhq-stagingPaket, das nicht in Playonlinux installiert werden kann.

UPDATE: Ich sehe, dass in späteren Versionen von Playonlinux zum Zeitpunkt dieser Bearbeitung (Nov.2018) die Staging-Versionen von wine in Playonlinux überhaupt nicht die oben erwähnte grau unterlegte Option gtk anzeigen.


quelle
1
Wie wählst du das Luna-Thema aus?
Sparhawk
@Sparhawk - Nachdem Sie die msstyle-Datei heruntergeladen und installiert haben, wählen Sie sie unter "Thema" aus - sehen Sie sich das Bild an
1
Entschuldigung, ich war nicht klar. Ich meinte, woher bekommst du die Akte? Ich war mir nicht sicher, ob es heruntergeladen wurde (ich konnte es trotzdem nicht finden) oder von einer Windows-Installationsdiskette usw.
Sparhawk
@Sparhawk - suche nach einem XP-Theme und im Archiv nach der msstyles-Datei - zum Herunterladen gehe zu Softpedia oder so - Royale-Theme hier . Sie könnten auch in andere XP-Themen
1
@Sadi - Dies scheint eine separate Frage zu sein - Sie sollten sie separat mit allen Details, dem Link hier, den Wine- und Playonliniux-Versionen usw. posten. Ich habe dieses Skript auch schon lange nicht mehr verwendet, wie es Playonlinux in den letzten paar Jahren getan hat Standardmäßig vielleicht auch Wein.
23

Stellen Sie sicher, dass Sie die Schriftarten installieren :

winetricks allfonts

Probleme mit Schriftarten sind im Allgemeinen darauf zurückzuführen, dass das Programm TrueType-Schriftarten verwendet, die nicht mit Linux oder Wine geliefert werden. Die Installation über Winetricks (die mit den aktuellen Versionen von Wine geliefert werden) sollte Ihr Schriftartenproblem lösen.

Shauna
quelle
Palemoon Portable in Wine 1.9.23 (Fedora) ausführen. Es brauchte die Allfonts, um fett gedruckten Text richtig anzuzeigen. Bei einigen Android-Schriftarten brach es immer wieder, aber bei denen, die installiert wurden, sah alles korrekt aus.
bgStack15
7

Zuallererst ... Dieser Abschnitt hat mir geholfen, Wine so zu konfigurieren, dass es für Photoshop CS6 das richtige Erscheinungsbild erhält.

Funktioniert manchmal winetricks allfontsnicht sehr gut. Gelegentlich erhalten Sie möglicherweise Fehler in der SHA1-Summe für einige Schriftarten, wenn diese aktualisiert wurden und noch nicht im Winetricks-Skript enthalten sind.

Die aktuelle Winetricks-Version in den Repos für die Droid-Schriftart verweist auf http://android.git.kernel.org, was derzeit aufgrund von Hackern nicht funktioniert.

sudo gedit /usr/bin/winetricks

Suchen Sie nach so etwas:

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

Ändern Sie DROID_URL um die Zeile 6867 in:

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

Ich musste auch die SHA1-Summe für die Schriftart "Droid Sans Fallback" in der Zeile 6059 wie folgt ändern:

do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     2f8a266389a8e22f68f402b775731eec6b760334

Wenn Sie einen anderen Fehler erhalten, suchen Sie den störenden "Font-Namen" und berechnen Sie den neuen SHA1 und ändern Sie den Wert in den Winetricks:

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

Und ändern Sie den Wert mit neuer Berechnung!

Dieser Tipp funktioniert auch mit Elementary OS. Sie müssen jedoch gedit ändern und den Scratch-Text-Editor verwenden.

Alex Lopes
quelle
7

Für ein besseres Erscheinungsbild des Systems installieren Sie eine Windows-Msstyle-Datei in winecfg (Wine / Configure Wine / Desktop Integration) wie "Luna" oder "Royale".

Ich habe nicht den Ruf, die akzeptierte Antwort zu kommentieren, daher werde ich meinen Kommentar hier einfügen.

Eine weitere offizielle msstyle-Datei von MS-Servern.

Zune Theme von Microsoft.com

Gerade die .msiDatei installiert und ich konnte 'Zune Style' aus dem Wine Configuration Dialog auswählen.

plremis
quelle
4

Die obige Cipricus-Antwort ist ausgezeichnet und sehr gründlich. Es gibt jedoch einen weiteren Faktor, der sich auf die Schriftqualität auswirkt: das Rendern mit FreeType.

Wie gelöst hier und diskutiert hier , können die Rendering - Version zu ändern , um lesbare Schriften zurück.

Fügen Sie dieses Präfix in die Zeile ein, die Ihre Weinanwendung startet

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

z.B

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

David McNeill
quelle
1
Ich bin froh, dass sich meine alte Antwort immer noch als nützlich erweisen kann, obwohl ich sie nicht mehr verwende, da für meine gegenwärtigen Bedürfnisse die einfache Installation von Windows-Programmen in Playonlinux sofort das zu bieten scheint, was ich hier erreichen wollte.
Nur diese Antwort löste das Problem für mich!
Pisu
3

Die Weininszenierung bietet jetzt eine Option für das GTK-Thema. Um es zu benutzen:

1. Installieren Sie zuerst winehq-staging:

Von https://wiki.winehq.org/Ubuntu :

  1. Wenn es sich bei Ihrem System um ein 64-Bit-System handelt, aktivieren Sie die 32-Bit-Architektur (sofern Sie dies noch nicht getan haben):

    sudo dpkg --add-architecture i386
    
  2. Fügen Sie das Repository hinzu:

    • Für 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 ./'
      
    • Für Ubuntu-Versionen vor 18.10:

      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. Aktualisieren Sie die Paketliste:

    sudo apt-get update
    
  4. Dann installieren Sie:

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

    Wenn sich apt-get über fehlende Abhängigkeiten beschwert, installieren Sie diese und wiederholen Sie die letzten beiden Schritte (Update und Installation).

2. Aktivieren Sie das GTK-Theming:

  1. Öffnen winecfg
  2. Klicken Sie auf die Registerkarte "Staging"
  3. Aktivieren Sie "GTK-Theming aktivieren"
  4. OK klicken

3. Aktivieren Sie die Schriftglättung:

Verbessern Sie das GUI-Erscheinungsbild von Wine-Anwendungen

QwertyChouskie
quelle
ist GTK-Theming auch in KDE oder nur in GTK-basierten Desktops nützlich?
1
Alle Designs sollten GTK-Versionen enthalten, auch wenn Sie eine Desktop-Umgebung verwenden, in der GTK nicht in erster Linie verwendet wird.
QwertyChouskie
Wissen Sie, ob das auch in Playonlinux verfügbar ist? Beim Hinzufügen einer Wine-Staging-Version zu einem virtuellen Laufwerk in Playonlinux wird die Registerkarte "Staging" in der Wine-Konfiguration für dieses Laufwerk angezeigt, "GTK-Theming aktivieren" ist jedoch abgeblendet.
Ich persönlich benutze POL nicht, also weiß ich es nicht. Ich empfehle eine neue Frage zu eröffnen.
QwertyChouskie
Ich habe eine neue Frage erstellt . Ich sehe, dass in Ihrer Lösung beides wine-stagingund gebraucht wird winehq-staging. Was ist das letztere? - Es benötigt und installiert das erstere, um zu funktionieren, aber ich glaube nicht, dass Playonlinux es installiert, und das könnte das Problem sein.