Ich denke ruby-dbus könnte die richtige Lösung sein, aber ich kann anscheinend keine Beispiele finden, wie man in Echtzeit erkennt, wann immer ein Speichergerät mit dem Linux-Rechner verbunden ist. Hat jemand ein solches Beispiel?Wie erreiche ich Echtzeit-USB-Speichererkennung mit Ruby unter Linux?
Antwort
Es scheint zahlreiche verschiedene Ansätze zu geben, die Sie ergreifen könnten.
Here's a Ruby implementation I found, die in libusb
mit Ruby FFI verbindet.
Was ist gut daran ist, dass Libusb Hotplug-Benachrichtigungen unterstützt, so dass dies etwas sein könnte, das tut, was Sie brauchen:
http://libusb.sourceforge.net/api-1.0/hotplug.html
Vom libusb Ruby docs:
Geräte Hotplug-Unterstützung
Unterstützung für Hotplugging des Geräts kann verwendet werden, wenn
LIBUSB.has_capability?(:CAP_HAS_HOTPLUG)
Wahr zurückgibt. Dies erfordert libusb-1.0.16 oder neuer unter Linux oder MacOS. Die Windows-Unterstützung ist noch nicht abgeschlossen.Ein Hotplug-Ereignishandler kann mit {
LIBUSB::Context#on_hotplug_event
} registriert werden. Sie müssen dann {LIBUSB::Context#handle_events
} anrufen, um irgendwelche Ereignisse zu erhalten. Dies kann als Blockieren von Aufrufen erfolgen (möglicherweise in seinem eigenen Thread) oder durch Verwenden von {LIBUSB::Context#pollfds
}, um alle zu behandelnden Ereignisse zu erkennen.
Vielen Dank dafür, ich habe nicht realisiert, libusb hat hotplug Unterstützung, das ist perfekt! –
- 1. Wie erreiche ich Remote PgAdmin4?
- 2. Wie erreiche ich Reaktionsfähigkeit?
- 3. Wie erreiche ich Bootstrap-Raster mit rowspan
- 4. Wie erreiche ich innerer Join mit SQLAlchemy?
- 5. Wie erreiche ich Mehrfachvererbung mit fabricJS Objekten?
- 6. Wie erreiche ich dieses Layout?
- 7. Wie erreiche ich Circular Fortschrittsbalken?
- 8. Wie erreiche ich diesen Seitenübergangseffekt?
- 9. Wie kann ich Curl unter Linux installieren?
- 10. Wie erreiche ich diesen coolen Fußzeileneffekt?
- 11. Wie kompiliere ich C++ unter Ubuntu Linux?
- 12. Wie mache ich docset unter Linux?
- 13. Ruby nicht unterstütztes Protokoll (OpenSSL :: SSL :: SSLError) unter Debian/Linux
- 14. Wie mache ich ADB arbeiten unter Linux mit einem Motorola
- 15. Wie kompiliere ich für Windows unter Linux mit gcc/g ++?
- 16. Wie fordere ich serielle Zugriffsrechte mit Polkit unter Linux an?
- 17. Voraussetzungen für das Kompilieren von Ruby 1.9.2 unter Linux?
- 18. Ruby On Rails unter Windows - Linux VM oder Dual-Boot
- 19. Wie erreiche ich eine Textur wie diese mit CSS3 Farbverläufen?
- 20. Wie erreiche ich mein Modell in Laravel?
- 21. Wie erreiche ich das Flusslayout in XUL?
- 22. Ruby unter Windows mit Ruby IRB, und wie RoR eingerichtet
- 23. Wie erreiche ich diese XML-Auszug .NET
- 24. Wie erreiche ich diesen bestimmten Hover-Effekt?
- 25. Dateiübertragung mit TCP unter Linux
- 26. Löschen von .rbenv unter Linux
- 27. Mobilink mit MySQL unter Linux
- 28. Welche IDE/Editor verwenden Sie für Ruby unter Linux?
- 29. Wie erreiche ich diese benutzerdefinierte Zahlenauswahl?
- 30. Wie erreiche ich das in Apache?
Bitte lesen Sie "[fragen]". Sie bitten uns, Off-Site-Ressourcen zu empfehlen, die nicht zum Thema gehören. –
Ich bin nicht, ich frage, wie Echtzeit-USB-Speichererkennung mit Ruby unter Linux zu erreichen. Ein bisschen Beispielcode wäre großartig. –