Как настроить общесистемные прокси-серверы в Xubuntu, Lubuntu или Ubuntu Studio?


84

Я не могу найти настройки прокси нигде. Я должен установить его через терминал, через gconftoolsили есть какой-то графический интерфейс для этого?

Ответы:


116

Общесистемные прокси в Ubuntu Studio, Xubuntu и XFCE должны быть установлены через переменные среды

Ubuntu Studio, как и Xubuntu, использует среду рабочего стола XFCE, которая не содержит графического инструмента настройки для настройки прокси-серверов в масштабе всей системы (в отличие от стандартной среды рабочего стола Ubuntu, Unity ).

1. Настройте прокси / прокси для большинства программ

  • Откройте /etc/environmentфайл с помощью gksudo leafpad(или вашего любимого редактора). В этом файле хранятся общесистемные переменные, инициализированные при загрузке.
  • Добавьте следующие строки, модифицируя соответственно. Вы должны дублировать оба в верхнем и нижнем регистре, потому что (к сожалению) некоторые программы ищут только одну или другую:

    http_proxy = HTTP: //myproxy.server.com: 8080 /
    https_proxy = HTTP: //myproxy.server.com: 8080 /
    ftp_proxy = HTTP: //myproxy.server.com: 8080 /
    no_proxy = "локальный, 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 = "локальный, 127.0.0.1, localaddress, .localdomain.com"
    

2. Затем настройте прокси для программ GTK3, таких как Rhythmbox:

Некоторые новые программы GTK3, такие как Rhythmbox, игнорируют переменные окружения, установленные выше, и вместо этого полагаются на настройки Gnome. Чтобы убедиться, что они закрыты, откройте терминал и построчно вставьте нижеприведенную строку, изменив соответствующим образом:

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. Наконец, настройте прокси apt-getи менеджер обновлений

  • Эти программы также не будут подчиняться переменным среды. Создайте файл с именем 95proxiesin /etc/apt/apt.conf.d/и включите в него следующее:

    Получить :: http :: proxy "http://myproxy.server.com:8080/";
    Получить :: ftp :: прокси "ftp://myproxy.server.com:8080/";
    Получить :: https :: proxy "https://myproxy.server.com:8080/";
    

Наконец, выйдите из системы и перезагрузитесь, чтобы изменения вступили в силу.


Источники: 1 , 2 , 3 . В частности, смотрите 1 для получения дополнительной помощи, включая скрипт для быстрого включения / выключения прокси.


Скрипты для включения / выключения прокси-сервера :

Отказ от ответственности:: Прежде чем продолжить, обратите внимание, что я пробовал это на Lubuntu 14.04, и ВАЖНО, что перед запуском упомянутых скриптов в файле /etc/environmentдолжна быть только одна строка, то есть «$ PATH ...», и больше ничего не должно быть в файле, иначе вам может понадобиться изменить код скрипта. Эти сценарии устанавливают и сбрасывают прокси, как описано выше, но они основаны на усечении файла и добавлении файла к изменению /etc/environmentи /etc/apt/apt.conf.d/95proxiesфайлам. Поэтому убедитесь, что:

1) /etc/environmentсодержит только одну строку, то есть '$ PATH: ...'. И ничего больше.

2) Файл /etc/apt/apt.conf.d/95proxiesне существует или не содержит в себе ничего важного.

Так! Если вы хотите автоматизировать процесс включения и выключения прокси без необходимости набирать allot. Вы можете сделать два исполняемых скрипта оболочки proxyon.shи proxyoff.shкак:

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;

Как использовать : После того, как вы сделали эти скрипты, сделаете их исполняемыми, вы можете хранить их где угодно. Для включения прокси все, что вам нужно сделать, это перейти в каталог, содержащий скрипт 'proxyon.sh', а затем вам нужно набрать sudo ./proxyon.sh {host} {port}. В качестве примера рассмотрим это:

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

Где «10 .2.20.17» - это IP-адрес прокси-сервера - вы также можете ввести что-то вроде myproxy.server.com, а «8080» - это порт. После этого просто выйдите и войдите в свою учетную запись, чтобы убедиться, что все настроено. Вы можете начать использовать Интернет или что-то еще. А если вы хотите отключить прокси, перейдите в каталог, содержащий «proxyoff.sh», и введите:

 $ sudo ./proxyoff.sh

Это сбросит все ваши прокси. Теперь выйдите из системы и войдите снова, чтобы перейти в обычный режим.



если вам требуется авторизация для apt-get proxy, вы можете установить их следующим образом: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Джим Форд

3
Вышесказанное сработало для меня. Но когда я беру свой ноутбук домой с работы, где нет прокси - я не могу подключиться к интернету. Есть ли быстрый способ снова отключить прокси, когда я вернусь домой, не вдаваясь в крайности ротации файлов конфигурации и перезагрузки? Это было бы хорошим дополнением к ответу.
TenLeftFingers

В целях безопасности в общедоступном Wi-Fi я пытаюсь настроить свой браузер Chromium (в Xubuntu 16.04 LTS) на передачу всех запросов веб-страниц через прокси-сервер PuTTY Socks5 по адресу localhost: 10001, который туннелируется через Raspberry Pi дома, пока я нахожусь вдали от дома. Вышеприведенные инструкции не работают для прокси-серверов Socks5, похоже, так что, надеюсь, я это выясню. (примечание: Firefox прост, поскольку его настройки прокси-сервера могут быть установлены внутри FireFox, но я хочу также установить прокси для Chromium и apt-get - в идеале, когда DNS-запросы также проходят через прокси-сервер).
Габриэль Стейплс

Если вы можете добавить инструкции / модификации прокси Socks 5, это тоже будет полезно. Спасибо!
Габриэль Стейплс

8

есть графический инструмент под названием UbProxy, который устанавливает весь прокси системы через графический интерфейс (GUI). Единственной проблемой для меня было то, что мне пришлось выйти из системы и войти снова, чтобы загрузить конфигурацию. Очень прост в использовании. https://code.google.com/p/ubproxy/


выглядит многообещающе
Ди

Вы можете автоматически настроить все различные параметры прокси-сервера, необходимые для различных приложений, когда вы подключаетесь к WiFi или даже подключаетесь к проводной сети. См. Gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Ричард Гомес

3

У меня есть несколько функций для решения этой проблемы. Назовите их так:

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!"
}

2
это ужасное предложение хранить пароль в текстовом файле
BЈовић

1
@ BЈовић: Вы правы. В моем случае это публичный пароль для прокси-сервера, так что, думаю, это не имеет значения.
Фернандо Бассо

Любая идея, как настроить прокси socks?
Габриэль Стейплс

0

Нет необходимости перезапускать всю систему для настройки apt-get через файл proxy95 в /etc/apt/apt.conf.d

  • Это просто работает сразу после записи файла и
  • он исчезает сразу после исчезновения файла.

Рассмотрим скрипт для включения и отключения файла, переименовав его в * .bak для быстрого переключения прокси при необходимости.


-3

Зайдите в Dash Home, введите System Settings, нажмите system settings, затем network.Proxy настройки будут видны вам. Нажмите всю систему. Может работать как в настройках системного прокси.


1
Студия использует Xfce не Ubuntu.
23 93 26 35 19 57 3 89

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.