PhotoLine unter Linux

Hier diskutieren die Anwender von PhotoLine untereinander
Benutzeravatar
Gerhard Huber
Entwickler
Entwickler
Beiträge: 4276
Registriert: Mo 18 Nov 2002 15:30
Wohnort: Bad Gögging

PhotoLine unter Linux

Beitrag von Gerhard Huber »

Dass PhotoLine unter wine mit Linux betrieben werden kann, wurde hier ja schon öfters beschrieben.
Aktuell hat mir ein Anwender eine Anleitung zukommen lassen, wie er es bei sich installiert hat, damit er auch ein Desktop-Icon bekommt:

- wine muss installiert sein
- Ausgepackt in /opt/Photoline
- Zwei Dateien für die Integration in den Desktop:
1. photoline.png (habe ich aus dem .exe extrahiert, könnten Sie
vielleicht als Datei beilegen)
2. photoline.desktop
Siehe unten
- photoline.desktop im home-Verzeichnis kopiert nach:
~/.local/share/applications

Der Inhalt von photoline.desktop:

Code: Alles auswählen

[Desktop Entry]
Type=Application
Name=PhotoLine
GenericName=PhotoLine
Comment=Bildbearbeitung
Comment[de]=Bildbearbeitung
Comment[en]=Photo manipulation
Path=/opt/Photoline
Exec=wine Z:/opt/Photoline/PhotoLine.exe
Icon=/opt/Photoline/photoline.png
Terminal=false
Categories=Graphics;
Keywords=Photo;Image;
MimeType=image/bmp;image/jpeg;image/gif;image/png;application/pld;application/psd;
Benutzeravatar
gmhofmann
Beta Tester
Beiträge: 763
Registriert: Di 19 Nov 2002 17:22
Wohnort: Dieter-Schwarz-Stadt

Re: PhotoLine unter Linux

Beitrag von gmhofmann »

Ich habe PL seit Jahren als Icon im Dock (bei mir unten) liegen, weiß aber nicht mehr, wie ich das unter Ubuntu angelegt habe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
gmhofmann
Beta Tester
Beiträge: 763
Registriert: Di 19 Nov 2002 17:22
Wohnort: Dieter-Schwarz-Stadt

Re: PhotoLine unter Linux

Beitrag von gmhofmann »

Falls sich jemand fragt, wie man ein Update oder eine neue Beta installiert, bei mir klappt das am besten:
1. Archiv der Win-Version runterladen
2. Archiv entpacken
3. Console öffnen und eintippen: "wine "
4. Installer mit Drag&Drop in die Console ziehen, so wird der korrekte Pfad der .exe übernommen :D
5. Mit ENTER loslegen...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
gmhofmann
Beta Tester
Beiträge: 763
Registriert: Di 19 Nov 2002 17:22
Wohnort: Dieter-Schwarz-Stadt

Re: PhotoLine unter Linux

Beitrag von gmhofmann »

Wenn man in WINE was einstellen möchte: es gibt ein Progrämmchen dazu.
Dieses kann in der Console mit der Eingabe "winecfg" gestartet werden...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
gmhofmann
Beta Tester
Beiträge: 763
Registriert: Di 19 Nov 2002 17:22
Wohnort: Dieter-Schwarz-Stadt

Re: PhotoLine unter Linux

Beitrag von gmhofmann »

... und wenn man mal wieder gepflegt den Durchblick bei den Linux- und WINE-Verzeichnissen verloren hat, mit CATFISH findet man alles wieder:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
csanchez
Mitglied
Beiträge: 36
Registriert: Di 19 Jul 2022 06:00

Re: PhotoLine unter Linux

Beitrag von csanchez »

I’m writing to raise a technical question I’ve had for some time, prompted by PhotoLine’s excellent implementation on Windows and macOS.
I understand that PhotoLine uses each platform’s native UI APIs (WinAPI on Windows and Cocoa on macOS), resulting in a cross-platform application that feels completely native in both environments.

This leads me to two questions:
1. About a Linux version: Given that the Linux ecosystem has mature native graphics frameworks like GTK and Qt, has the feasibility been assessed or is there any future plan to develop a native version of PhotoLine for this operating system?

2. About the software architecture: I’m very curious how the codebase is managed to achieve this. Does PhotoLine maintain a common core and then implement the UI layer separately for each system? Or are the Windows and macOS codebases substantially different? I’m interested in understanding the approach that allows applications like this to be native rather than using a generic cross-platform framework.
Benutzeravatar
chessboard
Mitglied
Beiträge: 81
Registriert: So 25 Feb 2018 19:26
Wohnort: Nordseeküste

Re: PhotoLine unter Linux

Beitrag von chessboard »

Ich habe im Zusammenhang mit Photoline unter Linux/Wine folgende Frage:
Ich versuche eine Verbindung zwischen Photoline(Wine) und Inkscape(Linux) als externem Programm herzustellen, um Vektorebenen in Inkscape bearbeiten und wieder zu Photoline zurückschicken zu können. Dass Photoline Inkscape startet, habe ich nach einigen Recherchen und viel Ausprobieren hinbekommen. Jetzt scheitere ich allerdings noch daran, Inkscape die temporäre Datei, die Photoline beim Aufruf übergibt, öffnen zu lassen.

Bislang habe ich folgendes gemacht:

1. Ein Shell-Script mit diesem Inhalt erstellt:

Code: Alles auswählen

#!/bin/bash

#Windowspfad zu Linuxpfad
FILE=$(winepath -u "S1")

#Inkscape mit der Datei starten
flatpak run org.inkscape.Inkscape "$FILE"
2. In Photoline unter "Externe Programme verwalten" einen Eintrag für Inkscape erzeugt und den Pfad zu dem Shell-Script so eingetragen:

Code: Alles auswählen

"Z:\home\<MeinNutzername>\Dokumente\photoline-inkscape.sh"wine "Z:\home\jojo\Dokumente\photoline-inkscape.sh"
Wenn ich jetzt eine Vektor-Ebene in Photoline auswähle und Inkscape über "Filter->Externe Programme->Inkscape" aufrufe, wird Inkscape gestartet, gibt aber folgende Fehlermeldung zurück; " Could not detect file format. Tried to open it as SVG anyway but this also failed."
Ich bin mir nicht sicher, ob durch mein Script überhaupt eine Datei übergeben wird, oder nicht vielmehr die Pfadumwandlung falsch konzipiert ist. Diesen Teil des Scripts habe ich aus einem Linux-Forumsbeitrag übernommen. Möglicherweise fehlen hier noch Teile oder die Syntax ist nicht korrekt.

Meine Frage also: Hat ein hiesiger Linux-Nutzer es geschafft, diese Verbindung zwischen Photoline unter Wine und einem Linux-Programm wie Inkscape herzustellen? Und wenn ja, wäre ich dankbar für hilfreiche Tipps, wie das Script anzupassen ist.
Vielen Dank schon mal im Voraus.

Gruß, Joachim
Prokin
Mitglied
Beiträge: 16
Registriert: Sa 06 Mai 2023 15:48

Re: PhotoLine unter Linux

Beitrag von Prokin »

Hat ein hiesiger Linux-Nutzer es geschafft, diese Verbindung zwischen Photoline unter Wine und einem Linux-Programm wie Inkscape herzustellen?
Ja, geht einfach, auch ohne Script, über "Einstellungen" in PhotoLine >Erweitert >Externe Programme und dort Inkscape eintragen, bei mir über Z:\bin\inkscape

Allerdings scheitert auch dann die Übergabe nach Inkscape mit der Meldung "Laden der gewünschten Datei C:\users\username\Temp\tmpxxx fehlgeschlagen"
Ich nehme an, dass es einfach daran liegt, dass es an der Pfadangabe scheitert, da die Angabe zu der Wineumgebung fehlt. Die TMP Datei liegt ja für Inkscape bei mir unter:
/home/username/.wine/photoline/drive_c/users/username/Temp/tmpxxx
damit er auch ein Desktop-Icon bekommt:
Um die unter Wine installierten Programme getrennt zu halten, erstelle ich für jedes Programm einen eigenen Winepfad im Persönlichen Ordner im verstecktem Ordner .wine, unter opt ist aber auch eine gängige Möglichkeit.
Im Terminal erstelle ich mit

Code: Alles auswählen

WINEPREFIX=$HOME/.wine/photoline wine explorer.exe
das entsprechende Verzeichnis. Im sich öffnenden Windowsdateiexplorere öffne ich dann die Photoline.exe (auch für Updates) und installiere sie. Dabei scheinen sich die Programmicons in verschiedenen Auflösungen installiert zu haben. Zu finden unter /home/username/.local/share/icons/hicolor da dort in verschiedenen Ordnern die Icons in verschiedenen Auflösungen liegen, haben sie für das jeweilige Programm denselben Dateinamen, bei mir heißt das letzte Photoline Icon ECB7_Photoline.0.png. Die .desktop Datei hat dementsprechend den Eintrag:

Code: Alles auswählen

[Desktop Entry]
Name=PhotoLine
Exec=env WINEPREFIX="/home/username/.wine/photoline" wine C:\\\\Program\\ Files\\\\PhotoLine\\\\PhotoLine.exe 
Type=Application
StartupNotify=true
Path=/home/username/.wine/photoline/dosdevices/c:/Program Files/PhotoLine
Icon=EBC7_PhotoLine.0
StartupWMClass=photoline.exe
Martin Huber
Entwickler
Entwickler
Beiträge: 4298
Registriert: Di 19 Nov 2002 15:49

Re: PhotoLine unter Linux

Beitrag von Martin Huber »

chessboard hat geschrieben: Mi 12 Nov 2025 20:10 Bislang habe ich folgendes gemacht:

1. Ein Shell-Script mit diesem Inhalt erstellt:

Code: Alles auswählen

#!/bin/bash

#Windowspfad zu Linuxpfad
FILE=$(winepath -u "S1")

#Inkscape mit der Datei starten
flatpak run org.inkscape.Inkscape "$FILE"
Das "S1" bei "FILE=$(winepath -u "S1")" ist ein Tippfehler in deinem Forumsbeitrag, oder?
chessboard hat geschrieben: Mi 12 Nov 2025 20:10 Ich bin mir nicht sicher, ob durch mein Script überhaupt eine Datei übergeben wird, oder nicht vielmehr die Pfadumwandlung falsch konzipiert ist. Diesen Teil des Scripts habe ich aus einem Linux-Forumsbeitrag übernommen. Möglicherweise fehlen hier noch Teile oder die Syntax ist nicht korrekt.
Ich habe da leider auch keine Ahnung, aber ich habe mal eine KI zu dem Thema gefragt, und die hat das im Prinzip auch so vorgeschlagen. Ihr Skript sah so aus:

Code: Alles auswählen

#!/bin/bash
winpath="$1"
linuxpath=$(winepath -u "$winpath")
exec /usr/bin/inkscape "$linuxpath"
Du kannst dein Skript auch mal direkt von der Befehlszeile ausführen. Dann siehst du, ob dabei Fehler auftreten. Eventuell wäre es dabei auch sinnvoll, den konvertierten Pfad über "echo" auszugeben.
Prokin
Mitglied
Beiträge: 16
Registriert: Sa 06 Mai 2023 15:48

Re: PhotoLine unter Linux

Beitrag von Prokin »

chessboard hat geschrieben: Mi 12 Nov 2025 20:10Meine Frage also: Hat ein hiesiger Linux-Nutzer es geschafft, diese Verbindung zwischen Photoline unter Wine und einem Linux-Programm wie Inkscape herzustellen?
Ja, jetzt funktioniert es. 5 Schritte sind nötig. Die Pfadangaben zu "username", "scriptordner" und einem eventuellen Wine Prefix (hier "photoline") sind den eigenen Gegebenheiten anzupassen:
1. Eintrag von Inkscape in Photoline unter >Einstellungen > Erweitert >Externe Programme.
WICHTIG nicht Z:\bin\inkscape eingeben, sondern nur Z:\inkscape.

2. Script erstellen, um die Windowspfade in Linuxpfade zu übersetzen. Das & Zeichen am Ende bewirkt, dass eine Meldung kommt, dass Inkscape bereit ist.:

Code: Alles auswählen

#!/bin/bash
winpath="$1"
linuxpath=$(winepath -u "$winpath")
exec /usr/bin/inkscape "$linuxpath" &
Nun muss noch das Script Photoline bekanntgemacht werden.
3. Das Script ausführbar machen:

Code: Alles auswählen

chmod +x /home/username/scriptordner/photoline-inkscape.sh
Da Photoline im Eintrag für externe Programme das Script nicht direkt als Pfad akzeptiert, muss für Inkscape ein symbolischer Link erstellt werden, der in Photoline Wine Verzeichnis als Laufwerk Z unter dosdevices steht.
4. Das Verzeichnis für das Laufwerk Z wird erstellt mit:

Code: Alles auswählen

mkdir -p "$HOME/.wine/photoline/dosdevices/z:"
5. Der symbolische Link wird dann eingerichtet mit folgendem Befehl (mit f wird ein eventuell vorhandener Link überschrieben):

Code: Alles auswählen

ln -sf /home/username/scriptordner/photoline-inkscape.sh "$HOME/.wine/photoline/dosdevices/z:inkscape"
Nun öffnet Inkscape z.B. eine Ebene, die in Photoline über >Filter >Externe Programme an Inkscape übergeben wird. Eine Änderung in Inkscape und dortiges Speichern bewirkt dann eine sofortige Änderung in Photoline.

Ist Inkscape als Flatpak installiert, müsste die Anpassung des Scriptes reichen, alle anderen Einträge bleiben gleich (habe ich aber nicht ausprobiert).

Code: Alles auswählen

#!/bin/bash
winpath="$1"
linuxpath=$(winepath -u "$winpath")
flatpak run org.inkscape.Inkscape "$linuxpath" &