Verschiedene Systempfade für Win&Mac - aber wie für Linux

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von ts-soft »

GPI hat geschrieben:Program-Data wird eigentlich unter Home bei Linux mit einen "." in Ordnernamen abgespeichert. Dementsprechend wäre das dann GetHomeDirectory()+"."
Naja, nicht immer. Es käme z.B. auch /usr/share/ oder /opt/share/ in Frage. Aber im Grunde ist Deine Variante doch die sinnvollste.
Wenn es doch Einstellungen, für alle User sein sollen, wäre aber /usr/share/ sinnvoller. Das würde auch dem verstecktem Verzeichnis "c:\ProgramData\" eher entsprechen.

PS: /usr/ hat nichts mit user zu tun :wink:
GPI hat geschrieben:Wohin werden denn bei Linux die Programme hininstalliert? Irgendwo müssen die doch auch landen.
Z.B. nach /bin/, das entspricht aber eher dem C:\Windows\ oder C:\Windows\System. Ansonsten nach /usr/bin/ oder /opt/bin/.
Manche Distribution unterscheidet da noch nach x86 oder x86_64.
Oder einfach ins Homeverzeichnis. Manche Distribution hat da aber auch noch ein /bin/ Unterverzeichnis. Im Homeverzeichnis
sind die Programme ohne weiteres zu tun nicht per Shell ohne Pfadangabe aufrufbar. Da kann man sich nicht so einfach festlegen.
Ich würde das Homeverzeichnis bevorzugen, keine Root-Rechte erforderlich, ist dann aber eher wie "Portable Programme".

Sollen andere entscheiden, ich nicht :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von GPI »

ts-soft hat geschrieben:
GPI hat geschrieben:Program-Data wird eigentlich unter Home bei Linux mit einen "." in Ordnernamen abgespeichert. Dementsprechend wäre das dann GetHomeDirectory()+"."
Naja, nicht immer. Es käme z.B. auch /usr/share/ oder /opt/share/ in Frage. Aber im Grunde ist Deine Variante doch die sinnvollste.
Wenn es doch Einstellungen, für alle User sein sollen, wäre aber /usr/share/ sinnvoller. Das würde auch dem verstecktem Verzeichnis "c:\ProgramData\" eher entsprechen.
Der Code zeigt übrigens nicht zu C:\ProgramData sondern zu den in Benutzerverzeichnis :)
Was ist der Unterschied usr und opt ?
Z.B. nach /bin/, das entspricht aber eher dem C:\Windows\ oder C:\Windows\System. Ansonsten nach /usr/bin/ oder /opt/bin/.
Manche Distribution unterscheidet da noch nach x86 oder x86_64.
Oder einfach ins Homeverzeichnis. Manche Distribution hat da aber auch noch ein /bin/ Unterverzeichnis. Im Homeverzeichnis
sind die Programme ohne weiteres zu tun nicht per Shell ohne Pfadangabe aufrufbar. Da kann man sich nicht so einfach festlegen.
Ich würde das Homeverzeichnis bevorzugen, keine Root-Rechte erforderlich, ist dann aber eher wie "Portable Programme".
Sollen andere entscheiden, ich nicht :mrgreen:
Das mit Root-Rechten wäre relativ egal. Bei Windows braucht man auch Admin-Rechte. Wobei ich die Frage in raum stelle, wozu man das Verzeichnis braucht. Außer für Installer braucht man das nicht.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von GPI »

Ich hab jetzt mal den Code auf der ersten Seite angepasst - wenn ihr ihn mal unter verschiedenen OS testen könntet, wäre nett.

Linux ist hier wirklich ein besonderer Fall. Laut https://wiki.ubuntuusers.de/Verzeichnisstruktur sollte man selbstgeschriebene Programme unter /usr/local/ abspeichern. Genauso wie unter Windows ist dieser Ordner aber schreibgeschützt - also ohne Rootrechte geht nichts.

Was das "AllUserData"-Verzeichnis von Linux angeht, wirds richtig lustig. Irgendwie speichert jeder da ab, wo er will. Eine richtige Lösung gibt es nicht. Soweit ich hier rauslesen konnte: http://www.tldp.org/LDP/Linux-Filesyste ... l/var.html müsste es folgerichtig dann /var/local sein

Leider gibt es hier ein Problem: Unter Linux/Mac muss hier ein Ordner mit Admin/Root-Rechten erstellt werden. Blöde Frage - wie macht man das bei den beiden OS? Ansonsten ist dieser Ordner relativ nutzlos.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von NicTheQuick »

Man kann während der Installation, in der man ja root ist, einen Ordner in /var/local anlegen, also z.B. /var/local/meinProgramm und dann den aktuellen Nutzer zum Eigentümer des Ordners machen. Oder man gibt ihm gleich volle Schreibrechte für jeden User. Dann kann man danach auch ohne root in dem Verzeichnis Programmeinstellungen speichern. Aber in den seltensten Fällen speichert ein Programm seine Konfiguration systemweit ab. Normalerweise speichert man die ja immer pro User ab.
NeoChris
Beiträge: 205
Registriert: 21.11.2013 21:17
Wohnort: Schweiz
Kontaktdaten:

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von NeoChris »

Linux soll ja sooo viel besser sein laut Meinung einiger Leute hier. /:-> Bin ich froh, Windows zu besitzen und zu nutzen. :P
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Verschiedene Systempfade für Win&Mac - aber wie für Linu

Beitrag von ts-soft »

Hab es mal unter Windows und Linux getested, sieht gut aus!
Bild

@NeoChris
Für mehr wird es wahrscheinlich auch nicht reichen :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten