1
सिस्टम-वाइड डिफ़ॉल्ट PATH में परिभाषित किया गया है /etc/environment
। पहले, यह सत्यापित करें कि यह एक मान मूल्य पर सेट है। संदर्भ के लिए, यहां मेरा है, जो एक डिफ़ॉल्ट इंस्टॉल के समान है:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
2
यदि /etc/environment
आप समझदार हैं और आप अभी भी समस्याएँ हैं, तो आप डिफ़ॉल्ट पथ को ओवरराइड कर सकते हैं ~/.bashrc
। उदाहरण के लिए, मेरे पास मेरे .bashrc में एक निर्देशिका है जो मेरे पथ पर एक निर्देशिका को जोड़ता है यदि और केवल यदि यह मौजूद है और पहले से ही मेरे पथ में नहीं है:
if [ -d "$HOME/bin" ]; then
if [[ $PATH =~ $HOME/bin ]]; then :
else export PATH="$HOME/bin:$PATH"
fi
fi
चूंकि यह आपके स्क्रीनशॉट से प्रकट होता है कि आपने रूट लॉगिन सक्षम किया है, इसलिए रूट का .bashrc, साथ ही सेट करना सुनिश्चित करें। (वैसे, चूंकि उबंटू में रूट डिफ़ॉल्ट रूप से लॉगिन नहीं कर सकता है, यह कॉन्फ़िगरेशन संभवतः कम परीक्षण किया गया है और संभवतः आपकी समस्या से संबंधित हो सकता है।)
3
यदि पहले दो तरीके विफल हो जाते हैं, तो जांचें कि आपका एक्सआरडीपी क्लाइंट कुछ विदेशी कर रहा है या नहीं। यदि हां, तो आपको इसे सामान्य रूप से काम करने के लिए कॉन्फ़िगर करना होगा या इसके चारों ओर काम करने के तरीके की पहचान करनी होगी।
अपडेट करें
मैं सिस्टम के आसपास कुछ देख रहा हूँ। आप अपने सिस्टम के सभी स्थानों को पा सकते हैं जो निम्नलिखित कमांड के साथ एक PATH को निर्दिष्ट करते हैं (यह sudo
इसलिए है क्योंकि कुछ फ़ाइलें /etc
सामान्य उपयोगकर्ताओं द्वारा अपठनीय हैं):
sudo egrep -nr '\bPATH' /etc | less
मुझे लगता है कि उन स्थानों में से कई को अनदेखा करना सुरक्षित है, जिसके परिणामस्वरूप निम्न आदेश हैं:
sudo egrep -nr '\bPATH' /etc | egrep -v '^/etc/(init|rc|ppp|bash_c)' | egrep -v '^Binary' | less
एक फ़ाइल जो संभव लगती है (हालाँकि मुझे वास्तव में इसके बारे में बहुत अधिक जानकारी नहीं है) /etc/login.defs
। आप इसे देख सकते हैं।
इसके अलावा, आप अपने डॉटफ़ाइल्स को भी प्राप्त कर सकते हैं:
egrep -nr '\bPATH' $HOME/.* | less
/etc/environment
!