Lazarus in Linux Anwendungsverwaltung

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben

Re: Lazarus in Linux Anwendungsverwaltung

Beitragvon Mathias » 13. Mär 2018, 17:22 Re: Lazarus in Linux Anwendungsverwaltung

Und deswegen kommt beim Versuch, Lazarus mit Installer in C:/Programme, welches ein Synonym für C:/Program Files ist zu installieren die Fehlermeldung: "Gewählter Ordner enthält Leerzeichen, bitte wähle Sie einen Ordner ohne Leerzeichen."
Die Leerzeichen in Systempfaden ist wieder ein richtiger M$ Furzidee, so etwas gibt nur Probleme.
Unter Linux kann man nicht mal einen User anlegen, der etwas anderes hat als Kleinbuchstaben.
Code: Alles auswählen
tux-To-be-filled-by-O-E-M tux # adduser "Hello World"
adduser: Um Probleme zu vermeiden, sollte der Benutzername nur aus Buchstaben,
Ziffern, Unterstrichen, Punkten, Klammeraffen (@) und Bindestrichen bestehen
und nicht mit einem Bindestrich anfangen (wie durch IEEE Std 1003.1-2001
festgelegt). Zur Kompatibilität mit Konten auf Samba-Rechnern wird
außerdem $ am Ende des Benutzernamens unterstützt
tux-To-be-filled-by-O-E-M tux # adduser Hello World
adduser: Der Benutzer »Hello« existiert nicht.
tux-To-be-filled-by-O-E-M tux # adduser Hello
adduser: Bitte geben Sie einen Benutzernamen ein, der mit dem regulären Ausdruck übereinstimmt, der durch die NAME_REGEX[_SYSTEM]-Variable konfiguriert wurde.  Nutzen Sie die Option »--force-badname«,
um diese Prüfung zu deaktivieren oder ändern Sie die NAME_REGEX-Variable.
tux-To-be-filled-by-O-E-M tux # adduser hello
Lege Benutzer »hello« an ...
Lege neue Gruppe »hello« (1002) an ...
Lege neuen Benutzer »hello« (1002) mit Gruppe »hello« an ...
Erstelle Home-Verzeichnis »/home/hello« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues UNIX-Passwort ein:


Generell sollte man wen möglich Leerzeichen vermeiden, dies besonders auch bei Lazarus-Projecten. Dafür gibt es _ .
Sonst kann man nicht mal eine Konsole von Lazarus aus starten.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3855
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 13. Mär 2018, 17:35 Re: Lazarus in Linux Anwendungsverwaltung

Mathias hat geschrieben:Die Leerzeichen in Systempfaden ist wieder ein richtiger M$ Furzidee, so etwas gibt nur Probleme.


Aber das schon ziemlich lange und die meisten Programme kommen damit klar. Früher (tm) wurde Windows ausgelacht, weil sie nicht so schöne lange Dateinamen mit so vielen Sonderzeichen wie Unix und MacOS konnten.

Für den Computer ist ein Leerzeichen auch nur ein Binärcode.

Mathias hat geschrieben:Unter Linux kann man nicht mal einen User anlegen, der etwas anderes hat als Kleinbuchstaben.


Ähm, doch: https://www.heise.de/security/meldung/Aufregung-ueber-angebliche-Sicherheitsluecke-in-systemd-3761498.html
Timm Thaler
 
Beiträge: 575
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.64 FPC3.0.4, Raspbian Stretch Laz1.62 FPC3.0.2 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Mathias » 13. Mär 2018, 17:48 Re: Lazarus in Linux Anwendungsverwaltung

Für den Computer ist ein Leerzeichen auch nur ein Binärcode.

Intern vielleicht schon, aber wen man mit der Konsole arbeitet nur ein Ärgernis.


Ziffern habe ich vergessen. Aber die gehen bei mir nur hinter einem Kleinbuchstaben.
Code: Alles auswählen
tux-To-be-filled-by-O-E-M tux # adduser 1234
adduser: Bitte geben Sie einen Benutzernamen ein, der mit dem regulären Ausdruck übereinstimmt, der durch die NAME_REGEX[_SYSTEM]-Variable konfiguriert wurde.  Nutzen Sie die Option »--force-badname«,
um diese Prüfung zu deaktivieren oder ändern Sie die NAME_REGEX-Variable.
tux-To-be-filled-by-O-E-M tux # adduser 1abc
adduser: Bitte geben Sie einen Benutzernamen ein, der mit dem regulären Ausdruck übereinstimmt, der durch die NAME_REGEX[_SYSTEM]-Variable konfiguriert wurde.  Nutzen Sie die Option »--force-badname«,
um diese Prüfung zu deaktivieren oder ändern Sie die NAME_REGEX-Variable.
tux-To-be-filled-by-O-E-M tux # adduser abc123
Lege Benutzer »abc123« an ...
Lege neue Gruppe »abc123« (1002) an ...
Lege neuen Benutzer »abc123« (1002) mit Gruppe »abc123« an ...
Erstelle Home-Verzeichnis »/home/abc123« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues UNIX-Passwort ein:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3855
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Socke » 13. Mär 2018, 22:09 Re: Lazarus in Linux Anwendungsverwaltung

Mathias hat geschrieben:
Für den Computer ist ein Leerzeichen auch nur ein Binärcode.

Intern vielleicht schon, aber wen man mit der Konsole arbeitet nur ein Ärgernis.

Der Grund ist doch, dass es viel zu kompliziert ist, Dateinamen in einer Shell korrekt zu behandeln und als Programmparameter weiterzureichen. https://mywiki.wooledge.org/BashPitfalls listet eine ganze Menge davon auf.
In Binärprogrammen habe ich dieses Problem nie verstanden, der Systemcall zur Programmausführung execv erlaub schließlich jeden Parameter einzeln ohne Escaping mitzugeben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2497
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon marcov » 14. Mär 2018, 02:45 Re: Lazarus in Linux Anwendungsverwaltung

Socke hat geschrieben:
Mathias hat geschrieben:
Für den Computer ist ein Leerzeichen auch nur ein Binärcode.

Intern vielleicht schon, aber wen man mit der Konsole arbeitet nur ein Ärgernis.

Der Grund ist doch, dass es viel zu kompliziert ist, Dateinamen in einer Shell korrekt zu behandeln und als Programmparameter weiterzureichen. https://mywiki.wooledge.org/BashPitfalls listet eine ganze Menge davon auf.


Das bash aus historische Grunde nicht dazu entworfen ist Leerzeichen elegant zu verwalten, meint nicht das Leerzeichen kompliziert sein. Was kompliziert ist, ist das man gewählt hat Kompatibilität mit alter Kram zu halten, und nicht es neu zu entwerfen.

Und eine menge von Unix nach Window geportete Software, wie GDB (und LD,AS,windres) vererbt diese misst.

In Binärprogrammen habe ich dieses Problem nie verstanden, der Systemcall zur Programmausführung execv erlaub schließlich jeden Parameter einzeln ohne Escaping mitzugeben.


Ja, das ist eine der wenige Aspekten wo *nix APIs Windows überlegen sind. Darum haben wir das auch in ExecuteProcess und später mit TProcess.Arguments so modelliert.
marcov
 
Beiträge: 1028
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

• Themenende •
Vorherige

Zurück zu Dies und Das



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried