Як встановити загальносистемні проксі-сервери в Xubuntu, Lubuntu або Ubuntu Studio?


82

Я не можу знайти налаштування проксі ніде. Чи потрібно його встановлювати через термінал, через нього gconftoolsчи є якийсь GUI?

Відповіді:


114

Загальносистемні проксі в 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 = "localhost, 127.0.0.1, locladdress, .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, localladdress, .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та менеджер оновлень

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

    Придбати :: http :: proxy "http://myproxy.server.com:8080/";
    Придбати :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Придбати :: https :: проксі "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не існує або не має в ньому нічого важливого.

Тому! Якщо ви хочете автоматизувати процес увімкнення та вимкнення проксі, не потребуючи введення виділення. ви можете зробити два виконувані сценарії оболонки 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

Це знищить усі ваші проксі. Тепер вийдіть із системи та увійдіть знову, щоб перейти у звичайний режим.



якщо вам потрібен auth для apt-get proxy, ви можете встановити їх так: Придбати :: http: proxy " user: pass@myproxy.server.com: 8080 ";
Джим Форд

3
Сказане працювало для мене. Але коли я забираю ноутбук з роботи, де немає проксі - я не можу підключитися до Інтернету. Чи є скорочений спосіб знову відключити проксі, коли я повертаюся додому, не йдучи до крайностей обертових файлів конфігурації та перезавантаження? Це було б приємним доповненням до відповіді.
TenLeftFingers

З метою безпеки під час роботи на загальнодоступному Wi-Fi я намагаюся налаштувати свій браузер Chromium (в Xubuntu 16.04 LTS) для передачі всіх запитів на веб-сторінку через проксі-сервер PuTTY Socks5 у localhost: 10001, який тунелюється через Raspberry Pi вдома, поки я далеко від дому. Наведені вище інструкції не працюють для проксі-серверів Socks5, як це виглядає, тому, сподіваюся, я можу це зрозуміти. .
Габріель Стейплз

Якщо ви можете додати інструкції / модифікації проксі 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!"
}

1
це жахлива пропозиція зберігати пароль у текстовому файлі
BЈович

1
@ Бйович: Ви маєте рацію. У моєму випадку це загальнодоступний пароль проксі-сервера, тому, я думаю, це не має значення.
Фернандо Бассо

будь-яка ідея, як налаштувати проксі-шкарпетки?
Габріель Степлес

0

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

  • Він працює відразу після написання файлу та
  • він зникає відразу після зникнення файлу.

Розглянемо сценарій, щоб увімкнути та відключити файл, перейменувавши його на * .bak для швидкого перемикання проксі, якщо необхідно.


-3

Перейдіть у розділ "Системні налаштування" на тире "Домашня сторінка", натисніть системні налаштування, а потім налаштування мережі. Клацніть по всій системі. Це може працювати як у налаштуваннях системного проксі.


1
Студія використовує xfce не ubuntu.
23 93 26 35 19 57 3 89

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.