Wie hat die Sache mit ~ / .local / bin angefangen? Wie verbreitet ist es?

22

Ich finde immer mehr Tools, die ausführbare Dateien in ~ / .local / bin ablegen. Ich bin alt und für mich ist ~ / bin der Platz in meinem $ HOME für ausführbare Dateien.

Woher stammt diese verrückte neue Mode? Warum machen die Leute das? Wie verbreitet ist es? Ist es irgendwo formalisiert? Es ist nicht in der XDG-Verzeichnisspezifikation enthalten.

Es gibt eine verwandte Frage: Welche Distributionen haben $ HOME / .local / bin in $ PATH?

Ein Kommentar zu einer anderen Frage bezieht sich auf https://www.python.org/dev/peps/pep-0370, die es bereits 2008 gab: Warum wurde dieses Programm in ~ / .local / bin installiert ... das ist das erste Wann habe ich das gesehen?

Thomas Koch
quelle
Hier eine Vermutung: Um die Leute nicht zu ärgern, viele seltsame Subdirs in $ HOME zu erstellen, wurde 'bin' in ~ / .local versteckt. Aber wie wäre es mit ~ / Desktop und ~ / Downloads?
hschou
1
Es ist nicht in $ PATH in Ubuntu 14.04 - aber es ist dort in 16.04. Bisher habe ich keine Pakete, die ~ / .local / bin verwenden, aber ich glaube auch nicht, dass Pakete Dateien automatisch in ~ / bin gestellt haben. Vielleicht ist das das Prinzip dahinter - vielleicht sollten Pakete nicht automatisch Dateien in ~ / bin installieren, die der Benutzer verwenden kann?
Joe P
@hschou, obwohl ich Ihnen in Bezug auf ~ / Downloads und ~ / Desktop zustimme, halte ich das Verstecken eines Verzeichnisses mit Binärdateien für eine spektakulär schlechte Idee. Was war an ~ / bin oder an ~ / bin / python so schlimm?
Graham Nicholls

Antworten:

8

Sie haben bereits die Antwort: Python ist der Hauptbenutzer von ~/.local. Es ist das Einzige, an das ich mich erinnere. In Python wurde es als PEP 370 übernommen .

PEP 370 gibt einige Gründe an, warum ~/.localgewählt wurde. Einige Teile sind offensichtlich: Es musste sich im Home-Verzeichnis des Benutzers befinden, da dies für die Einzelbenutzerinstallation gilt. Es musste sich um eine Punktedatei handeln, damit sie wie andere Konfigurationsdateien nicht in den Augen verschwindet. Der Name .localimitiert /usr/local.

Der Speicherort wurde von FreeDesktop verwendet . Ich kenne keine Anwendung, die es verwendet.

Gilles 'SO - hör auf böse zu sein'
quelle