sid*_*rth 87 xfce xubuntu proxy ubuntu-studio
我在任何地方都找不到代理设置。我是否必须通过终端设置它,通过gconftools还是有一些 GUI 存在?
ish*_*ish 116
Ubuntu Studio 与 Xubuntu 一样,使用 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
Run Code Online (Sandbox Code Playgroud)
apt-get和更新管理器这些程序也不会遵守环境变量。创建一个名为95proxiesin的文件/etc/apt/apt.conf.d/,并包含以下内容:
获取::http::proxy "http://myproxy.server.com:8080/"; 获取::ftp::proxy "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。您可以制作两个可执行的 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
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
如何使用:一旦你制作了这些脚本,让它们可执行,你可以把它们放在你喜欢的任何地方。要打开代理,您只需转到包含“proxyon.sh”脚本的目录,然后输入sudo ./proxyon.sh {host} {port}. 作为一个例子,考虑这个:
$ sudo ./proxyon.sh 10.2.20.17 8080
OR
$ sudo ./proxyon.sh myproxy.server.com 8080
Run Code Online (Sandbox Code Playgroud)
其中“10.2.20.17”是代理服务器的 IP——您也可以输入类似 myproxy.server.com 的内容——“8080”是端口。之后,只需注销并登录到您的帐户,以确保一切都已设置。您可以开始使用互联网或其他任何东西。当您想关闭代理时,请转到包含“proxyoff.sh”的目录并键入:
$ sudo ./proxyoff.sh
Run Code Online (Sandbox Code Playgroud)
这将取消设置您的所有代理。现在注销并再次登录以切换到正常模式。
小智 7
有一个名为 UbProxy 的图形工具,它通过图形界面 (GUI) 为整个系统设置代理。对我来说唯一的问题是我必须注销我的用户并再次登录以加载配置。使用起来非常简单。
您可以在Google 代码档案或其分支上找到它