![为什么应用系统范围的网络代理设置只会影响超级用户(root)?](https://linux22.com/image/956279/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BA%94%E7%94%A8%E7%B3%BB%E7%BB%9F%E8%8C%83%E5%9B%B4%E7%9A%84%E7%BD%91%E7%BB%9C%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE%E5%8F%AA%E4%BC%9A%E5%BD%B1%E5%93%8D%E8%B6%85%E7%BA%A7%E7%94%A8%E6%88%B7%EF%BC%88root%EF%BC%89%EF%BC%9F.png)
我最近解决了我的问题如何检查网络代理是否真的被应用?
现在我可以sudo apt-get install application-name
轻松使用 - 但问题是普通用户(不是超级用户)看不到代理。
例如,这些命令有不同的输出:
wget http://whatismyip.com
和
sudo wget http://whatismyip.com
它表明第一个命令不使用代理,而第二个命令明确指出:
连接到本地主机|127.0.0.1|:8080...已连接。
奇怪的是,当我检查http://whatismyip.com使用 Firefox 时,它显示代理 IP 而不是我的真实 IP,这意味着 Firefox 看到的是代理。
为什么不能获得看到代理了吗?
答案1
您是否检查过在执行Apply System-wide...
这些操作之后会发生以下事情:
- 文件 /etc/environment 包含您指定的代理设置的条目。
启动任何终端程序后关闭
Network proxy
对话框是否在其环境中设置了代理变量?set | grep -i proxy
应该给你这样的条目
https_proxy = http://proxy.yoyodyne.com:18023/ http_proxy = http://proxy.yoyodyne.com:18023/ ftp_proxy = http://proxy.yoyodyne.com:18023/
wget 按照手册会使用这些代理。我在办公室的笔记本电脑上使用它。
Network Proxy
您确定您已将 wget 命令提供给对话框关闭后启动的终端进程吗?
答案2
我认为这实际上可能是错误 232469,其中提出了一些修复和解决方法。其中之一似乎是以/etc/wgetrc
root 身份进行编辑,然后向下滚动到您看到以下内容的位置:
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
取消注释(删除 #)并设置要使用的代理。保存并关闭。这应该为所有用户设置全局 wget 特定设置,并且应该是一个适当的解决方法,直到错误得到解决。
您还可以添加这些设置~/.wgetrc
,它将根据每个用户生效。