Wine

Aus Mediawiki Ferdinand Gruber
Version vom 22. Februar 2024, 20:14 Uhr von WikiSysop (Diskussion | Beiträge) (→‎ODBC Connector für Windows installieren)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Shell Befehle

  • Konfiguration von Wine
wine winecfg
  • Programme installieren und deinstallieren
wine uninstaller
  • Wine Systemsteuerung
wine control
  • Wine Reboot
wineboot
  • DLLs nachinstallieren
winetricks
  • Verzeichnis der Wine Befehle:

http://wiki.winehq.org/ListofCommands

  • Startmenü erzeugen
# sourcepath=~/.wine/drive_c/windows/profiles
sourcepath=~/.wine/drive_c/users

find $sourcepath -name "*.lnk" -exec wine winemenubuilder "{}" \;
kbuildsycoca4

Siehe: http://forum.winehq.org/viewtopic.php?t=3769

Programme starten

  • EXE Datei starten

Im KDE Startmenü kann man Verknüpfungen anlegen. Eigentlich nicht notwendig, da unter Programme automatisch bei der Installation die Verknüpfungen angelegt werden sollten.

wine C:\\lotus\\Wordpro\\Wordpro.exe

oder

wine ~/.wine/drive_c/Lotus/Wordpro/Wordpro.exe
  • Installation einer MSI Datei
wine msiexec /i capella-scan
# oder
wine start setup.msi

Dateien mit Wine öffnen

Shellscript

Öffnen von Dateien mit einem Windows Programm

if [ $# -eq 0 ] ; then
    echo -----------------------------------------------------------------------
    echo Aufruf:
    echo $0 WINEPREFIX EXE-Datei [Datei] [Datei] ...
    echo
    echo Hinweise:
    echo Der Pfadname der EXE-Datei muss in Windows-Schreibweise angegeben werden
    echo Falls Leerzeichen vorkommen, sind Anführungszeichen notwendig.
    echo Beispiel: "C:\Program Files\capella-software\capella 7\capella.exe"
    echo ------------------------------------------------------------------------
    echo
    exit
fi

IFS=? 
PRFX=$1 ; APP=$2
shift ; shift ;

if [ -z $* ] ; then
   # keine Datei(en) zum Öffnen
   env WINEPREFIX="$HOME/$PRFX" wine $APP
else
   if [ $# -gt 0 ] ; then
       dirName=`dirname "$*"`
       baseName=`basename "$*"`
       files=`realpath "$dirName/$baseName"`
       if [ -e "$files" ] ; then
           files=`winepath -w "$files"`
       fi

       # Die Subshell muss im Hintergrund laufen, 
       # sonst wird nur erste Instanz angezeigt, wenn mehrere Dateien als Parameter übergeben werden.
       env WINEPREFIX="$HOME/$PRFX" wine $APP "$files" &
   fi
fi

Dieses Skript speichern als /usr/local/bin/wine_starter.sh.

Leerzeichen in Dateinamen

Leerzeichen in (Windows)-Dateinamen können Probleme bereiten, weil sie von der Bash als Trennzeichen von Dateinamen interpretiert werden. Durch Ändern der Umgebungsvariablen IFS vor dem Aufruf kann man das in den Griff kriegen.

Ich habe hier die Variable IFS auf das Fragezeichen gesetzt, da man annehmen kann, dass dieses in einem Dateinamen nicht vorkommt.
IFS=?
env WINEPREFIX=$HOME/.wine32 wine C:\Program Files\capella-software\capella 7\capella.exe H:\capella\Scan\Wo ich auch stehe.capx

Damit eine Datei im angegebenen Laufwerk H: auch gefunden wird, muss im WINEPREFIX das Laufwerk definiert werden. Das geht am besten mit dem Programm winecfg

# Aufruf mit Standard WINEPREFIX
winecfg
# Beispiel mit anderem WINEPREFIX
env WINEPREFIX=$HOME/.wine32 winecfg

Mehrere Wine Installationen

Wineprefix erzeugen

Folgendes Kommando legt eine neue Wine Installation an, die dann extra konfiguriert werden muss. Beispiel für eine 32-bit Wine Umgebung:

WINEPREFIX=$HOME/.wine32 WINEARCH='win32' wine 'wineboot'

WINEPREFIX ist eine Umgebungsvariable. Mit dem Befehl env wird diese Variable auf ein Verzeichnis gesetzt, in dem eine neue wine-Umgebung erzeugt werden soll. Die Konfiguration der neuen Umgebung erfolgt durch

env WINEPREFIX=$HOME/.wine32 winecfg

Ruft man ein wine Programm auf, ohne dass man vorher WINEPREFIX setzt, dann wird der Standard WINEPREFIX $HOME/.wine verwendet.

Umgebungsvariable setzen

export WINEPREFIX=~/.wine32

Programm installieren

# Beispiel:
wine start capella_7.msi

Wine sollte daraufhin automatisch eine Verknüpfung (= einen Starter) erzeugen, der das installierte Programm aus dem entsprechenden Wineprefix startet.

Im Plasma 5 Startmenü findet man den Starter eventuell unter "Nicht zuzuordnen".

Programm starten

Beispiel für eine Befehlszeile

env WINEPREFIX="$HOME/.wine32" wine start /Unix "$HOME/.wine32/dosdevices/c:/users/user_name/Start Menu/Programs/capella-software/capella 7.lnk"

Das Kommando env setzt die Umgebungsvariable WINEPREFIX und führt nachstehenden Befehl aus, in diesem Fall wine.

Wine für mehrere Benutzer

Standardmäßig werden alle Windows Programme, die unter wine installiert werden, im Benutzerverzeichnis gespeichert. Um mehreren Benutzern Zugriff auf die gleichen Programme zu ermöglichen, habe ich das Verzeichnis drive_c zentral abgelegt.

  • Anlegen eines zentralen Verzeichnisses für wine
mkdir -p /wine/drive_c
  • Symlink erstellen

Für jeden Benutzer einen Symlink zu obigem Verzeichnis erstellen

rm ~/.wine/drive_c
ln -s /wine/drive_c ~/.wine/drive_c
  • Menüstruktur und Icons kopieren

Vorsicht: Ich bin nicht sicher, ob folgendes empfehlenswert ist:

# Beispiel
ziel=/home/user_2/.local/share/
cp -a /home/user_1/.local/share/applications/ $ziel 
cp -a /home/user_1/.local/share/icons/ $ziel
  • Cache aktualisieren
kbuildsycoca

PDF Drucker unter Wine

Das Paket cups-pdf installieren. Dann hat man einen virtuellen Drucker, den man auch unter wine benutzen kann, um eine PDF zu erzeugen.

Weitere Info: Siehe cups-pdf

Programme unter Wine

Capella

  • Capella Fonts werden nicht geladen

Damit die Capella Fonts, hauptsächlich capella3.ttf, von Wine geladen werden, muss man die Fonts konvertieren.

  1. Capella3.ttf mit Fontforge öffnen
  2. Datei / Fonts herstellen
  3. In diesem Fenster den Dateityp ändern auf TrueType(Symbol).
  4. Dann die Datei im Windows Font Verzeichnis ~/.wine/drive_c/Windows/Fonts speichern.
  5. Die Datei auch im Verzeichnis ~/.wine/drive_c/Windows/System32 speichern.

Siehe WineHQ AppDB

  • cups-pdf als Drucker in Capella

CUPS-PDF kann offensichtlich nicht mit Capella verwendet werden. Es wird immer auf den Standarddrucker umgestellt.

Alternative: Export der Capella Datei als PNG Grafik.

Irfan View

64-bit Version

Auf einem 64-bit System soll die 64-bit Version von IrfanView aufgerufen werden, sonst gibt es Probleme mit der Darstellung von deutschen Umlauten in der Benutzeroberfläche von IrfanView.

Beispiel für Befehlszeile der IrfanView Startdatei:
env WINEPREFIX="/$HOME/.wine" wine C:\\Program\ Files\\IrfanView\\i_view64.exe

LOG

  • 24.10.2020

Installation von IrfanView 64-bit über PlayOnLinux

Beispiel für Programmaufruf von IrfanView
/usr/share/playonlinux/playonlinux --run "IrfanView_64-bit" %F

Lotus Smartsuite 9.8

Vor der Installation muss ein Datenbanktreiber für Windows installiert werden, z.B.: mysql-connector-odbc http://dev.mysql.com/downloads/connector/odbc/

Beispiel:

wine /daten/download/Driver/myodbc-3.51.06.exe

Die Lotus Smartsuite CD mounten, dann in dieses Verzeichnis wechseln und dort folgende Befehle ausführen.

wine instmsia.exe
wine setup.exe
  • Environmentvariable PATH ändern

Das Verzeichnis c:\lotus\compnent muss in die Variable PATH aufgenommen werden. Dies kann über die Windows Registry erfolgen.

wine regedit

Folgenden Schlüssel suchen

HKEY_CURRENT_USER/Environment

Hier die Zeichenfolge c:\\lotus\compnent hinzufügen

"Path" = "c:\\windows;c:\\windows\\system;c:\\lotus\compnent

ODBC und wine

Wine aufrüsten

Folgende Windows Software über winetricks installieren

winetricks corefonts eufonts lucida opensymbol tahoma cjkfonts
winetricks vb6run
winetricks mdac28
winetricks msxml4 mfc42 jet40 native_oleaut32

ODBC Connector für Windows installieren

  • ODBC Connector downloaden, z.B.:
mysql-connector-odbc-5.3.4-win32.msi
  • Installation
wine msiexec /i mysql-connector-odbc-5.3.4-win32.msi
  • ODBC Datenquellen einrichten
# Windows Systemsteuerung
wine control

Beim Erstellen der Datenquelle den richtigen Zeichensatz einstellen:

Im Connector auf Erweitert klicken und z.B. UTF-8 wählen..

Lotus Approach und ODBC

Der Zugriff auf Mysql Tabellen unter Approach funktioniert, jedoch ist die Performance schlecht, wenn unter Approach Verbindungen zwischen Mysql Tabellen definiert werden.

  • Zeichensatz

Approach kann UTF-8 nicht darstellen, daher werden Sonderzeichen nicht richtig dargestellt.

Um die Datenbank sinnvoll mit Approach zu bearbeiten, müsste man die Datenbank in den Zeichensatz latin1 konvertieren.

Linux Tools zur Verwaltung von Datenbanken und ODBC Datenquellen

gda-control-center-4.0
gda-browser-4.0

PlayOnLinux

Das Paket PlayOnLinux vereinfacht die Installation und Verwaltung von Windows-Programmen unter Linux.

VirtualDrives

PlayOnLinux legt für jedes installierte Programm ein wineprefix an in ~/.PlayOnLinux/wineprefix

Ein wineprefix wird in PlayOnLinux als virtualDrive bezeichnet.

Programme installieren

Man klickt auf Installieren, dann hat man zwei Möglichkeiten

  • Installation über vorgefertigte Scripte

Ein Programm aus den angegebenen Kategorien zu Installation wählen

  • Manuelle Installation

Falls das gewünschte Windows Programm in keiner Kategorie aufgelistet ist, wählt man (ganz unten)

Installiere ein Programm, das nicht aufgelistet ist

Dokumentation

https://wiki.playonlinux.com/index.php/Main_Page

LOG

  • IrfanView

Erst nach Installation von IrfanView durch PlayOnLinux wurden Umlaute im Programm angezeigt.

Links

Wine Wiki - Englisch

Ubuntu-Wiki zu Wine

Troubleshooting