У меня есть две разные настройки, которые я использую на своем рабочем ноутбуке; один обеспечивает взаимодействие через туннель ethernet ssh с моим рабочим компьютером в локальной сети, а другой открывает HTTP-туннель на мой рабочий компьютер из-за пределов сети.
Когда у меня на работе включен Wi-Fi, кажется, что мой ноутбук предпочитает его использовать. Это делает синергию невероятно медленной. Дома я должен использовать Wi-Fi.
У меня есть сценарии, которые запускают мои туннели ssh, добавляют мои ssh-ключи и запускают другие программы, такие как synergy, и закрываются, когда я закрываю свой ноутбук. Однако каждый день мне приходится начинать свою рутину с открытия gnome-control-center и включения Ethernet.
Я пробовал добавлять маршруты и ifup, ничего из этого не работает, поэтому я погрузился в исходный код gnome-control-center и обнаружил, что он включил соединение с помощью метода nm_client_activate_connection libnm с некоторыми специфическими структурами libnm, которые у меня возникают проблемы с отслеживанием. Я не особо разбираюсь в программировании на C и не знаком ни с GTK, ни с libnm.
Кто-нибудь знает, что Fedora 17 делает с подключениями Ethernet к в полной мере включить их? Или кто-нибудь знает, что делает libnm с в полной мере включить Ethernet-соединение? Должен ли я писать сценарий c для запуска libnm, чтобы я мог полностью эмулировать все, что пытается сделать gnome-control-center?
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-автобус, поэтому я бы посмотрел на использование dbus-send
(или, возможно, сценарий, написанный на Python) к манипулировать им.