Fügen Sie PATH $ HOME / bin für einen einzelnen Benutzer in Debian Wheezy mit LXDE hinzu

8

Wenn in Ubuntu $ HOME / bin vorhanden ist, wird es automatisch zu PATH hinzugefügt, dies geschieht jedoch nicht in Debian.

Wie füge ich es für einen bestimmten Benutzer dauerhaft zu PATH hinzu, aber nur für ihn, nicht für alle Benutzer? Ich möchte, dass es auch für GUI-Programme gültig ist, nicht nur für das Terminal.

Bearbeiten: Zur Verdeutlichung verwende ich LXDE und von einem Login-Manager, dh nicht startx. .bashrcfunktioniert nicht für Programme, die ich außerhalb eines Terminals starte.

Sashoalm
quelle
Hinweis: Da Sie in der dritten Person sprechen, besteht die Möglichkeit, dass der Benutzer nicht Sie ist. Dann wird es als unhöflich angesehen, seine Einstellungen selbst zu ändern (es sei denn, er hat dies natürlich ausdrücklich verlangt).
Fkraiem
Keine Sorge, der Benutzer bin ich.
Sashoalm

Antworten:

8

Es stellte sich heraus, dass lightdm(der Login-Manager, den LXDE jetzt verwendet) keine Quelle ist ~/.profile.

Was für mich funktioniert hat, war zu schaffen ~/.xsessionrc:

if [ -d $HOME/bin ]; then
    export PATH="$HOME/bin:$PATH"
fi

Sie können dies auch hinzufügen, /etc/X11/Xsession.d/90userbinpathwenn Sie möchten, dass alle Benutzer mit einer systemweiten Konfiguration davon profitieren (jeder Benutzer würde von seinem eigenen Pfad profitieren).

Sashoalm
quelle
2
Oder Sie könnten die gesamte .profile-Datei als Quelle verwenden (was möglicherweise mehr als nur $ PATH setzt):if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
basic6
1

Sie können das / etc / profile ausprobieren.

nano /etc/profile

Es gibt zwei Arten von PATH: den Pfad für das Stammverzeichnis und den Pfad für normale Benutzer, die kein Stammverzeichnis sind. Also fügst du dem Root oder normalen Benutzern einfach das / $ HOME / bin am Ende der Zeile hinzu Ctrl+Ound Ctrl+Xlos geht's :). Denken Sie daran, dass Sie root benötigen, um diesen Vorgang auszuführen.

Oder Sie können zu Ihnen nach Hause gehen und sich dort das .profile ansehen.

cd /home/YOURUSERNAME
nano .profile

In Debian macht es das automatisch auch (füge den Bin zum Pfad hinzu). Machen Sie eine, um echo $HOMEzu sehen, was zu Hause ist.

Rafael Campos Nunes
quelle
Das wäre global für alle Benutzer, ich habe ausdrücklich darauf hingewiesen "für einen einzelnen Benutzer". Wäre es nicht besser, ~/.profilestattdessen zu verwenden ?
Sashoalm
@sashoalm, bearbeitet :)
Rafael Campos Nunes
OK, .profilescheint aber überhaupt nicht ausgeführt zu werden. Ist es die richtige Datei? echo $PATHzeigt meine Änderungen nicht an, auch nicht von einem Terminal. Ich habe nicht ~/.bash_profileoder ~/.bash_login.
Sashoalm
Versuchen Sie, Ihre Sitzung zu beenden und sich erneut anzumelden. Ich weiß nicht, ob es sich um die richtige Datei handelt, aber jeder Benutzer hat eine, daher wäre dies die Antwort auf Ihre Frage ...
Rafael Campos Nunes
Ja, das habe ich getan, aber es scheint überhaupt nicht gelesen zu werden. Ich habe eine neue Frage dazu gestellt - unix.stackexchange.com/questions/131320/…
sashoalm
-1

Fügen Sie in Ihre ~ / .bashrc-Datei die folgende Zeile ein:

PATH=$PATH:$HOME/bin

Speichern Sie es und geben Sie die Datei als Quelle ein, damit sie wirksam wird.

source ~/.bashrc

Sie können dann überprüfen, indem Sie ausführen

echo $PATH

Erstellen Sie zum Ausführen von GUI-Programmen im Befehlsfenster Ausführen (Alt + F2) eine neue leere .xsession-Datei in Ihrem Home-Verzeichnis und fügen Sie die folgenden Zeilen hinzu:

#!/bin/bash -l
PATH=$PATH:$HOME/bin

Speichern Sie es und laden Sie Ihre LXDE-Sitzung neu. Ich habe getestet, indem ich xterm in das Verzeichnis $ HOME / bin verschoben und mit Alt + F2 aufgerufen und erfolgreich gestartet habe.

cioby23
quelle
Dies funktioniert für eine X-Sitzung / GUI-Programme, nicht nur für das Terminal, oder?
Sashoalm
Dies funktioniert in beiden Fällen GUI und Terminal.
cioby23
OK, ich dachte, GUI-Programme erben nicht von .bashrc, es sei denn, sie werden von einem Terminal aus gestartet.
Sashoalm
Beachten Sie, dass Sie $HOME/binauf diese Weise mehrmals zum Ende von $ PATH hinzufügen können: unix.stackexchange.com/questions/124444/…
Goldlöckchen
OK, .bashrc funktioniert nicht - es scheint nur für Programme zu funktionieren, von denen ich beginne xterm, aber nicht für Programme, bei denen ich "Alt + F2" verwende, dh von LXDE (dem DE, das ich verwende). Das DE verwendet einen Login-Manager, nicht startx.
Sashoalm