Cài đặt proxy toàn hệ thống trong Ubuntu


22

Tôi muốn sử dụng internet trên máy chủ proxy đại học của mình, yêu cầu xác thực. Tôi đã tìm kiếm trên google các giải pháp và giải pháp tốt nhất tôi tìm thấy là đây . Tôi đã sửa đổi tập lệnh trong câu trả lời được chấp nhận để bao gồm xác thực. Nó đi từ đây:

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

Tuy nhiên, tài khoản trực tuyến vẫn không hoạt động (tương tự đối với nhịp điệu và các chương trình GTK3 khác) . Một màn hình trắng xuất hiện như thế này:

nhập mô tả hình ảnh ở đây

Bất kỳ đề xuất về làm thế nào nó có thể được giải quyết?


Câu trả lời:


31

Cuối cùng đã giải quyết nó:

(Thực hiện theo các bước một cách thanh thản)

1. Đối với các chương trình gtk3 như nhịp điệu và tài khoản trực tuyến:

Trước tiên, bạn cần nhập cài đặt proxy trong cài đặt mạng (cùng với xác thực):

nhập mô tả hình ảnh ở đây

Sau đó áp dụng hệ thống rộng.

2. Đối với apt, trung tâm phần mềm, vv

chỉnh sửa tập tin /etc/apt/apt.conf

Và sau đó thay thế tất cả các văn bản hiện có bằng các dòng sau

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. Biến môi trường

chỉnh sửa tập tin /etc/environment

Và sau đó thêm các dòng sau sau PATH = "cái gì đó ở đây"

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

Đó là tất cả..


1
Bước 1) có thay đổi / etc / môi trường không? Tôi muốn một cách để thực hiện bước đó thông qua dòng lệnh.
Lucas

Có vẻ bước 1) cũng hoạt động apt-get update. Vì vậy, không cần bước 2).
smwikipedia

@Raman Tôi có cần phải thoát các ký tự đặc biệt trong mật khẩu khi làm việc này không? Nếu vậy thì thế nào?
code_dragon

2

Để tải xuống các gói bằng wget proxy phải được thiết lập trong / etc / môi trường và để tải xuống các gói bằng proxy apt-get phải được thiết lập trong /etc/apt/apt.conf


2
Hãy giải thích câu trả lời của bạn, nó hiện không cung cấp nhiều thông tin hữu ích.
Chỉ huy Byte

1
Chào mừng bạn đến hỏi Ubuntu! Tôi khuyên bạn nên chỉnh sửa câu trả lời này để mở rộng nó với các chi tiết cụ thể về cách thực hiện việc này. (Xem thêm Làm thế nào để tôi viết một câu trả lời hay? Để có lời khuyên chung về loại câu trả lời nào được coi là có giá trị nhất trên Hỏi Ubuntu.)
David Foerster

1

Để thực hiện wgetcông việc với proxy, tôi cũng sẽ thêm vào để tạo một .wgetrcthư mục chính của bạn, chứa:

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

1

Đó không phải là tất cả, tất nhiên. Một số chương trình hơn ( npm, curlgit):

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

Đối với Maven, chỉnh sửa ~/.m2/settings.xml. IntelliJ dường như cũng không chọn cấu hình toàn cầu.

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.