Wie richte ich systemweite Proxy-Server in Xubuntu, Lubuntu oder Ubuntu Studio ein?


83

Ich kann die Proxy-Einstellungen nirgendwo finden. Muss ich es über das Terminal einstellen gconftoolsoder ist eine GUI dafür vorhanden?

Antworten:


115

Systemweite Proxys in Ubuntu Studio, Xubuntu und XFCE müssen über Umgebungsvariablen festgelegt werden

Ubuntu Studio verwendet wie Xubuntu die XFCE-Desktop-Umgebung, die kein grafisches Einstellungswerkzeug zum Festlegen systemweiter Proxys enthält (im Gegensatz zur standardmäßigen Ubuntu-Desktop-Umgebung Unity ).

1. Richten Sie den / die Proxy / Proxys für die meisten Programme ein

  • Öffnen Sie die /etc/environmentDatei mit gksudo leafpad(oder Ihrem Lieblingseditor). In dieser Datei werden die systemweiten Variablen gespeichert, die beim Start initialisiert wurden.
  • Fügen Sie die folgenden Zeilen hinzu, und passen Sie sie entsprechend an. Sie müssen sowohl in Groß- als auch in Kleinbuchstaben duplizieren, da (leider) einige Programme nur nach dem einen oder anderen suchen:

    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. Richten Sie dann Proxys für GTK3-Programme wie Rhythmbox ein:

Einige neuere GTK3-Programme wie Rhythmbox ignorieren die oben festgelegten Umgebungsvariablen und verlassen sich stattdessen auf Gnome-Einstellungen. Um sicherzustellen, dass sie verdeckt sind, öffnen Sie ein Terminal und fügen Sie das unten stehende Terminal zeilenweise ein.

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. Richten Sie abschließend die Proxys für apt-getund Update Manager ein

  • Diese Programme berücksichtigen auch die Umgebungsvariablen nicht. Erstellen Sie eine Datei mit dem Namen 95proxiesin /etc/apt/apt.conf.d/und umfassen die folgenden:

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

Abschließend müssen Sie sich abmelden und neu starten, um sicherzustellen, dass die Änderungen wirksam werden.


Quellen: 1 , 2 , 3 . Siehe insbesondere 1 für zusätzliche Hilfe, einschließlich eines Skripts zum schnellen Ein- und Ausschalten der Proxys.


Skripte zum Ein- und Ausschalten des Proxyservers :

Haftungsausschluss: Bevor Sie fortfahren, beachten Sie, dass ich dies auf Lubuntu 14.04 versucht habe und es wichtig ist, dass die Datei /etc/environmentnur eine Zeile enthält, dh '$ PATH ...', und es sollte nichts anderes geben , bevor Sie die genannten Skripte ausführen Andernfalls müssen Sie möglicherweise den Skriptcode ändern. Diese Skripte legen den Proxy wie oben beschrieben fest und heben ihn auf, setzen jedoch das Abschneiden von Dateien und das Anhängen von Dateien an Änderungen /etc/environmentund /etc/apt/apt.conf.d/95proxiesDateien voraus. Stellen Sie also Folgendes sicher:

1) /etc/environmententhält nur eine Zeile, dh '$ PATH: ...'. Und sonst nichts.

2) Die Datei /etc/apt/apt.conf.d/95proxiesexistiert nicht oder enthält nichts Wichtiges.

Damit! Wenn Sie den Prozess des Ein- und Ausschaltens des Proxys automatisieren möchten, ohne allot eingeben zu müssen. Sie können zwei ausführbare Shell-Skripte erstellen proxyon.shund proxyoff.shals:

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;

Verwendung : Sobald Sie diese Skripte erstellt haben, können Sie sie an einem beliebigen Ort aufbewahren. Um den Proxy einzuschalten, müssen Sie nur in das Verzeichnis gehen, in dem sich das Skript 'proxyon.sh' befindet. Anschließend müssen Sie Folgendes eingeben sudo ./proxyon.sh {host} {port}. Betrachten Sie als Beispiel Folgendes:

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

Wobei '10 .2.20.17 'die IP des Proxyservers ist - Sie können auch so etwas wie myproxy.server.com eingeben - und' 8080 'ist der Port. Danach melden Sie sich einfach ab und melden sich bei Ihrem Konto an, um sicherzustellen, dass alles eingerichtet ist. Sie können dann das Internet oder was auch immer nutzen. Wenn Sie den Proxy ausschalten möchten, wechseln Sie in das Verzeichnis mit der Datei 'proxyoff.sh' und geben Sie Folgendes ein:

 $ sudo ./proxyoff.sh

Dadurch werden alle Ihre Proxys deaktiviert. Melden Sie sich jetzt ab und wieder an, um in den normalen Modus zu wechseln.



Wenn Sie für apt-get Proxy eine Authentifizierung benötigen, können Sie diese folgendermaßen festlegen: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Das oben hat bei mir funktioniert. Aber wenn ich meinen Laptop von der Arbeit mit nach Hause nehme, wo es keinen Proxy gibt - kann ich keine Verbindung zum Internet herstellen. Gibt es eine Abkürzung, um den Proxy wieder zu deaktivieren, wenn ich nach Hause komme, ohne die Extreme beim Drehen der Konfigurationsdateien und beim Neustart zu beachten? Es wäre eine schöne Ergänzung zur Antwort.
TenLeftFingers

Aus Sicherheitsgründen versuche ich, meinen Chromium-Browser (in Xubuntu 16.04 LTS) so zu konfigurieren, dass alle Webseitenanforderungen über einen PuTTY Socks5-Proxy bei localhost: 10001 weitergeleitet werden, der zu Hause über einen Raspberry Pi getunnelt wird weg von zu Hause. Die obigen Anweisungen funktionieren nicht für Socks5-Proxys, wie es aussieht, also kann ich es hoffentlich herausfinden. (Hinweis: Firefox ist einfach, da die Proxy-Einstellungen in FireFox intern festgelegt werden können. Ich möchte jedoch auch den Proxy für Chromium und apt-get festlegen - idealerweise auch für DNS-Anforderungen, die über den Proxy gesendet werden).
Gabriel Staples

Wenn Sie Anweisungen / Änderungen für Socks 5-Proxys hinzufügen können, ist dies ebenfalls hilfreich. Vielen Dank!
Gabriel Staples

8

Es gibt ein grafisches Tool namens UbProxy, das den gesamten System-Proxy über eine grafische Oberfläche (GUI) festlegt. Das einzige Problem für mich war, dass ich meinen Benutzer abmelden und mich erneut anmelden musste, um die Konfiguration zu laden. Ist sehr einfach zu bedienen. https://code.google.com/p/ubproxy/


sieht vielversprechend aus.
Dee

Sie können alle verschiedenen Proxy-Einstellungen, die von verschiedenen Anwendungen benötigt werden, automatisch konfigurieren, wenn Sie eine Verbindung zu WiFi herstellen oder sogar das kabelgebundene Netzwerk verbinden. Siehe: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Ich habe einige Funktionen, um damit umzugehen. Nenne sie so:

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
das ist ein schrecklicher Vorschlag, das Passwort in einer Textdatei zu speichern
BЈовић

1
@ BЈовић: Du hast recht. In meinem Fall ist es das öffentliche Uni-Proxy-Passwort, also denke ich, spielt es keine Rolle.
Fernando Basso

Hast du eine Idee, wie man einen Socken-Proxy konfiguriert?
Gabriel Staples

0

Es ist nicht erforderlich, das gesamte System neu zu starten, um apt-get über die Proxy95-Datei in /etc/apt/apt.conf.d zu optimieren

  • Es funktioniert nur sofort, nachdem die Datei geschrieben wurde und
  • es ist sofort verschwunden, nachdem die Datei verschwindet.

Überlegen Sie sich, ob Sie das Skript zum Aktivieren und Deaktivieren der Datei verwenden möchten, indem Sie es in * .bak umbenennen, um den Proxy bei Bedarf schnell zu wechseln.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.