ubuntuusers.de

dbus Networkmanager verbinden

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Andyh-pyedit

Anmeldungsdatum:
26. Januar 2009

Beiträge: Zähle...

Hallo

Wie kann man den Networkmanger mit Python und dbus dazu bringen eine feste/dynamische IP auf eth0 zu verwenden und dann auch noch zu verbinden.

Ich möchte nämlich einen neuen Networkmanager erstellen.

Ich habe mal ein paar sachen schon herausgefunden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import dbus

#Device Types
UNKNOWN = 0
ETHERNET = 1
WIRELESS = 2
GSM = 3
CDMA = 4

class NetworkManager():
    def __init__(self): 
        self.bus = dbus.SystemBus()
        self.nname = 'org.freedesktop.NetworkManager'
        self.nm = self.bus.get_object(self.nname, '/org/freedesktop/NetworkManager')
    
    def get_devices(self):
        devices = []
        for dev_path in self.nm.GetDevices(dbus_interface = self.nname):
            dev_object = self.bus.get_object(self.nname, dev_path)
            dev = dbus.Interface(dev_object, self.nname)
            
            name = dev.Get(self.nname + '.Device', 'Interface', dbus_interface='org.freedesktop.DBus.Properties')
            typ = dbus.Interface(dev_object, 'org.freedesktop.DBus.Properties').Get('org.freedesktop.NetworkManager.Device', 'DeviceType')
                
            if typ == ETHERNET:
                print "Kabel"
                
        return devices
            
if __name__ == "__main__":
    nm = NetworkManager()
    print nm.get_devices()

Gruß Andyh

Antworten |