dbus-java [NetworkManager]: отправитель не авторизован для отправки сообщения - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь реализовать java версию API консоли nmcli. Я использую клиентский проект dbus- java для запуска вызовов dbus. Теперь я могу перечислить сети или соединения, но когда я хочу управлять соединением вверх или вниз (эквивалент nmcli connection up SSID) с клиентской библиотекой

        NetworkManagerInterface networkManagerInterface = null;
        try{
            networkManagerInterface = getInstance().getRemoteObject( NetworkManagerInterface._NM_IFACE, NetworkManagerInterface._NM_PATH, NetworkManagerInterface.class );
            var result = networkManagerInterface.ActivateConnection( new DBusPath( accessPointProperties.getObjectPath() ), new DBusPath( "/" ), accessPointProperties.getDbusInterface() );
            LOGGER.info( "Attempting connection to " + accessPointProperties.SSID() + ";  result=" + (result == null ? "(nothing)" : result.getPath()) );

            return result != null;
        }catch(DBusException e){
            LOGGER.error( "Did not get properties:" + e.getMessage() );
            return false;
        }catch(DBusExecutionException e){
            LOGGER.error( "Could not activate connection:" + e.getMessage() );
            return false;
        }

, я получаю вывод

Feb 03, 2020 14:34:00 ERROR PACKAGE_PATH.dbus.Wifi:492 - Could not activate connection:Sender is not authorized to send message

Команда nmcli connection up SSID выполняется успешно и без запроса каких-либо учетных данных в терминале.

Это проблема dbus- java или есть учетные данные, которые каким-либо образом используются для NetworkManager

...