我在公司的电脑上安装了 Ubuntu18.04。并且我设置了通过公司代理连接互联网的配置,例如:
/etc/environment
http_proxy="http://user%40domain:[email protected]:port/"
https_proxy="https://user%40domain:[email protected]:port/"
ftp_proxy="ftp://user%40domain:[email protected]:port/"
/etc/apt/apt.conf
Acquire::http::Proxy "http://user%40domain:[email protected]:port/";
Acquire::https::Proxy "https://user%40domain:[email protected]:port/";
Acquire::ftp::Proxy "ftp://user%40domain:[email protected]:port/";
然后我就可以连接互联网并执行类似的 apt 命令sudo apt-get update
。
但是当第二天来临时,我无法执行 apt 命令。
Err:1 http://ftp.riken.jp/Linux/ubuntu bionic InRelease
407 Proxy Authentication Required [IP: proxy.ip port]
Err:2 http://ftp.riken.jp/Linux/ubuntu bionic-updates InRelease
407 Proxy Authentication Required [IP: proxy.ip port]
Err:3 http://ftp.riken.jp/Linux/ubuntu bionic-backports InRelease
407 Proxy Authentication Required [IP: proxy.ip port]
Err:4 http://ftp.riken.jp/Linux/ubuntu bionic-security InRelease
407 Proxy Authentication Required [IP: proxy.ip port]
但!!如果我从 GUI 打开 Firefox,这个问题就解决了...这太奇怪了,我无法理解这种行为...
Firefox 的设置是Use system proxy settings
。
我向公司的代理服务器管理员咨询了这个问题,我们的代理服务器似乎每晚都会重新启动。你能解释一下为什么会发生这种情况吗?我该如何执行 apt 命令每天无需打开 Firefox?
答案1
我在 Google 上搜索了很长时间,终于找到了解决方案......
答案是每天使用 shell 脚本以无头模式打开 Firefox!这可能不是一个优雅的答案,但无论如何我可以通过我们公司的代理 :(
这是我的脚本~/open_firefox.sh
;
# open url via firefox
firefox https://google.com --headless & disown
# wait 3s
sleep 3
# kill above process
pkill -f firefox
然后,通过crontab -e
;注册crontab
0 2 * * * $HOME/open_firefox.sh
当然,不要忘记赋予执行权限。
sudo chmod +x ~/open_firefox.sh