Sistem çapında proxy sunucularını Xubuntu, Lubuntu veya Ubuntu Studio'da nasıl ayarlarım?


82

Proxy ayarlarını hiçbir yerde bulamıyorum. Bunu terminal üzerinden ayarlamam gerekir mi gconftools, yoksa bunun için bir GUI var mı?

Yanıtlar:


114

Ubuntu Studio, Xubuntu ve XFCE'deki sistem genelinde proxy'lerin ortam değişkenleri aracılığıyla ayarlanması gerekir

Ubuntu Studio, Xubuntu gibi, sistem genelinde proxy'leri ( varsayılan Ubuntu masaüstü ortamı, Unity'den farklı olarak) ayarlamak için bir grafik ayarları aracı içermeyen XFCE masaüstü ortamını kullanır .

1. Çoğu program için proxy'yi / proxy'leri ayarlama

  • Açın /etc/environmentdosyayı gksudo leafpad(veya favori editörü). Bu dosya, önyükleme sırasında başlatılan sistem genelinde değişkenleri saklar.
  • Uygun şekilde değiştirerek aşağıdaki satırları ekleyin. Hem büyük hem de küçük harfleri çoğaltmanız gerekir, çünkü (ne yazık ki) bazı programlar yalnızca birini veya diğerini arar:

    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. Ardından, Rhythmbox gibi GTK3 programları için proxy'ler kurun:

Rhythmbox gibi bazı yeni GTK3 programları, yukarıda ayarlanan ortam değişkenlerini görmezden gelir ve bunun yerine Gnome ayarlarına güvenir. Kaplandıklarından emin olmak için, bir terminal açın ve aşağıdakileri satır satır yapıştırıp uygun şekilde değiştirin:

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. Son olarak, apt-getve Güncelleme Yöneticisi için proxy’leri ayarlayın.

  • Bu programlar çevre değişkenlerine de uymayacak. 95proxiesAdı verilen bir dosya oluşturun /etc/apt/apt.conf.d/ve şunları ekleyin:

    Edinme :: http :: proxy "http://myproxy.server.com:8080/";
    Elde et :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Elde et :: https :: proxy "https://myproxy.server.com:8080/";
    

Son olarak, değişikliklerin etkili olduğundan emin olmak için oturumu kapatıp yeniden başlatın.


Kaynaklar: 1 , 2 , 3 . Proxy'leri hızlı bir şekilde açmak / kapatmak için bir komut dosyası da dahil olmak üzere ek yardım için özellikle 1'e bakın.


Proxy sunucusunu açıp kapatmak için kullanılan komut dosyaları :

Feragatname:: Devam etmeden önce, Lubuntu 14.04'te bunu denediğimi ve belirtilen komut dosyalarını çalıştırmadan önce dosyanın /etc/environmentiçinde yalnızca bir satır olması gerektiğini, yani '$ PATH ...' ve ÖNEMLİ olduğunu unutmayın. dosyada, komut dosyasının kodunu değiştirmeniz gerekebilir. Bu komut dosyaları, proxy'yi yukarıda açıklandığı şekilde ayarlayıp ayarlar, ancak değişmek /etc/environmentve /etc/apt/apt.conf.d/95proxiesdosyaları eklemek için dosya kesmeye ve dosyaya dayanır . Bu yüzden emin olun:

1) /etc/environmentsadece bir satır yani '$ PATH: ...'. Ve başka bir şey yok.

2) Dosya /etc/apt/apt.conf.d/95proxiesmevcut değil veya içinde önemli bir şey yok.

Yani! Proxy'yi açma işlemini, allot yazmanıza gerek kalmadan açmak ve kapatmak istiyorsanız. İki yürütülebilir kabuk komut dosyalarını yapabilir proxyon.shve proxyoff.shgibidir:

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;

Nasıl kullanılır : Bu komut dosyalarını oluşturduktan sonra çalıştırılabilir hale getirin, istediğiniz yerde saklayabilirsiniz. Proxy'i açmak için tek yapmanız gereken 'proxyon.sh' betiğini içeren dizine gitmek ve sonra yazmanız gerekir sudo ./proxyon.sh {host} {port}. Örnek olarak şunu düşünün:

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

'10 .2.20.17 'vekil sunucunun IP adresi olduğunda - ayrıca myproxy.server.com - ve "8080" gibi bir şey de girebilirsiniz. Bundan sonra her şeyin ayarlandığından emin olmak için oturumu kapatıp hesabınıza giriş yapın. İnterneti ya da her neyse onu kullanmaya başlayabilirsiniz. Proxy'yi kapatmak istediğinizde, 'proxyoff.sh' dosyasını içeren dizine gidin ve şunu yazın:

 $ sudo ./proxyoff.sh

Bu, tüm vekillerinizi üzecek. Şimdi oturumu kapatıp normal moda geçmek için tekrar giriş yapın.



apt-get proxy için auth'ye ihtiyacınız varsa, bunları şöyle ayarlayabilirsiniz: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Yukarıdaki benim için çalıştı. Ancak dizüstü bilgisayarımı işten eve götürdüğümde, vekil olmadığı yerlerde - internete bağlanamıyorum. Konfigürasyon dosyaları dönen ve yeniden başlatma aşırı uçlara gitmeden eve geldiğimde proxy tekrar devre dışı bırakmak için bir kısa yol var mı? Cevabına güzel bir ek olurdu.
TenLeftFingers

Herkese açık WiFi'de güvenlik için Chromium tarayıcımı (Xubuntu 16.04 LTS'de), tüm web sayfası isteklerini localhost'taki bir PuTTY Socks5 proxy'sinden geçecek şekilde yapılandırmaya çalışıyorum: 10001; evden uzakta. Yukarıdaki talimatlar göründüğü Socks5 vekilleri için geçerli değildir, umarım çözebilirim. (not: Firefox kolaydır, çünkü proxy ayarları FireFox içinde dahili olarak ayarlanabilir, ancak proxy'yi Chromium için ayarlamak ve apt-get için de ayarlamak istiyorum - ideal olarak proxy'den DNS istekleri de geçerek).
Gabriel Staples

Socks 5 proxy talimatlarını / modifikasyonlarını ekleyebilirseniz, bu da yardımcı olacaktır. Teşekkürler!
Gabriel Staples

8

Tüm sistema vekilini ayarlayan ve grafiksel bir arayüz (GUI) ile UbProxy adında bir grafik aracı vardır. Benim için tek sorun, kullanıcımı kapatmam ve config'i yüklemek için tekrar giriş yapmam gerekiyordu. Kullanımı çok basittir. https://code.google.com/p/ubproxy/


umut verici görünüyor.
Dee,

WiFi'ye bağlandığınızda veya hatta kablolu ağları bağladığınızda farklı uygulamaların gerektirdiği tüm proxy ayarlarını otomatik olarak yapılandırabilirsiniz. Bakınız: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Bununla başa çıkabilmek için bazı fonksiyonlarım var. Onları şöyle çağır:

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
Bu, bir metin dosyasında şifreyi saklamak için korkunç bir öneri
BЈовић

1
@ BЈовић: Haklısın. Benim durumumda, kamu uni proxy şifresi, bu yüzden sanırım önemli değil.
Fernando Basso

Bir çorap vekilini nasıl yapılandırabilir misin?
Gabriel Staples

0

Apt-get tweak için tüm sistemi /etc/apt/apt.conf.d adresindeki proxy95 dosyası üzerinden tekrar başlatmak gerekli değildir.

  • Sadece dosya yazıldıktan hemen sonra çalışır ve
  • dosya kaybolduktan hemen sonra kaybolur.

Gerekirse proxy'yi hızlı bir şekilde değiştirmek için dosyayı * .bak olarak değiştirerek etkinleştirmek ve devre dışı bırakmak için komut dosyasını düşünün.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.