Pengaturan proxy di seluruh sistem di ubuntu


22

Saya ingin menggunakan internet di server proxy perguruan tinggi saya yang juga memerlukan otentikasi. Saya mencari google untuk solusi dan solusi terbaik yang saya temukan adalah ini . Saya telah memodifikasi skrip dalam jawaban yang diterima untuk menyertakan otentikasi. Ini dia:

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

Namun akun Online masih tidak berfungsi (sama untuk kotak ritme dan program GTK3 lainnya) . Layar putih muncul seperti ini:

masukkan deskripsi gambar di sini

Ada saran tentang bagaimana hal itu bisa diselesaikan?


Jawaban:


31

Akhirnya dipecahkan:

(Ikuti langkah-langkah secara seri)

1. Untuk program gtk3 seperti rhythmbox dan akun online:

Pertama, Anda perlu memasukkan pengaturan proxy di pengaturan jaringan (bersama dengan otentikasi):

masukkan deskripsi gambar di sini

Kemudian menerapkan sistem yang luas.

2. Untuk apt, pusat perangkat lunak dll

edit file /etc/apt/apt.conf

Dan kemudian ganti semua teks yang ada dengan baris berikut

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. Variabel lingkungan

edit file /etc/environment

Dan kemudian tambahkan baris berikut setelah PATH = "something here"

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

Itu saja..


1
Apakah langkah 1) mengubah / etc / environment? Saya ingin cara melakukan langkah itu melalui baris perintah.
Lucas

Sepertinya langkah 1) berfungsi apt-get updatejuga. Jadi tidak perlu langkah 2).
smwikipedia

@Raman Saya perlu melarikan diri dari karakter khusus dalam kata sandi saat melakukan ini? Jika demikian lalu bagaimana?
code_dragon

2

Untuk mengunduh paket dengan proxy wget harus di-setup di / etc / environment, dan untuk mengunduh paket dengan apt-get proxy harus di-setup di /etc/apt/apt.conf


2
Harap uraikan jawaban Anda, saat ini tidak memberikan banyak informasi bermanfaat.
Byte Commander

1
Selamat Datang di Tanya Ubuntu! Saya sarankan untuk mengedit jawaban ini untuk meluaskannya dengan detail spesifik tentang bagaimana melakukan ini. (Lihat juga Bagaimana cara saya menulis jawaban yang bagus? Untuk saran umum tentang jawaban seperti apa yang dianggap paling berharga di Ask Ubuntu.)
David Foerster

1

Untuk membuat wgetpekerjaan dengan proxy, saya akan menambahkan juga untuk membuat .wgetrcdi direktori home Anda, yang berisi:

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

1

Itu tidak semua, tentu saja. Beberapa program lainnya ( npm, curldan 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

Untuk Maven, edit ~/.m2/settings.xml. IntelliJ tampaknya juga tidak mengambil konfigurasi global.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.