在ubuntu中通过bash脚本设置代理



我使用gsettings工具自动设置系统代理[系统设置->网络代理],所以我用这些行做了一个简单的bash脚本:

 gsettings set org.gnome.system.proxy mode 'auto'
 //for another mode
 gsettings set org.gnome.system.proxy mode 'none'

我把这个脚本放在/etc/network/if-up中d因为我想让脚本在我的笔记本电脑连接到互联网时运行。我在我的主文件夹中保存了脚本的副本,当我运行副本时,脚本似乎工作得很好,我可以看到网络代理窗口的变化,但是当我在/etc/network/if-up中运行脚本时D文件夹,设置似乎不适用的原因。我错过了什么?

我终于让脚本工作了!自从我被gsettings工具卡住以来,已经有一个星期了。现在,我想要完成的是运行gsettings工具来为用户设置代理,尽管执行此操作的bash脚本属于根用户,因此只有根环境变量。现在这可以推广到任何命令,要作为特定用户运行命令,我们可以这样做:

su username -c "command to execute"
#replace username by your username in the bash script

如果命令只包含一个单词,则可以去掉双引号。我很高兴。我不需要切换配置文件和手动设置代理配置[ip地址等],每次我连接到互联网。

希望这对有类似问题的人有所帮助:D

最新更新