Переключение между конфигурациями сети через командную строку в fedora 17
У меня есть две разные настройки, которые я использую на своем рабочем ноутбуке; один включает синергию через Ethernet-туннель SSH с моим рабочим компьютером в локальной сети, а другой открывает HTTP-туннель к моему рабочему компьютеру извне сети.
Когда у меня включен Wi-Fi на работе, мой ноутбук, кажется, использует его по предпочтению. Это заставляет синергию работать невероятно медленно. Дома я должен использовать Wi-Fi.
У меня есть сценарии, которые запускают мои SSH-туннели, добавляют мои SSH-ключи и запускают другие программы, такие как Synergy, и закрываются, когда я закрываю свой ноутбук. Тем не менее, каждый день я должен начинать свою рутинную работу с открытия своего центра управления гномами и включения моей сети Ethernet.
Я попытался добавить маршрут и ifup, но ничего из этого не работает, поэтому я углубился в исходный код gnome-control-center и обнаружил, что он разрешил соединение по методу libnm nm_client_activate_connection с некоторыми специфическими структурами libnm, которые я испытываю с трудом при отслеживании. Я не большой программист, и я не знаком ни с GTK, ни с libnm.
Кто-нибудь знает, что Fedora 17 делает с Ethernet-соединениями, чтобы полностью включить их? Или кто-нибудь знает, что делает libnm для полного подключения Ethernet? Нужно ли мне писать сценарий ac для запуска libnm, чтобы я полностью эмулировал все, что пытается сделать gnome-control-center?
2 ответа
Fedora 17 включает в себя инструмент cli nmcli. http://arstechnica.com/civis/viewtopic.php?t=1163023
Я могу поднять Ethernet с nmcli con up 'System p5p1'
и выключите Wi-Fi с nmcli con down id 'MyWifiNetworkName'
Я бы не использовал libnm для управления им. NETworkManager публикует объекты через D-Bus, поэтому я хотел бы взглянуть на использование dbus-send
(или, возможно, скрипт, написанный на Python), чтобы манипулировать им.