Linux 有問必答:如何在桌面版 Ubuntu 中用命令列更改系統代理設定

2 贊 回覆發表於2015-06-23

問題: 我經常需要在桌面版 Ubuntu 中更改系統代理設定,但我不想通過繁瑣的 GUI 選單點選:"系統設定" -> "網路" -> "網路代理"。在命令列中有更方便的方法更改桌面版的代理設定嗎?

在桌面版 Ubuntu 中,它的桌面環境設定,包括系統代理設定,都儲存在 DConf 資料庫,這是簡單的鍵值對儲存。如果你想通過系統設定選單修改桌面屬性,更改會持久儲存在後端的 DConf 資料庫。在 Ubuntu 中更改 DConf 資料庫有基於影像使用者介面和非圖形使用者介面的兩種方式。系統設定或者 dconf-editor 是訪問 DConf 資料庫的圖形方法,而 gsettingsdconf 就是能更改資料庫的命令列工具。

下面介紹如何用 gsettings 從命令列更改系統代理設定。

gsettings 讀寫特定 Dconf 設定的基本用法如下:

更改 DConf 設定:

$ gsettings set <schema> <key> <value> 

讀取 DConf 設定:

$ gsettings get <schema> <key> 

通過命令列更改系統代理設定為手動

桌面版 Ubuntu 中下面的命令會更改 HTTP 代理設定為 "my.proxy.com:8000"。

$ gsettings set org.gnome.system.proxy.http host 'my.proxy.com'
$ gsettings set org.gnome.system.proxy.http port 8000
$ gsettings set org.gnome.system.proxy mode 'manual' 

如果你還想更改 HTTPS/FTP 代理為手動,用這些命令:

$ gsettings set org.gnome.system.proxy.https host 'my.proxy.com'
$ gsettings set org.gnome.system.proxy.https port 8000
$ gsettings set org.gnome.system.proxy.ftp host 'my.proxy.com'
$ gsettings set org.gnome.system.proxy.ftp port 8000 

更改套接字主機設定為手動:

$ gsettings set org.gnome.system.proxy.socks host 'my.proxy.com'
$ gsettings set org.gnome.system.proxy.socks port 8000 

上面的更改都只適用於當前的桌面使用者。如果你想在系統範圍內使用代理設定更改,在 gsettings 命令面前新增 sudo。例如:

$ sudo gsettings set org.gnome.system.proxy.http host 'my.proxy.com'
$ sudo gsettings set org.gnome.system.proxy.http port 8000
$ sudo gsettings set org.gnome.system.proxy mode 'manual' 

在命令列中更改系統代理設定為自動

如果你正在使用 自動配置代理 (proxy auto configuration,PAC),輸入以下命令更改為 PAC。

$ gsettings set org.gnome.system.proxy mode 'auto'
$ gsettings set org.gnome.system.proxy autoconfig-url http://my.proxy.com/autoproxy.pac

在命令列中清除系統代理設定

最後,清除所有“手動/自動”代理設定,還原為無代理設定:

$ gsettings set org.gnome.system.proxy mode 'none' 

via: http://ask.xmodulo.com/change-system-proxy-settings-command-line-ubuntu-desktop.html

作者:Dan Nanni 譯者:ictlyh 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章