Które dystrybucje mają $ HOME / .local / bin w $ PATH?

42

Przykład: w Ubuntu zawsze jest .localkatalog w katalogu domowym i .profilezawiera ten wiersz:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

$HOME/.local/bindomyślnie nie istnieje, ale jeśli został utworzony, jest już w nim $PATHi można znaleźć pliki wykonywalne.

Nie jest to dokładnie wspomniane w specyfikacji katalogu XDG, ale wydaje się, że pochodzi z niego.

Zastanawiam się, czy jest to na tyle powszechne, że można zwykle założyć, że istnieje ono w najpopularniejszych dystrybucjach użytkowników końcowych. Czy na przykład we wszystkich pochodnych Debianie, a przynajmniej w Ubuntu? Co powiesz na ekosystem Red Hat / Fedora / CentOS? I tak dalej z Arch, Suse i tym, czego ludzie używają obecnie.

Żeby było bardziej jasne, to tylko dla $HOME/.local/bin, nie $HOME/bin .

Z ciekawości zachęcamy do dołączenia BSD, OS / X i innych, jeśli masz takie informacje. :)

Stoffe
źródło
Widziałem to pytanie zadane wcześniej, ale nie spotkałem systemu, który to robi. Aby pytanie było bardziej aktualne niż opinia , możesz wyeliminować rozważania dotyczące „dość powszechnego” i po prostu zapytać, skąd pochodzi i przykłady systemów, które robią to dla nowych kont użytkowników. Na przykład „Ostatnia” Fedora to robi.
Thomas Dickey
Mogę przeredagować, by zapytać po prostu „który” to zrobić, jasne. Trudno jest sformułować pytanie, ponieważ to, czego szukam, nie jest jednoznaczną odpowiedzią, ale przede wszystkim wyczuciem, czy można to racjonalnie założyć w większości przypadków 2016.
Stoffe
1
Nie mam tego na swojej drodze i na pewno tego nie umieszczę. (Debian, ale xdm / fvwm, ani Gnome, ani KDE jako pulpit).
dirkt
1
Poszukałem systemu, który może go mieć. Żadne z moich kont programistycznych nie używa bash , a programy pakujące po prostu nie są wystarczająco dokładne, aby to zauważyć, chyba że zrobię specjalny test (zobacz newpath ).
Thomas Dickey
1
IIRC Ubuntu /etc/skel/.profiledo co najmniej 14.04 testów na obecność użytkownika $HOME/bini dodaje go, PATHjeśli istnieje; przeciwnie, 16.04 wydaje się dodawać oba $HOME/bini $HOME/.local/binbezwarunkowo. Nie przypominam sobie wcześniej dodawania Ubuntusa $HOME/.local/bin- ale nie widzę nic istotnego w dzienniku bashzmian pakietu (który rzekomo jest właścicielem /etc/skel/.profile).
steeldriver

Odpowiedzi:

41

Do ~/.localkatalogów jest częścią tej Systemd plików hierarchii specyfikacji i jest rozszerzeniem specyfikacji XDG user-dirs

Może to być mylące, ponieważ pakiety pochodzące z Debiana bashzgubiły ~/.localścieżkę, gdy zmieniono wersję na wersję bash 4.3, którą mieli w wersji bash 4.2.

Jest to błąd , a łatka już od jakiegoś czasu znajduje się w systemie Debian.

Ten błąd jest przyczyną, dla której Ubuntu 16.04 miał ~ / .local na ścieżce, a Ubuntu 17.04 nie.

Jeśli uruchomisz systemd-pathjako użytkownik i zobaczysz, że ma on być na ścieżce.

$ systemd-path user-binaries
/home/foo/.local/bin

Teoretycznie odpowiedzią na twoje zapytanie jest Dowolna dystrybucja, która używa systemd lub chce zachować zgodność z systemd.

Jest więcej informacji w file-hierarchy(7)

gdahlm
źródło
1
Dzięki! Czy z czystej ciekawości tak było również w czasach upartu? Pytam tylko dlatego, że moja pamięć mówi, że była tam wcześniej niż systemd, ale równie prawdopodobne jest, że po prostu źle ją zapamiętałem!
Stoffe,
Wątpiłbym, żeby to było przed systemd, na zawsze konwencja była ~ / bin.
pfalcon
Arrgh, ten błąd prawdopodobnie pojawił się również 16.04 dzięki uprzejmości backported bash 4.3
Adrian
Działa w Ubuntu 18.04.
Daniel
1

W przypadku dystrybucji opartych na RPM sytuacja wygląda tak

  • RHEL 7 - dodaje go na końcu ŚCIEŻKI, patrz https://bugzilla.redhat.com/show_bug.cgi?id=1583227, gdy używasz powłoki logowania. Będzie działać, sudo su -l johndoeale nie będzie działać, jeśli nie użyjesz -lprzełącznika.
  • CentOS 7 - patrz RHEL, zawsze podąża za RHEL.
  • Fedora 28 (prawdopodobnie także starsza) - taka sama jak RHEL / CentOS, dodana na końcu PATH

Jeśli chcesz zobaczyć te błędy posortowane, nie zapomnij głosować / komentować je, ponieważ podkreśla to wagę problemu.

sorin
źródło