我在任何地方都找不到代理设置。我必须通过终端,通过gconftools
来设置,还是有一些GUI来设置?
Ubuntu Studio和Xubuntu一样,使用XFCE桌面环境,它不包含一个图形设置工具来设置全系统的代理(不像Ubuntu的默认桌面环境Unity)。
用gksudo leafpad
(或你喜欢的编辑器)打开/etc/environment
文件。该文件存储了启动时初始化的全系统变量。
添加以下几行,并进行适当的修改。你必须用大写字母和小写字母重复,因为(不幸的是)一些程序只寻找其中之一。
http_proxyhttp://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_PROXYhttp://myproxy.server.com:8080/ HTTPS_PROXYhttp://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设置代理服务器###。这些程序也不会遵从环境变量。在/etc/apt/apt.conf.d/
中创建一个名为95proxies
的文件,并包括以下内容。
Acquire::http::proxy "http://myproxy.server.com:8080/" 。 Acquire::ftp::proxy "ftp://myproxy.server.com:8080/"。 Acquire::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
文件。所以要确保
/etc/environment
只包含一行,即 '$PATH:...'。而没有其他内容。
/etc/apt/apt.conf.d/95proxies
文件不存在或没有任何重要内容。
重要内容。
所以!如果你想自动打开和关闭代理,而不需要输入全部内容。你可以制作两个可执行的shell脚本proxyon.sh
和proxyoff.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}
。{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
这将取消你所有的代理。现在注销并再次登录以切换到正常模式。