问题描述
当我尝试设置Google Chrome的代理设置时(在chrome://linux-proxy-config /上),我收到以下消息:
When running Google Chrome under a supported desktop environment, the system proxy settings will be used. However, either your system is not supported or there was a problem launching your system configuration.
But you can still configure via the command line. Please see man google-chrome-stable for more information on flags and environment variables.
我需要设置代理设置才能使用Chrome,但我不希望每次使用Chrome时都在命令行中设置它们。有没有办法永久设置这些设置?
此外,Chrome中是否有一个选项,以便它不使用特定域的代理(类似于Firefox中的No proxy for
设置)?
最佳解决办法
启动Ubuntu软件中心,搜索”gksu”,然后单击安装(如果尚未安装)。
按Alt
+ F2
并键入gksu nautilus
并点击Enter
输入您的密码,然后按Ctrl
+ L
并键入/usr/share/applications/
并按Enter
现在在chrome图标上找到google-chrome
和right-click并选择”Properties”。
接下来,在命令文本框的末尾添加以下选项。
--proxy-server="IP proxy Server:port"
(例如:--proxy-server="127.0.0.1:8080"
)
它看起来像这样(Chrome也是如此):
关闭窗口,如果Chrome浏览器仍在运行,则关闭浏览器并重新启动。最后,您可以使用带有代理的chrome浏览器。
如果您想告诉google-chrome不使用具有特定域的代理,请使用--proxy-bypass-list
命令。此命令指定我们绕过代理设置并使用直接连接的主机列表。如果还指定了--proxy-auto-detect
或--no-proxy-server
,则忽略。这是旁路规则的comma-separated列表。
这里是google-chrome中使用的Chromium Command Line的列表。
次佳解决办法
Google Chrome和Chromium遵循环境代理变量(http_proxy
,no_proxy
等)以及通过gsettings
设置的代理。 gsettings
预安装在[XL] ubuntu上,因此这是一种不需要sudo
权限的方法。
密钥org.gnome.system.proxy.http[s].{host,port,authentication-user,authentication-user}
(以及FTP和SOCKS代理的类似选项)和代理自动配置密钥org.gnome.system.proxy.autoconfig_url
可用于此:
gsettings set org.gnome.system.proxy.http host "proxy.server.fqdn"
gsettings set org.gnome.system.proxy.http port "3128"
可以使用ignore-hosts
密钥设置代理例外列表:
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.0/8', '::1', '*.some.domain', '10.0.0.0/8']"
no_proxy
环境变量如下所示:
export no_proxy="localhost,.some.domain,127.0.0.0/8,10.0.0.0/8"
export NO_PROXY="localhost,.some.domain,127.0.0.0/8,10.0.0.0/8"
您可以在~/.profile
或~/.pam_environment
(不带export
)中进行设置。
第三种解决办法
只需在终端执行以下命令即可
sudo nano /usr/share/applications/google-chrome.desktop
在命令值中追加到行下方
--proxy-server="192.168.1.251:8080"
用你的代理改变它。它的非身份验证代理示例。对于具有身份验证的代理,应该使用,
--proxy-server="username:password@proxy_address:port"
第四种办法
对于Unity:在”system settings”中,转到”network”然后转到”network proxy”:然后可以设置代理系统范围。
要设置用户和密码,请将其设置如下:user:password @ proxy:port
对于Lubuntu,Xubuntu等……:看看这个线程How do I set systemwide proxy servers in Xubuntu, Lubuntu or Ubuntu Studio?
第五种办法
Semi-automated方式
但是,Google Chrome的每次更新都会导致重置桌面条目和proxy
设置。再次编辑它是非常令人沮丧的。
您可以使用短脚本更改条目,而不是手动工作。
只需将其粘贴到终端:
sudo sed '/^Exec/s/$/ --proxy-server="10.0.2.2:3128"/' /usr/share/applications/google-chrome.desktop -i
显然,您需要将IP更改为代理服务器。
这会将以Exec
开头的所有行附加到您的代理设置,这是设置代理的手动方式。
请享用!
第六种办法
当代理设置位于环境代理变量中时,Chrome无法通过在启动器上放置完整代理设置来运行。
--proxy-server="IP proxy Server:port" (ex: --proxy-server="127.0.0.1:8080")
但是当我把它用于检测自动配置时它起作用了
--proxy-auto-detect
它在Vivaldi工作。