1
PATH mặc định trên toàn hệ thống được xác định trong /etc/environment
. Đầu tiên, xác minh rằng nó được đặt thành một giá trị lành mạnh. Để tham khảo, đây là của tôi, giống như cài đặt mặc định:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
2
Nếu /etc/environment
lành mạnh và bạn vẫn gặp sự cố, bạn có thể ghi đè PATH mặc định ~/.bashrc
. Ví dụ: tôi có cái này trong .bashrc, nó sẽ thêm một thư mục vào PATH của tôi khi và chỉ khi nó tồn tại và chưa có trong PATH của tôi:
if [ -d "$HOME/bin" ]; then
if [[ $PATH =~ $HOME/bin ]]; then :
else export PATH="$HOME/bin:$PATH"
fi
fi
Vì nó xuất hiện từ ảnh chụp màn hình của bạn mà bạn đã bật đăng nhập gốc, hãy chắc chắn cũng đặt .bashrc của root. (Nhân tiện, vì root không thể đăng nhập theo mặc định trong Ubuntu, nên cấu hình này có lẽ ít được kiểm tra hơn và có thể liên quan đến vấn đề của bạn.)
3
Nếu hai phương thức đầu tiên thất bại, thì hãy kiểm tra xem máy khách XRDP của bạn có đang làm điều gì đó kỳ lạ không. Nếu vậy, bạn sẽ phải cấu hình nó hoạt động bình thường hoặc xác định một cách để làm việc xung quanh nó.
Cập nhật
Tôi đã làm một số tìm kiếm xung quanh hệ thống. Bạn có thể tìm thấy tất cả các vị trí trên hệ thống của mình chỉ định PATH bằng lệnh sau ( sudo
có ở đó vì một số tệp bên dưới /etc
không thể đọc được bởi người dùng thông thường):
sudo egrep -nr '\bPATH' /etc | less
Tôi nghĩ an toàn khi bỏ qua nhiều nơi đó, dẫn đến lệnh sau:
sudo egrep -nr '\bPATH' /etc | egrep -v '^/etc/(init|rc|ppp|bash_c)' | egrep -v '^Binary' | less
Một tập tin có vẻ khả thi (mặc dù tôi thực sự không biết quá nhiều về nó) /etc/login.defs
. Bạn có thể xem nó.
Ngoài ra, bạn cũng có thể grep dotfiles của mình:
egrep -nr '\bPATH' $HOME/.* | less
/etc/environment
!