2017-11-21 6 views
0

Wir sind ein Hardware-Hersteller und möchten Unterstützung für Linux bieten. Das bedeutet, dass wir eine (User Space) Shared Library zur Verfügung stellen wollen, die von unseren Kunden verwendet werden kann, ohne mit dem Lowlevel-Protokoll zu kämpfen.Best Practice für eine Linux Desktop App, um sicherzustellen, dass sie über Hardwarezugriffsberechtigungen verfügt?

Unsere Hardware wird über USB/HID zugegriffen und somit muss unsere Bibliothek auf /dev/hidrawX zugreifen können.

Um Zugriff auf dieses Gerät (oder andere Hardwaregeräte) zu erhalten, müssen wir das System jedoch ändern, indem wir dem udev-System Berechtigungen hinzufügen (siehe Get access to USB device on Linux (libusb-1.0)?).

Ist dies wirklich die beste Praxis? Wenn ja, wo soll ich das machen? Im .deb/.rpm/... Installer der Kundenanwendung? Was ist mit FlatPak oder ähnlichen Konzepten?

+0

Sie haben nur eine Chance in deb/rpm-Paketen, da ihr Postinstall-Skript als root ausgeführt wird und Sie root sein müssen, um benutzerdefinierte udev-Regeln hinzuzufügen. Flatpak und ähnliche Sandbox-Projekte können das Root-Dateisystem nicht ändern, wie beispielsweise die udev-Regeln. –

+0

Gibt es mindestens eine "Best Practice", wie dies zu .deb/.rpm Postinstall-Skripten hinzugefügt wird, um sicherzustellen, dass die Einstellungen sauber zurückgesetzt werden, wenn das Paket erneut deinstalliert wird? – mrh1997

Antwort

0

Udev ist Standard und Best Practice. Jede Linux-Distribution hat udev-Regeldateien typischerweise für ex. Im Falle von ubuntu befindet es sich im Ordner /etc/udev/rules.d. Sie müssen eine udev-Regeldatei erstellen und die Regel MODE = "0666" darauf schreiben. Werfen Sie einen Blick auf this example für das Schreiben von udev-Regel.

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/18197263) – user35443

Verwandte Themen