igsilya писал(а): ↑06.03.2012 01:11
команда
Код: Выделить всё
$ dbus-send --print-reply --system --dest=org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings org.freedesktop.NetworkManagerSettings.ListConnections | xargs -L1 sh -c '[ $# != 3 ] && exit 0; echo "$3"; dbus-send --print-reply --system --dest=org.freedesktop.NetworkManagerUserSettings "$3" org.freedesktop.NetworkManagerSettings.Connection.GetSettings' sh | sed -ne'/"id"/{ N; p; };/^\//p'
действительно показала мне все подключения имеющиеся в системе.
Команда вам показала только пользовательские подключения (в ней запросы отправляются сервису org.freedesktop.NetworkManagerUserSettings). Но это так, просто уточнение.
igsilya писал(а): ↑06.03.2012 01:11
Но в параметрах стоит
Код: Выделить всё
dict entry(
string "autoconnect"
variant boolean true
)
Ясно. Видимо, другой сервис (knetworkmanager вместо nm-applet) немного по-другому записывает настройки. Это, в общем-то, не так и важно.
igsilya писал(а): ↑06.03.2012 01:11
команды через gconf на это значение не влияют.
Да, видимо, так и должно быть.
igsilya писал(а): ↑06.03.2012 01:11
при этом самого автоподключения не происходит.
В общем случае, у вас есть два варианта: сделать все подключения системными (поставить где-то в ГУИ галочку "Available to all users" или что-то похожее), или пытаться искать где и как knetworkmanager хранит свои настройки (видимо, какой-то KDE-шный сервис аналог gconf?). В первом случае, вы получите настройки, независящие от ДЕ (тк они будут храниться в файлах в папке '/etc/NetworkManager/system-connections'), и работающие подключения при выключенных X-ах. Во-втором случае, вы получите работающие подключения только для вашего пользователя, только при запущенной x-сессии. А также очередную интересную задачку "как пофиксить NM".
igsilya писал(а): ↑06.03.2012 01:11
ещё один занимательный факт.
Подключение имеет wpa2-psk аутентификацию, но в параметрах подключения(в GUI knetworkmanager-а) security написано none.
Да и в конфигах я не видел ни слова о ключе. При этом если в этом же самом менеджере кликнуть на подключение, то он спокойно подключается.
Если вы выбираете второй вариант, то начните с того, что проверьте, что именно knetworkmanager предоставляет сервис по адресу org.freedesktop.NetworkManagerUserSettings (весь вывод выкладывайте сюда):
Код: Выделить всё
$ dbus-send --print-reply --system --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetConnectionUnixProcessID string:'org.freedesktop.NetworkManagerUserSettings' | sed -ne'2s/.* //p' | xargs ps -f
затем выложите полные настройки из DBus-а для того подключения, которое вы пытаетесь настроить. Используя команду из
сообщения 15:
Код: Выделить всё
$ dbus-send --print-reply --system --dest=org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings org.freedesktop.NetworkManagerSettings.ListConnections | xargs -L1 sh -c '[ $# != 3 ] && exit 0; echo "$3"; dbus-send --print-reply --system --dest=org.freedesktop.NetworkManagerUserSettings "$3" org.freedesktop.NetworkManagerSettings.Connection.GetSettings' sh | sed -ne'/"id"/{ N; p; };/^\//p'
определите путь к объекту (по id) соответствующему нужному подключению. Затем выложите полные настройки для этого подключения - в команде ниже нужный путь должен быть последним аргументом. Например, если путь к объекту /org/freedesktop/NetworkManagerSettings/0, то выглядеть это будет так:
Код: Выделить всё
$ sh -c 'eval "dbus-send --print-reply --system --dest=org.freedesktop.NetworkManagerUserSettings \"\$$#\" org.freedesktop.NetworkManagerSettings.Connection.GetSettings"' sh /org/freedesktop/NetworkManagerSettings/0
А потом.. потом надо было бы попробовал поменять значение autoconnect через DBus, но я еще не знаю, как это сделать (похоже dbus-send не позволяет посылать вложенные контейнеры в запросе).