Ubuntu में सिस्टमवाइड प्रॉक्सी सेटिंग्स


22

मैं अपने कॉलेज के प्रॉक्सी सर्वर पर इंटरनेट का उपयोग करना चाहता था जिसमें प्रमाणीकरण की भी आवश्यकता होती है। मैंने समाधानों के लिए Google की खोज की और मुझे जो सबसे अच्छा समाधान मिला वह यह था । मैंने प्रमाणीकरण को शामिल करने के लिए स्वीकृत उत्तर में स्क्रिप्ट को संशोधित किया है। ये रहा:

if [ $(id -u) -ne 0 ]; then
echo "This script must be run as root";
exit 1;
fi

if [ $# -eq 4 ] then

gsettings set org.gnome.system.proxy mode 'manual' ;
gsettings set org.gnome.system.proxy.http host '$1';
gsettings set org.gnome.system.proxy.http port $2;
gsettings set org.gnome.system.proxy.http authentication-user '$3';
gsettings set org.gnome.system.proxy.http authentication-password '$4';


grep PATH /etc/environment > lol.t;
printf \
"http_proxy=http://$3:$4@$1:$2/\n\
 https_proxy=http://$3:$4@$1:$2/\n\
 ftp_proxy=http://$3:$4@$1:$2/\n\
 no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
 HTTP_PROXY=http://$3:$4@$1:$2/\n\
 HTTPS_PROXY=http://$3:$4@$1:$2/\n\
 FTP_PROXY=http://$3:$4@$1:$2/\n\
 NO_PROXY=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n" >> lol.t;

 cat lol.t > /etc/environment;


 printf \
 "Acquire::http::proxy \"http://$3:$4@$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$3:$4@$1:$2/\";\n\
  Acquire::https::proxy \"https://$3:$4@$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

else

printf "Usage $0 <proxy_ip> <proxy_port> <username> <password>\n";

fi

हालाँकि, ऑनलाइन खाते अभी भी काम नहीं करते हैं (रिदमबॉक्स और अन्य GTK3 कार्यक्रमों के लिए) । एक सफेद स्क्रीन इस तरह दिखाई देती है:

यहाँ छवि विवरण दर्ज करें

इसे कैसे हल किया जा सकता है पर कोई सुझाव?


जवाबों:


31

यह अंत में हल:

(क्रमबद्ध तरीके से चरणों का पालन करें)

1. gtk3 प्रोग्राम के लिए जैसे कि रिदमबॉक्स और ऑनलाइन खाते:

सबसे पहले आपको नेटवर्क सेटिंग्स (प्रमाणीकरण के साथ) में प्रॉक्सी सेटिंग्स दर्ज करने की आवश्यकता है:

यहाँ छवि विवरण दर्ज करें

फिर सिस्टम चौड़ा लागू करें।

2. उपयुक्त, सॉफ्टवेयर केंद्र आदि के लिए

फ़ाइल संपादित करें /etc/apt/apt.conf

और फिर सभी मौजूदा पाठ को निम्न पंक्तियों द्वारा प्रतिस्थापित करें

Acquire::http::proxy "http://username:password@host:port/";
Acquire::ftp::proxy "ftp://username:password@host:port/";
Acquire::https::proxy "https://username:password@host:port/";

3. पर्यावरण चर

फ़ाइल संपादित करें /etc/environment

और फिर PATH = "कुछ यहाँ" के बाद निम्न पंक्तियों को जोड़ें।

http_proxy=http://username:password@host:port/
ftp_proxy=ftp://username:password@host:port/
https_proxy=https://username:password@host:port/

बस इतना ही..


1
चरण 1) परिवर्तन / आदि / पर्यावरण है? मैं कमांड लाइन के माध्यम से उस कदम को करने का एक तरीका चाहता हूं।
लुकास

लगता है चरण 1) के लिए भी काम करता है apt-get update। तो चरण 2 की आवश्यकता नहीं है)।
smwikipedia

@ रामन मुझे ऐसा करते समय पासवर्ड में विशेष वर्णों से बचने की कोई आवश्यकता है? यदि ऐसा है तो कैसे?
code_dragon

2

Wget प्रॉक्सी द्वारा पैकेज डाउनलोड करने के लिए / etc / वातावरण में सेटअप करना पड़ता है, और apt-get प्रॉक्सी द्वारा पैकेज डाउनलोड करने के लिए /etc/apt/apt.conf में सेटअप करना पड़ता है।


2
कृपया अपना उत्तर विस्तृत करें, यह वर्तमान में बहुत उपयोगी जानकारी प्रदान नहीं कर रहा है।
बाइट कमांडर

1
उबंटू पूछने के लिए आपका स्वागत है! मैं सलाह देता हूं कि इस उत्तर को संपादित करने के लिए इसे विशिष्ट विवरण के साथ विस्तारित करें कि यह कैसे करना है। (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूं? सामान्य सलाह के लिए किस तरह के उत्तर उबंटू उकबे पर सबसे अधिक मूल्यवान माने जाते हैं।)
डेविड फ़ॉस्टर

1

wgetप्रॉक्सी के साथ काम करने के लिए , मुझे .wgetrcआपके होम डायरेक्टरी में एक बनाने के लिए जोड़ना होगा , जिसमें शामिल हैं:

http_proxy = http://proxy:port/
https_proxy = http://proxy:port/
proxy_user = user
proxy_password = password
use_proxy = on
wait = 15

1

बिल्कुल नहीं है। कुछ और कार्यक्रमों ( npm, curlऔर git):

npm config set proxy $HTTP_PROXY
npm config set https-proxy $HTTPS_PROXY
npm config set strict-ssl false
echo "proxy = $HTTP_PROXY" > ~/.curlrc
echo "noproxy = $NO_PROXY" >> ~/.curlrc
git config --global http.proxy $HTTP_PROXY
git config --global https.proxy $HTTPS_PROXY

मावेन के लिए, संपादित करें ~/.m2/settings.xml। IntelliJ वैश्विक कॉन्फिग को भी नहीं लेती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.