Bagaimana cara mengatur server proxy di seluruh sistem di Xubuntu, Lubuntu atau Ubuntu Studio?


83

Saya tidak dapat menemukan pengaturan proxy di mana pun. Apakah saya harus mengaturnya melalui terminal, gconftoolsatau ada beberapa GUI untuk itu?

Jawaban:


115

Proxy seluruh sistem di Ubuntu Studio, Xubuntu dan XFCE harus diatur melalui variabel lingkungan

Ubuntu Studio, seperti Xubuntu, menggunakan lingkungan desktop XFCE yang tidak mengandung alat pengaturan grafis untuk mengatur proxy seluruh sistem ( tidak seperti lingkungan desktop Ubuntu default, Unity ).

1. Atur proxy / proxy untuk sebagian besar program

  • Buka /etc/environmentfile dengan gksudo leafpad(atau editor favorit Anda). File ini menyimpan variabel seluruh sistem yang diinisialisasi saat boot.
  • Tambahkan baris berikut, modifikasi dengan tepat. Anda harus menduplikat dalam huruf besar dan kecil karena (sayangnya) beberapa program hanya mencari satu atau yang lain:

    http_proxy = http: //myproxy.server.com: 8080 /
    https_proxy = http: //myproxy.server.com: 8080 /
    ftp_proxy = http: //myproxy.server.com: 8080 /
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = http: //myproxy.server.com: 8080 /
    HTTPS_PROXY = http: //myproxy.server.com: 8080 /
    FTP_PROXY = http: //myproxy.server.com: 8080 /
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    

2. Kemudian siapkan proxy untuk program GTK3 seperti Rhythmbox:

Beberapa program GTK3 yang lebih baru seperti Rhythmbox mengabaikan variabel lingkungan yang ditetapkan di atas, dan sebaliknya bergantung pada pengaturan Gnome. Untuk memastikan mereka tercakup, buka terminal dan rekatkan baris demi baris di bawah ini, modifikasi yang sesuai:

gsettings set org.gnome.system.proxy mode 'manual' 
gsettings set org.gnome.system.proxy.http host 'myproxy.server.com'
gsettings set org.gnome.system.proxy.http port 8080

3. Akhirnya, atur proksi untuk apt-getdan Perbarui Manajer

  • Program-program ini juga tidak akan mematuhi variabel lingkungan. Buat file bernama 95proxiesdalam /etc/apt/apt.conf.d/, dan meliputi:

    Akuisisi :: http :: proxy "http://myproxy.server.com:8080/";
    Acquire :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Akuisisi :: https :: proxy "https://myproxy.server.com:8080/";
    

Terakhir, logout dan reboot untuk memastikan perubahannya berlaku.


Sumber: 1 , 2 , 3 . Lihat 1 khususnya untuk bantuan tambahan, termasuk skrip untuk mengaktifkan / menonaktifkan proksi dengan cepat.


Skrip untuk mengaktifkan / menonaktifkan server Proxy :

Penafian:: Sebelum melanjutkan, perhatikan bahwa saya telah mencoba ini di Lubuntu 14.04 dan PENTING bahwa sebelum Anda menjalankan skrip yang disebutkan, file /etc/environmenttersebut hanya memiliki satu baris di dalamnya yaitu '$ PATH ...' dan seharusnya tidak ada yang lain dalam file, jika tidak, Anda mungkin perlu memodifikasi kode skrip. Skrip ini mengatur dan menghapus proksi seperti dijelaskan di atas, tetapi skrip bergantung pada pemotongan file dan penambahan file untuk diubah /etc/environmentdan /etc/apt/apt.conf.d/95proxiesfile. Jadi pastikan bahwa:

1) /etc/environmenthanya mengandung satu baris yaitu '$ PATH: ...'. Dan tidak ada lagi.

2) File /etc/apt/apt.conf.d/95proxiestidak ada atau tidak memiliki sesuatu yang penting di dalamnya.

Begitu! Jika Anda ingin mengotomatiskan proses menyalakan dan mematikan proxy tanpa harus mengetikkan allot. Anda dapat membuat dua skrip shell yang dapat dieksekusi proxyon.shdan proxyoff.shsebagai:

proxyon.sh:

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

if [ $# -eq 2 ]
  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;


  grep PATH /etc/environment > lol.t;
  printf \
  "http_proxy=http://$1:$2/\n\
  https_proxy=http://$1:$2/\n\
  ftp_proxy=http://$1:$2/\n\
  no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
  HTTP_PROXY=http://$1:$2/\n\
  HTTPS_PROXY=http://$1:$2/\n\
  FTP_PROXY=http://$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://$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$1:$2/\";\n\
  Acquire::https::proxy \"https://$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

  rm -rf lol.t;

  else

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

fi

proxyoff.sh:

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

gsettings set org.gnome.system.proxy mode 'none' ;

grep PATH /etc/environment > lol.t;
cat lol.t > /etc/environment;

printf "" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

Cara menggunakan : Setelah Anda membuat skrip ini, membuatnya dapat dieksekusi, Anda dapat menyimpannya di mana pun Anda suka. Untuk mengaktifkan proxy, yang harus Anda lakukan adalah pergi ke direktori yang berisi skrip 'proxyon.sh' dan kemudian Anda perlu mengetik sudo ./proxyon.sh {host} {port}. Sebagai contoh pertimbangkan ini:

 $ sudo ./proxyon.sh 10.2.20.17 8080
 OR
 $ sudo ./proxyon.sh myproxy.server.com 8080

Di mana '10 .2.20.17 'adalah IP server proxy - Anda juga dapat mengetikkan sesuatu seperti myproxy.server.com - dan' 8080 'adalah porta. Setelah itu baru saja keluar dan masuk ke akun Anda, untuk memastikan bahwa semuanya sudah diatur. Anda dapat mulai menggunakan internet atau apa pun itu. Dan ketika Anda ingin mematikan proxy, buka direktori yang berisi 'proxyoff.sh' dan ketik:

 $ sudo ./proxyoff.sh

Ini akan menghapus semua proxy Anda. Sekarang keluar dan masuk lagi untuk beralih ke mode normal.



jika Anda memerlukan auth untuk proxy apt-get, Anda dapat mengaturnya seperti ini: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Di atas bekerja untuk saya. Tetapi ketika saya membawa laptop saya pulang kerja, di mana tidak ada proxy - saya tidak bisa terhubung ke internet. Apakah ada cara pintas untuk menonaktifkan proxy lagi ketika saya pulang tanpa harus memutar file konfigurasi dan me-reboot? Itu akan menjadi tambahan yang bagus untuk jawabannya.
TenLeftFingers

Untuk keamanan saat menggunakan WiFi publik, saya mencoba mengonfigurasi browser Chromium saya (di Xubuntu 16.04 LTS) untuk melewati semua permintaan halaman web melalui proxy Putty Socks5 di localhost: 10001, yang disalurkan melalui Raspberry Pi di rumah sementara saya sedang jauh dari rumah. Instruksi di atas tidak berfungsi untuk proxy Socks5, jadi semoga saya bisa mengetahuinya. (catatan: Firefox itu mudah, karena pengaturan proxy dapat diatur secara internal di dalam FireFox, tapi saya ingin mengatur proxy untuk Chromium dan juga apt-get - idealnya dengan permintaan DNS melalui proxy juga).
Gabriel Staples

Jika Anda dapat menambahkan instruksi / modifikasi proxy Socks 5, itu akan sangat membantu. Terima kasih!
Gabriel Staples

8

ada alat grafis bernama UbProxy, yang mengatur seluruh sistema proksi, melalui antarmuka grafis (GUI). Satu-satunya masalah bagi saya, adalah saya harus keluar dari pengguna dan masuk lagi untuk memuat konfigurasi. Sangat mudah digunakan. https://code.google.com/p/ubproxy/


terlihat menjanjikan.
Dee

Anda dapat secara otomatis mengonfigurasi semua berbagai pengaturan proxy yang diperlukan oleh aplikasi yang berbeda saat Anda terhubung ke WiFi atau bahkan menghubungkan jaringan kabel. Lihat: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Saya memiliki beberapa fungsi untuk menghadapinya. Panggil mereka seperti ini:

myProxyOn

https://gist.github.com/fernando-basso/6352040

#!/usr/bin/env bash

# gsettings list-recursively org.gnome.system.proxy

# Change de ip address and port number accordingly.
function myProxyOn() {
    gsettings set org.gnome.system.proxy mode 'manual' # ' manual / nome / automatic '
    gsettings set org.gnome.system.proxy.http host '10.0.0.1'
    gsettings set org.gnome.system.proxy.http port 8080
    gsettings set org.gnome.system.proxy.https host '10.0.0.1'
    gsettings set org.gnome.system.proxy.https port 8080
    gsettings set org.gnome.system.proxy.ftp host '10.0.0.1'
    gsettings set org.gnome.system.proxy.ftp port 8080

    echo "Configuração do 'System Proxy' settada para 'manual', com host 10.0.0.1, port 8080."
}

function myProxyOff() {
    gsettings set org.gnome.system.proxy mode 'none' # ' manual / nome / automatic '
    echo "Proxy cofigurado para 'none'."
}

function proxyOn() { # {{{
    #echo -n 'Username: '
    #read -e username
    #echo -n 'Password: '
    #read -es password
    #echo ''
    echo 'Setting variable "http_proxy"...'
    #export http_proxy="http://$username:$password@172.17.0.1:8080/"
    export http_proxy="http://10.0.0.1:8080/"
    echo 'Setting variable "https_proxy..."'
    export https_proxy="https://10.0.0.1:8080/"
    echo 'Setting variable "ftp_proxy"...'
    #export ftp_proxy="http://$username:$password@172.17.0.1:8080/"
    export ftp_proxy="ftp://10.0.0.1:8080/"
    echo 'Done!'
}

function proxyOff() {
    unset HTTP_PROXY
    unset http_proxy
    unset FTP_proxy
    unset ftp_proxy
    echo -e "\nProxy environment variables removed!"
}

1
itu adalah saran yang mengerikan untuk menyimpan kata sandi dalam file teks
BЈовић

1
@ BЈовић: Anda benar. Dalam kasus saya, ini adalah kata sandi proksi uni publik, jadi, saya kira itu tidak masalah.
Fernando Basso

tahu cara mengkonfigurasi proxy kaus kaki?
Gabriel Staples

0

Tidak perlu me-restart seluruh sistem untuk tweak apt-get melalui file proxy95 di /etc/apt/apt.conf.d

  • Ini hanya berfungsi segera setelah file ditulis dan
  • itu hilang segera setelah file hilang.

Pertimbangkan skrip untuk mengaktifkan dan menonaktifkan file dengan mengganti nama file itu menjadi * .bak untuk beralih cepat proxy jika perlu.


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.