Answers:
像Xubuntu一样,Ubuntu Studio使用XFCE桌面环境,该环境不包含图形设置工具来设置系统范围的代理(与默认的Ubuntu桌面环境Unity不同)。
/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,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”
一些较新的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
apt-get
和Update Manager 设置代理这些程序也不会服从环境变量。创建名为95proxies
中的文件/etc/apt/apt.conf.d/
,并包含以下内容:
获取:: http :: proxy“ http://myproxy.server.com:8080/”; 获取:: ftp ::代理“ 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
不存在或没有任何重要内容。
所以!如果要自动执行打开和关闭代理的过程而不必键入分配。您可以制作两个可执行的shell脚本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
这将取消您所有的代理。现在注销并再次登录以切换到普通模式。
有一个称为UbProxy的图形工具,可通过图形界面(GUI)将整个系统设置为代理。对我而言,唯一的问题是我必须注销用户并再次登录以加载配置。使用非常简单。 https://code.google.com/p/ubproxy/
我有一些功能可以解决这个问题。像这样称呼他们:
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!"
}
进入Dash Home输入系统设置,单击系统设置,然后单击网络。代理设置对您可见。单击系统范围。它可能与系统代理设置中的一样。