在 Fedora 17 中通过命令行切换网络配置

在 Fedora 17 中通过命令行切换网络配置

我在工作笔记本电脑上使用两种不同的设置;一种是通过以太网 ssh 隧道与本地网络上的工作计算机实现协同,另一种是从网络外部打开到工作计算机的 HTTP 隧道。

当我在工作时启用 wifi 时,我的笔记本电脑似乎会优先使用它。这导致 synergy 运行速度非常慢。在家时我必须使用 wifi。

我有脚本可以启动我的 ssh 隧道、添加我的 ssh 密钥并启动 synergy 等其他程序,并在我关闭笔记本电脑时自行关闭。但是,每天我必须通过打开 gnome-control-center 并打开以太网来开始我的日常工作。

我尝试过 route add 和 ifup,但都不起作用,所以我深入研究了 gnome-control-center 的源代码,发现它通过 libnm 的方法 nm_client_activate_connection 启用了连接,但有一些 libnm 特定的结构我很难追踪。我不太擅长编程,也不熟悉 GTK 或 libnm。

有人知道 Fedora 17 如何处理以太网连接吗?充分启用它们?或者有人知道 libnm 会做什么来充分启用以太网连接?我是否必须编写 ac 脚本来运行 libnm,才能完全模拟 gnome-control-center 尝试执行的操作?

答案1

我不会使用 libnm 来控制它。NetworkManager 通过D-总线,所以我会考虑使用dbus-send(或者可能是用Python) 到操纵它

答案2

Fedora 17 包含一个 CLI 工具 nmcli。http://arstechnica.com/civis/viewtopic.php?t=1163023

我可以使用以下命令打开以太网nmcli con up 'System p5p1'并关闭 wifi:nmcli con down id 'MyWifiNetworkName'

相关内容