ubuntuusers.de

Gerätemanager sinnvoll?

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

mw88

(Themenstarter)

Anmeldungsdatum:
30. Januar 2008

Beiträge: 122

Also ich merk schon, es gibt hier geteilte Meinungen über so ein Projekt 😀

Ich würde das ganze am liebsten in C++ schreiben weil ich damit recht vertraut bin, leider find ich einfach kein gutes bzw. halbwegs aktuelles Howto um Glade mit C++ nutzen zu können. Also, wenn jemand eins kennt, her damit! ^^

Für den Anfang würde ich erstmal nur Informationen zu den Geräten anzeigen lassen, ein Deaktivieren-Button würde sich relativ einfach in die GUI einfügen lassen, was im Hintergrund passiert ist natürlich eine andere Geschichte!

Eine Exportfunktion wäre auch recht einfach zu realisieren, zumindest wüsste ich mit C++ wie das geht.

Was die Abfragen angeht, da fällt mir jetzt spontan nichts ein was man als "normaler" Benutzer nicht auslesen darf.

Als Lizenz denke ich da an GPL und wenn jemand Interesse hat mitzuarbeiten, bitte PN an mich.

Bisher bin ich mit der GUI so weit:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Die Hostinformationen sind im Moment noch fest eingetragen. Ich hätte gerne ein paar Meinungen welche Informationen hier sinnvoll wären. Die Hostinformationen sind einklappbar.

Im weißen Bereich sollen die Geräte dargestellt werden.

Als Darstellungsschema hatte ich mir das etwa so vorgestellt:

Anschlüsse
 COM
 LPT
 USB
Laufwerke
 IDE-Laufwerke
 SATA-Laufwerke
Monitore
Peripherie
Systemgeräte
 Gerätecontroller
 etc

(Das ganze als Baumansicht; die Einrückungen sind Unterpunkte)

Konstruktive Kritik ist sehr willkommen 😉

Update: Ich habe ein Launchpad Projekt erstellt um den Sourcecode zu hosten https://launchpad.net/devicemanager

linopolus

Avatar von linopolus

Anmeldungsdatum:
21. Juli 2008

Beiträge: 986

Wohnort: Ottendorf-Okrilla

It dein Entwurf jetzt GTK oder QT? (wenn QT: Wie heißt das Theme? Das gefällt mir 😬 )

mw88

(Themenstarter)

Anmeldungsdatum:
30. Januar 2008

Beiträge: 122

GTK, genauer gesagt Glade.

Ich benutze mit Emerald mein Theme Simple Sleak 2 (ja, schlechter Name 😉) und das Human-Murrine GTK-Theme aus Hardy.

Was die QT-Integration angeht, habe ich vor einiger Zeit mal was auf meinem Blog gepostet: http://www.mw88.org/2008/10/integration-von-qt-anwendungen-in-gnome

der_frager

Anmeldungsdatum:
5. Dezember 2008

Beiträge: 345

also ich dachte ja wenn du sowas wirklich machst nimmst du einfach lshw-gtk und malst die gui so um dass sie dir gefällt. alles andre ist doch unsinnig oder?!

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17688

mw88 schrieb:

Was die Abfragen angeht, da fällt mir jetzt spontan nichts ein was man als "normaler" Benutzer nicht auslesen darf.

lspci kennt da ein paar schalter. Das mit dem deaktivieren Button wird nicht gehen, da man nur bei wenigen Sachen gezielt was deaktivieren kann.

mfg Betz Stefan

mw88

(Themenstarter)

Anmeldungsdatum:
30. Januar 2008

Beiträge: 122

Von lshw schau ich mir gerade den Quelltext an, sieht ganz so aus als hätten auch die die Datenabfrage mit C++ gemacht und die GUI mit C.

Allerdings finde ich den Quelltext sehr komplex, deswegen wäre es fast einfacher die Abfragen selbst nochmal zu erstellen.

Ich schau trotzdem mal den Quelltext weiter durch um zu erfahren womit die ihre Hardwareabfragen machen, ich hätte da ganz einfach system() genommen aber das ist sicherlich nicht optimal!

Was das deaktivieren von Hardware angeht: Nun gut, mir fallen eh nicht viele Szenarien ein, wo so etwas Sinn machen würde...

PhotonX

Avatar von PhotonX

Anmeldungsdatum:
3. Juni 2007

Beiträge: 4471

Wohnort: München

Das Deaktivieren fände ich schon interessant, wenn nur wirklich deaktiviert wird. Ich krieg hier z. B. bei einem Lappi ums Verrecken das WLAN nicht ganz deaktiviert, obwohl der Schalter (also ein echter Plastik-Schalter 😀 ) auf "Aus" steht...

Aber zurück zum Thema: Ich finde die Infos von lshw-gtk sehr ausführlich, nur nicht sehr schön dargelegt. Was das Darstellungsschema angeht: Ich finde die Anordnung wie bei lshw-gtk sehr schön, würde nur die Schnittstellen nach der Art gruppieren, also:

Motherboard
  BIOS
  CPU
  PCI-Schnittstellen
    PCI 1
    PCI 2
    ...
  USB-Schnittstellen
    USB 1
    USB 2
    ...

Dann wäre als Buttun in der Menüleiste noch etwas in der Art von "Verstecke leere Schnittstellen", was alle unbesetzte USB- und PCI-Anschlüsse sowie leere RAM-Slots verstecken würde. Außerdem wäre vielleicht ein Schalter wie bei Win98 nicht schlecht (Sortierung nach Typ oder nach Anschluss):

http://www.jvc.de/html/faq/camcorder/GR-DV/1517/98_dvcontroler.jpg

mw88

(Themenstarter)

Anmeldungsdatum:
30. Januar 2008

Beiträge: 122

jaja, das gute Windows 98, damit habe ich lange Zeit eine sorglose Computerzeit gehabt (kein Internet 😀 ). Der Darstellungsmodus wäre zu überlegen sobald es überhaupt mal funktioniert ^^

Das mit dem deaktivieren is so eine Sache, ich vermute fast dass es je nach Treiber ganz speziell funktioniert die Geräte zu deaktivieren!

Ich glaube lshw anzuzapfen wäre umständlicher als den Code selbst zu schreiben, außerdem denke ich das libhal ein guter Weg wäre an informationen ranzukommen, auch wenn ich bisher nur Anleitungen für C gefunden habe und selbst da hagelt es bei mir nur Fehler sobald ich die Bibliothek einbinde...

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17688

mw88 schrieb:

Das mit dem deaktivieren is so eine Sache, ich vermute fast dass es je nach Treiber ganz speziell funktioniert die Geräte zu deaktivieren!

Die meisten Treiber kennen nichtmal ne Option dafür. Das Entladen von Treibern ist auch eher ne doofe Idee...

mfg Betz Stefan

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Wohnort: 97070 Würzburg

Doofe Frage, wieso doof?

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17688

Greebo schrieb:

Doofe Frage, wieso doof?

Beispiel: USB-Stick steckt dran, und ne USB-Festplatte, und noch ein USB-Cardreader. Wenn ich jetzt den Treiber dafür entlade, was wird wohl passieren?

Richtig, keines der Geräte wird mehr gehen und ich richte noch dazu eventuell Schaden auf dem Dateisystem an (ggf. kommt nur ein Busy wenn ich versuche ein rmmod zu machen).

mfg Betz Stefan
PS: Hintergrund: Unter Linux wird ein Treiber nicht pro Geräteinstanz geladen wie unter Windows, sondern Systemweit!

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Wohnort: 97070 Würzburg

Ah okey, USB Mass Storage Profile ist natürlich nen Beispiel. Aber es ist nicht im generellen dumm, ich blackliste zB. eben nen Treiber für ne Onboard-Graphikkarte, da passt das IMO ☺.

Frankynstone

Anmeldungsdatum:
14. November 2008

Beiträge: 56

Hallo mw88 und alle, die sonst noch Geräte managen möchten!

Ich bin recht angetan von der Idee. Vielleicht ließen sich ja auch die Netzwerk- und Grafikeinstellungen gleich vollständig integrieren, um dafür keine separaten GUIs mehr zu benötigen.

Denkt bei dem Entwurf bitte daran, dass so ein Grafisches Hilfsmittel sicher bevorzugt von Leuten benutzt wird, die nicht besonders viel Ahnung haben. Der Gerätemanager muss deshalb übersichtlich und in hohem Maße selbsterklärend sein.

Im Moment sitze ich an WinXP und liefere ein Beispiel, wie man es nicht machen sollte: unter "Audio-, Video- und Gamecontroller" finde ich nach der ersten Verzweigung ein "Legacy-Videoaufnahmegerät" und in dessen Eigenschaften steht, es sei Betriebsbereit. Es ist in Wirklichkeit kein Videoaufnahmegerät (Hardware) angeschlossen, installiert oder eingerichtet. Verwirrender Ballast.

Noch mehr Verwirrung? Ok: Der Gerätemanager führt "Laufwerke", "Diskettenlaufwerke" und "DVD-/CD-ROM-Laufwerke" getrennt auf, wobei in "Laufwerke" nur Festplatten (auch USB) aufgelistet werden. Eine sinnvollere Sortierung wäre schön, z. B. "interne Laufwerke" (alle, nur USB nicht) und "USB-Geräte" (also alle über USB angeschlossenen Geräte, auch externe Laufwerke).

Für das deaktivieren eines Gerätes könnte ja je nach Typ eine andere Methode verwendet werden, z. B. unmounten für Laufwerke und Treiber entladen, wenn gerade nur ein Gerät diesen Treiber benutzt.

Leider kann ich selber nicht programmieren, aber meine bisherigen Erfahrungen mit Linux lassen mich davon ausgehen, dass mindestens ein Kommandozeilentool verwendet werden wird. Es scheint bei solchen Lösungen aus Front- und Backend üblich, Funktionen des "mächtigen" Backends zu unterschlagen. Vielleicht sollte es einen Expertenmodus geben, in dem alle Parameter und Schalter benutzt werden können.

Ich würde mich freuen, wenn der Gerätemanager fester Bestandteil von wird und er muss besser sein, als der von M$.

Viel Erfolg wünscht euch Frank.

Antiqua Team-Icon

Avatar von Antiqua

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 4541

ich glaube ihr sucht sowas wie YAST von SuSE, die überlegen ja anscheinend, ob sie YAST nicht freigeben ☺

ein Gerätemanager wie in Windows ist aufgrund des sehr anderen Aufbaus ziemlich schwierig. Alles was mit wenig Aufwand zu machen ist, ist eine grafische aufhübschung von lspci -v, lsusb -v in Verbindung mit Auslesen von /proc in Verbindung mit modinfo oder so ähnlich. Ich muss ehrlich sagen , ich will und brauche sowas nicht, sehe aber ein, daß eventuell Bedarf dafür vorhanden ist. Deswegen gibts ja SuSE. 🤣

Dafür ist aber meiner Meinung nach devinitiv der Distributor zuständig. Der Wartungsaufwand ist da auch nicht zu unterschätzen, da von Distri-Release zu Distri-Release, von Kernel zu Kernel massig Veränderungen einzupflegen wären. Alleine der Aufwand die udev-Regeln zu parsen und anzupassen, alle Eventualitäten abzufangen ... viel Spaß dabei 😉

SnowMann Team-Icon

Avatar von SnowMann

Anmeldungsdatum:
17. November 2004

Beiträge: 1294

Antiqua schrieb:

ich glaube ihr sucht sowas wie YAST von SuSE, die überlegen ja anscheinend, ob sie YAST nicht freigeben ☺

YAST ist schon lange unter der GPL!
Es gab auch mal ein Projekt, welches YAST auf Debian portieren wollte.
http://www.pro-linux.de/news/2005/8064.html oder http://yast4debian.alioth.debian.org/
Das ganze war aber so auf Suse fixiert, dass sich der Aufwand nicht gelohnt hat bzw. einer Neuentwicklung gleichzusetzen war.

SnowMann