在 Fedora 17 中通過命令行在網路配置之間切換
我在工作筆記型電腦上使用了兩種不同的設置;一個可以通過乙太網 ssh 隧道與我在本地網路上的工作電腦進行協同,另一個可以從網路外部打開到我的工作電腦的 HTTP 隧道。
當我在工作中啟用 wifi 時,我的筆記型電腦似乎會優先使用它。這使得協同作用執行得非常緩慢。在家裡我必須使用wifi。
我有腳本可以啟動我的 ssh 隧道、添加我的 ssh 密鑰並啟動其他程序(如 synergy),並在我關閉筆記型電腦時自行關閉。然而,每天我都必須通過打開我的 gnome-control-center 並打開我的乙太網來開始我的日常工作。
我嘗試了路由添加和 ifup,但都不起作用,所以我深入研究了 gnome-control-center 的原始碼,發現它通過 libnm 的方法 nm_client_activate_connection 啟用了連接,其中包含一些我無法追踪的 libnm 特定結構。我不是一個交流程序員,我對 GTK 或 libnm 都不熟悉。
有人知道fedora 17 對乙太網連接做了什麼來完全啟用它們嗎?或者有人知道 libnm 做了什麼來完全啟用乙太網連接嗎?我是否必須編寫 ac 腳本來執行 libnm 才能完全模擬 gnome-control-center 嘗試做的任何事情?
Fedora 17 包含一個 cli 工具 nmcli。http://arstechnica.com/civis/viewtopic.php?t=1163023
我可以打開乙太網
nmcli con up 'System p5p1'
並關閉wifinmcli con down id 'MyWifiNetworkName'
我不會使用 libnm 來控制它。NetworkManager 通過D-Bus發布對象,所以我會考慮使用
dbus-send
(或者可能是用Python編寫的腳本)來操作它。