Einführung


Die neuere Version 5, die auf GitHub ( https://github.com/iplus-framework ) veröffentlich ist läuft auf Linux nativ als Konsolenanwendung oder Linux-Dienst (ohne GUI).

Dafür müssen Sie die .net-Runtime auf Linux installieren. Achten Sie darauf welche .NET-Version. Stand 01.10.2024 verwenden wir .NET 8:

https://learn.microsoft.com/en-us/dotnet/core/install/linux

Für Ubuntu führen Sie folgende Befehle aus:

sudo apt-get install -y dotnet-runtime-8.0

 

Kompilieren Sie iplus in Visual-Studio bzw. veröffentlichen Sie die Konsolenanwendung (gip.iplus.console oder gip.mes.console) oder den Dienstanwendung (gip.iplus.service) als self-contained Anwendung für linux-x64.

https://learn.microsoft.com/de-de/dotnet/core/deploying/

dotnet publish -r linux-x64 --self-contained false

 

Geben Sie der Konsolen-Anwendung oder dem Dienst Ausführungsrechte:

sudo chmod +x gip.iplus.console

 

Starten Sie die Anwendung mit Übergabe des User- und Passwort-Parameters wie im vorigen Kapitel beschrieben:

./gip.iplus.console /U00 /P00

 

Für die Einrichtung als Linux-Service (gip.iplus.service) befolgen Sie folgende Anweisungen:

https://devblogs.microsoft.com/dotnet/net-core-and-systemd/

 

Legen Sie ein iplus.service Datei im Installationsverzeichnis mit folgendem angepassten Inhalt an (sie könne auch die Datei von gitHub holen):

[Unit]
Description=iPlus Service

[Service]
ExecStart=/home/user/iPlus/publish_x64/gip.iplus.service /U00 /P00
Type=notify

[Install]
WantedBy=multi-user.target

Erstellen Sie eine symbolischen link im /etc/systemd/system Verzeichnis zu dieser Datei an.

Laden sie den System-Dämon mi dem Befehl:

sudo systemctl daemon-reload

Starten Sie den Dienst mit dem Befehl:

sudo systemctl start iplus.service

Mit diesem Befehl können Sie den Status abfragen:

sudo systemctl status iplus.service

Mit diesem Befehl stoppen sie den Dienst:

sudo systemctl stop iplus.service

Mit diesem Befehl ermöglichen Sie einen automatischen Start beim Starten des Betriebssystems:

sudo systemctl enable iplus.service

 

 

 


Solange Microsoft WPF nicht auf Linux protiert hat bzw. wir auf AvaloniUI umgestellt haben, verwenden Sie Wine für Linux um die Desktop-App auf Linux zu nutzen.

https://www.winehq.org/

Verwenden Sie bitte dazu folgende Anleitung:

https://ccifra.github.io/PortingWPFAppsToLinux/Overview.html

 

Hier in Kürze für Ubuntu:

Prüfen Sie welche Architektur sie haben mit 

dpkg --print-architecture

Bei der 64-Bit-Variante erhalten sie die Ausgabe amd64. Dann müssen Sie aber 32-Bit zulassen für Wine. Prüfen sie mit dem Befehlt ob es bereits aktiviert ist:

dpkg --print-foreign-architectures

Wenn Sie keine i386 als Ausgabe erhalten führen Sie folgende Befehl aus:

sudo dpkg --add-architecture i386

Aktualisieren Sie alle pakete:

sudo apt-get update

Installieren Sie WINE

sudo apt-get install wine32:i386

Prüfen Sie ob wine 9.0 oder höher installiert wurde:

wine --version

Mit dem diesem Befehl, können Sie die Umgebungsvariablen einrichten, was aber nicht notwendig ist:

wine winecfg

Laden Sie die dot-net runtime für Windows herunter, wechseln in das Verzeichnis wo das Installationsprogramm liegt und installieren sie sie in der Wine-Umgebung mit folgendem Befehl:

https://dotnet.microsoft.com/en-us/download/dotnet/8.0

wine dotnet-sdk-8.0.404-winx64.exe

(Achten Sie darauf, dass sie die gleiche .net-Version installieren die iplus aktuell verwendet (siehe GitHub)).

Damit aber iplus ausgeführt werden kann, benötigen Sie aber die richtigen Windows-Schriftarten. Diese können Sie mit dem Zusatztool winetricks installieren (https://gitlab.winehq.org/wine/wine/-/wikis/Winetricks ). 

Führen Sie dazu folgenden Befehl aus:

sudo apt-get install winetricks

Starten Sie winetricks

winetricks

Es erscheint ein Willkommensdialog. Dort wählen Sie "Install an application" aus und wählen aber keine Anwendung aus und brechen den nächsten Schritt mit Cancel ab. Wählen Sie dann "Install a font" aus und Drücken ok. Wählen Sie am besten alle Schriften aus. (Notwendig ist arial, calibri, consolas, courier, tahome, times, verdana, webdings.

Kopieren Sie anschließend das gesamte bin-Verzeichnis wo iplus für als Windows-Desktop-Version kompiliert vorliegt (in der Regel das Verzeichnis net8.0-windows7.0) in ein Linux-Verzeichnis. Wechseln Sie in per Terminal in dieses Verzeichnis und starten iplus mit dem Befehl:

wine gip.iplus.client.exe

oder

wine gip.mes.client.exe

 

Das Öffnen der Visualisierung kann je nach Anzahl der zu parsenden XAML-Designs länger dauern. In solchen Fällen zeigt Gnome die Warnmeldung „Fenster reagiert nicht“ an. Um das Timeout zu verlängern, führen Sie bitte den folgenden Befehl in der Konsole aus:

Verlängern:
gsettings set org.gnome.mutter check-alive-timeout 60000
Auschalten:
gsettings set org.gnome.mutter check-alive-timeout 0

 

ZorinOS

Mit ZorinOS kann man sich die Wine-Installation viel einfacher machen indem man die Wine-Unterstützung direkt anklickt:

https://help.zorin.com/docs/apps-games/windows-app-support/

Neuere Versionen von Wine kann man unter Anleitung dieser Hilfe erzwingen:

https://forum.zorin.com/t/how-can-a-user-update-wine-on-zorin-os/25784

Schriftarten fügt man auf diese Weise hinzu:
https://help.zorin.com/docs/system-software/microsoft-fonts/

Weitere Schriftarten kann man hinzufügen in dem man die *.ttf-Fonts aus dem Windows Fonts Verzeichnis %Windows\Fonts in das Linux-Verzeichnis /usr/share/fonts/truetype/msttcorefonts kopiert.

Anschließend, kann man das Programm direkt aus dem Dateimanager per Doppelklick starten.

Um das Programm als Verknüpfung auf dem Desktop zu starten legt man eine *.desktop-Datei im home-Verzeichnis (/home/username/desktop) an:

[Desktop Entry]
Name=iplus-MES
Comment=iPlus Manufacturing Execution System
Exec=env WINEPREFIX="/home/username/.wine" wine /home/username/iPlus/net8.0-windows7.0/gip.mes.client.exe
Icon=/home/username/iPlus/net8.0-windows7.0/iPlusIconDesktopLarge_256.png
Path=/home/username/iPlus/net8.0-windows7.0/
Type=Application
StartupNotify=true
Terminal=false