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