我正在尝试设置网络代理使用我的局域网的互联网连接来更新软件包。虽然代理设置在我的火狐,但包管理器仍然无法连接到互联网。我已经设置了代理System >> Preferences >> Network Proxy
,并且在“详细信息”中输入了代理的用户/密码。
如何确保代理网络正确应用?
答案1
首先,确保每次在 gnome-network-properties ( System -> Preferences -> Network Proxy
) 中更改代理设置时都单击“应用全系统...”。这将设置 http_proxy 和相关环境变量。在代理设置为“应用全系统...”后,启动的所有程序都应该可以使用该设置。为了确保万无一失,您可以注销并重新登录以仔细检查。
如果您打开终端并使用该命令,set | grep -i proxy
您将看到设置的相关环境变量。理想情况下,这应该足够了。
但是,我遇到过上述所有方法仍然不起作用的情况:apt-get
即使按上述方式设置代理,Synaptic 或(通过命令行)也无法通过代理连接到互联网。在这种情况下,一种解决方案是添加一个包含/etc/apt/apt.conf.d
apt 特定代理配置的文件(这将由 apt-get、aptitude、synaptic 和 Ubuntu 软件中心使用)。
请遵循以下步骤:
创建 /etc/apt/apt.conf.d/40proxy
gksudo gedit /etc/apt/apt.conf.d/40proxy
将以下内容放入其中 - 修改内容以适合您的情况。
Acquire::http::Proxy "http://proxy.site.com:8080";
如果你有用户名和密码,你可以在代理 URL 中对其进行编码(像这样),或者你可以使用类似http://username:[email protected]:8080
ntlmaps以便更好地控制。
更多信息这里。
答案2
您是否单击了“应用系统范围”(突出显示)按钮?如果没有,代理设置将只针对您的 Gnome 会话,因此在root
下载软件包时,它将不会使用相同的网络设置。
答案3
如果您遇到问题(您的问题暗示了这一点),上面有很多不错的答案可以帮助您。但是,这是针对检查网络代理设置是否已应用这一狭义问题的答案:
方法一:启动一个新的shell(xterm),然后检查环境变量:
% env | grep -i proxy
http_proxy=http://172.17.0.130:8080/
ftp_proxy=ftp://172.17.0.130:8080/
all_proxy=socks://172.17.0.130:8080/
...
请注意,现有的 shell 将不是已更新环境变量。因此,如果您正在执行查看环境变量以获取代理设置的命令,请在创建的 shell 中启动它后代理设置的更改。
方法 2:使用gconftool
查询 gconf 设置(存储在 下~/.gconf
):
% gconftool -R /system/proxy
old_ftp_port = 0
old_ftp_host =
old_secure_port = 0
old_secure_host =
autoconfig_url =
mode = manual
ftp_host = 172.17.0.130
secure_host = 172.17.0.130
...
% gconftool -R /system/http_proxy
use_authentication = false
authentication_password =
authentication_user =
ignore_hosts = [localhost,127.0.0.0/8,*.local,...]
use_http_proxy = true
port = 8080
use_same_proxy = true
host = 172.17.0.130
正如其他人所说,请确保您的浏览器和其他应用程序设置为“使用系统代理设置”。
答案4
要临时设置代理,您可以启动终端并输入
export http_proxy="http://yourproxy:yourport"
然后启动程序,例如 Synaptic 进行包管理。控制台可能会为您提供有关出错位置的有用输出。