• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick
  • Auch in diesem Jahr möchten wir auf unserer Webseite mit einem passenden Banner etwas weihnachtliche Stimmung verbreiten. Jeder Apfeltalker kann, darf und sollte uns einen Banner-Entwurf zusenden, wie und wo das geht, könnt Ihr hier nachlesen --> Klick

Systemweite Umgebungsvariablen für macOS

James Atlick

Ontario
Registriert
05.05.09
Beiträge
345
Hallo Forum, ich bräuchte eure Hilfe bezüglich Variablen in macOS.
Leider sind die Angaben die ich gefunden habe sehr widersprüchlich oder veraltet, hoffentlich kann mir jemand von Euch weiterhelfen :)

Folgende Ausgangslage. Mehrere User Arbeiten unterschiedlichen Geräten.
Dort arbeiten sie mit Programmen, die mit Pfaden arbeiten die irgendwo hin verlinken.
Zum Beispiel Affinity und Pfade zu Bildern.

Das Problem ist nun, ich erstelle eine Affinity file auf dem PC und verlinke darin den Pfad \\share\Design\test.jpg für ein Bild in dieser Datei.
Nun kommt ein Mac User und öffnet die gleiche Datei.
Der Mac kann mit dem Pfad aber nix anfangen, da er auf smb://share/Design/test.jpg zeigen würde.
Nochmals ein anderer User nutzt für den Zugriff von unterwegs die offline Funktion von Dropbox und hat den Pfad /Users/username/Dropbox oder unter Windows C:\User\username\Dropbox

Gibt es eine Möglichkeit diese User irgendwie zusammen arbeiten können?
Bei Windows scheint es einfach zu sein. Erstelle die Variable %share% und gebe als Pfad einfach %share%\Design\test.jpg ein.
Was ist der offizielle weg bei macOS für eine Systemweite Variable? Konnte nur was für die shell finden.
Und selbst wenn ich es hinbekomme unter macOS, wie würde ich das slash Problem in den Griff bekommen?
 

James Atlick

Ontario
Registriert
05.05.09
Beiträge
345
Auf den Link bin ich auch gestossen, nur hilft er mir glaube ich nicht weiter, da ich die Apps nicht aus der Shell starte.
 

Wuchtbrumme

Golden Noble
Registriert
03.05.10
Beiträge
22.050
das sind doch komplett unterschiedliche Usecases, die sich durch eine Variable auch unter Windows nicht lösen ließen:
Der Mac kann mit dem Pfad aber nix anfangen, da er auf smb://share/Design/test.jpg zeigen würde.
ie offline Funktion von Dropbox und hat den Pfad /Users/username/Dropbox oder unter Windows C:\User\username\Dropbox
gebe als Pfad einfach %share%\Design\test.jpg ein.

Ich habe Affinity auf der Ebene noch nicht genutzt. Aber für sowas benutzt man normalerweise _relative_ Pfade, also ausgehend vom Dokumentenverzeichnis (was dann hoffentlich auch die anderen Dinge immer gleich enthält, also z.B. ein Share, ein ZIP-File o.ä.).

Ein üblicher relativer Pfad wäre "."
Wenn das Dokument in share liegt und geöffnet wurde, könnten die darin verlinkten Bilder in ./Design/ gespeichert sein.
Ob man das Documentroot dieses Dokuments noch anders referenzieren kann weiß ich leider spontan nicht - könnte mir wegen der Packages (spezielle Dateitypen, die eigentlich Verzeichnisse mit einer registrierten Endung sind, vgl. Fotos-Mediathek) aber vorstellen, dass man die genau darin sichert, damit das gesamte "Dokument" übertragen werden kann.

Vielleicht weiß @Marcel Bresink wie das geht?
 
Zuletzt bearbeitet:

James Atlick

Ontario
Registriert
05.05.09
Beiträge
345
das sind doch komplett unterschiedliche Usecases, die sich durch eine Variable auch unter Windows nicht lösen ließen:
Unter Windows erstelle ich die Variable %Design% und bei einem PC zeigt dies auf C:\User\username\Dropbox\Design, beim nächsten auf D:\ und beim nächsten auf \\Share\Design.
Am Ende haben alle den Pfad %Design%.
Problem ist eher, dass einige Programme den Pfad %Design% nicht akzeptieren, weil sie meinen es sei kein echter Pfad.
Oder weil sie die Variable auflösen und dann C:\User\username\Dropbox\Design anstelle von %Desgin% als Pfad speichern.
Ein üblicher relativer Pfad wäre "."
Wenn das Dokument in share liegt und geöffnet wurde, könnten die darin verlinkten Bilder in ./Design/ gespeichert sein.
Das ist eine tolle Idee, dem werde ich mal nachgehen. Eventuell ist dann immer noch das Forward- und Backslash Problem, aber das könnte man ja umgehen indem die Dateien im gleichen Ordner liegen.
 

Marcel Bresink

Filippas Apfel
Registriert
28.05.04
Beiträge
8.896
Unter Windows erstelle ich die Variable %Design% und bei einem PC zeigt dies auf C:\User\username\Dropbox\Design, beim nächsten auf D:\ und beim nächsten auf \\Share\Design.
Das kann man auf dem Mac auch machen, löst aber das Problem nicht, wenn die Affinity-Software sich weigert, diese Variable intern abzulegen, oder sie nicht im richtigen Moment auflöst.

So etwas verstößt auch gegen die Sicherheitsregeln von macOS, denn das Programm darf den Pfad nicht einfach als Pfad auswerten, sondern muss zusätzlich kryptografisch gesicherte Bookmarks verwenden, die das Einverständnis des Benutzers für den Zugriff auf diesen Pfad bestätigen. Ansonsten wird die Sandbox den Zugriff verweigern.

Ohne genaue Informationen, wie die Affinity-Software das handhabt, kommt man hier nicht weiter.
 

James Atlick

Ontario
Registriert
05.05.09
Beiträge
345
Danke für den Input!
Werde mal Affinity Forum & Support nachfragen, ob sie eine Lösung dafür haben.