Thêm $ HOME / bin vào PATH cho một người dùng trong Debian Wheezy với LXDE


8

Trong Ubuntu, nếu $ HOME / bin tồn tại, nó sẽ được tự động thêm vào PATH, nhưng điều này không xảy ra trong Debian.

Làm cách nào để tôi thêm nó vĩnh viễn vào PATH cho một người dùng nhất định, nhưng chỉ cho anh ta, không phải cho tất cả người dùng? Tôi muốn nó cũng hợp lệ cho các chương trình GUI, không chỉ cho thiết bị đầu cuối.

Chỉnh sửa: Để làm rõ, tôi sử dụng LXDE và từ trình quản lý đăng nhập, tức là không startx. .bashrckhông hoạt động cho các chương trình tôi bắt đầu bên ngoài một thiết bị đầu cuối.


Lưu ý: Vì bạn nói chuyện với người thứ ba, có khả năng người dùng không phải là bạn. Sau đó, nó được coi là thô lỗ để tự sửa đổi cài đặt của anh ấy (tất nhiên trừ khi anh ấy hỏi nó rõ ràng).
fkraiem

Đừng lo lắng, người dùng là tôi.
sashoalm

Câu trả lời:


8

Hóa ra lightdm(trình quản lý đăng nhập LXDE hiện sử dụng) không có nguồn ~/.profile.

Những gì làm việc cho tôi là tạo ra ~/.xsessionrc:

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

Bạn cũng có thể thêm phần này vào /etc/X11/Xsession.d/90userbinpathnếu bạn muốn tất cả người dùng được hưởng lợi từ điều này (mỗi người dùng sẽ có lợi cho đường dẫn của riêng mình) với cấu hình toàn hệ thống.


2
Hoặc bạn có thể nguồn toàn bộ tệp .profile (có thể làm nhiều hơn là chỉ đặt $ PATH):if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
basic6

1

Bạn có thể thử / etc / profile.

nano /etc/profile

Sẽ có hai loại PATH, đường dẫn cho root và đường dẫn cho người dùng bình thường, không root. Vì vậy, bạn chỉ cần thêm vào root hoặc người dùng bình thường / $ HOME / bin ở cuối dòng Ctrl+OCtrl+Xbạn sẽ đến đó :). Hãy nhớ rằng bạn cần root để thực hiện thao tác này.

Hoặc, bạn có thể đến nhà của bạn và xem .profile ở đó.

cd /home/YOURUSERNAME
nano .profile

Trong debian nó cũng tự động làm điều đó (thêm bin vào đường dẫn). Làm một echo $HOMEđể xem nhà là gì.


Đó sẽ là toàn cầu cho tất cả người dùng, tôi đặc biệt chỉ ra "cho một người dùng". ~/.profileThay vào đó, nó sẽ tốt hơn để sử dụng chứ?
sashoalm

@sashoalm, đã chỉnh sửa :)
Rafael Campos Nunes

OK, nhưng .profiledường như không được thực hiện ở tất cả. Đây có phải là tập tin chính xác để sử dụng? echo $PATHkhông hiển thị các thay đổi của tôi, ngay cả từ một thiết bị đầu cuối. Tôi không có ~/.bash_profilehoặc ~/.bash_login.
sashoalm

Hãy thử thoát phiên của bạn và đăng nhập lại, tôi không biết liệu đó có phải là tệp chính xác để sử dụng không, nhưng mọi người dùng đều có một, vì vậy nó sẽ là câu trả lời cho câu hỏi của bạn ...
Rafael Campos Nunes

Vâng, tôi đã làm điều đó, nhưng dường như nó không được đọc. Tôi đã đăng một câu hỏi mới về điều đó - unix.stackexchange.com/questions/131320/ trên
sashoalm

-1

Trong tệp ~ / .bashrc của bạn thêm dòng sau:

PATH=$PATH:$HOME/bin

Lưu nó và sau đó nguồn tập tin có hiệu lực.

source ~/.bashrc

Bạn có thể kiểm tra sau đó bằng cách chạy

echo $PATH

Để chạy các chương trình GUI từ cửa sổ lệnh Run (Alt + F2), hãy tạo một tệp .xsession trống mới trong thư mục chính của bạn và thêm các dòng sau:

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

Lưu nó và tải lại phiên LXDE của bạn. Tôi đã thử nghiệm bằng cách di chuyển xterm trong thư mục $ HOME / bin và gọi nó bằng Alt + F2 và bắt đầu thành công.


Điều này sẽ làm việc cho một chương trình X / GUI, không chỉ cho thiết bị đầu cuối, phải không?
sashoalm

Điều này sẽ làm việc cho cả hai trường hợp GUI và thiết bị đầu cuối.
cioby23

OK, tôi nghĩ rằng các chương trình GUI không kế thừa từ .bashrc, trừ khi bắt đầu từ một thiết bị đầu cuối.
sashoalm

Coi chừng bạn có thể kết thúc việc thêm $HOME/binvào cuối $ PATH nhiều lần theo cách này: unix.stackexchange.com/questions/124444/ trên
goldilocks

OK, .bashrc không hoạt động - dường như chỉ hoạt động đối với các chương trình tôi bắt đầu xterm, nhưng không hoạt động đối với các chương trình tôi bắt đầu sử dụng "Alt + F2", tức là từ LXDE (DE tôi sử dụng). DE sử dụng trình quản lý đăng nhập, không phải startx.
sashoalm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.