FlyingDoc Geschrieben December 5, 2015 at 22:08 Geschrieben December 5, 2015 at 22:08 Frage an unsere Linux Gurus. Ich habe einen USB Joystick am RED Brick installiert mit apt-get install xserver-xorg-input-joystick Dieser funktioniert auch. Aber nur solange man als "root" angemeldet ist. Ich tippe mal auf ein Rechte Problem . Was muss ich tun um ihn auch unter den normalen User nutzen zu können. Da wird dieser nämlich nicht gefunden. Sobald ich aber als root angemeldet bin ist alles ok. Noch eine Frage nebenbei. Wo muss ich eintragen das mein Programm beim Rechnerstart automatisch gestartet wird? Hab ich noch nicht gefunden. Zitieren
remotecontrol Geschrieben December 6, 2015 at 09:34 Geschrieben December 6, 2015 at 09:34 Hmm, ich habe noch nie einen Joystick unter Linux angeschlossen. Aber die Input-Devices (wie auch die Maus) sind mit Devices unter "/dev/input" verknüpft und hier sind in der Regel nur Rechte für root. Da der X-Server unter root läuft kann der drauf zugreifen ... Das Problem scheinen schon mehrere gehabt zu haben, z. B.: http://developer.x-plane.com/2012/09/linux-joystick-permissions/ Zitieren
FlyingDoc Geschrieben December 6, 2015 at 21:13 Autor Geschrieben December 6, 2015 at 21:13 Danke hat funktioniert. apt-get install xserver-xorg-input-joystick sudo apt-get install input-utils sudo lsinput Listet alle / dev / input / event 's auf Joystick suchen Beispiel: /dev/input/event0 bustype : BUS_I2C vendor : 0x0 product : 0x0 version : 0 name : "axp152" phys : "sunxi-i2c.0" bits ev : EV_SYN EV_KEY /********************Joystick***********************/ /dev/input/event1 bustype : BUS_USB vendor : 0x68e product : 0x105 version : 273 name : "CH Products HF USB" phys : "usb-sw-ehci-1.2/input0" uniq : "" bits ev : EV_SYN EV_KEY EV_ABS EV_MSC /dev/input/event2 bustype : BUS_USB vendor : 0x68e product : 0x105 version : 273 name : "CH Products HF USB" phys : "usb-sw-ehci-1.2/input1" uniq : "" bits ev : EV_SYN EV_KEY EV_MSC EV_REP /dev/input/event3 bustype : BUS_USB vendor : 0x68e product : 0x105 version : 273 name : "CH Products HF USB" phys : "usb-sw-ehci-1.2/input2" uniq : "" bits ev : EV_SYN EV_KEY EV_REL EV_MSC /********************Joystick***********************/ /dev/input/event4 bustype : BUS_USB vendor : 0x24ae product : 0x2000 version : 257 name : "RAPOO RAPOO 2.4G Wireless Device" phys : "usb-sw-ehci-1.3/input0" uniq : "" bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP /dev/input/event5 bustype : BUS_USB vendor : 0x24ae product : 0x2000 version : 257 name : "RAPOO RAPOO 2.4G Wireless Device" phys : "usb-sw-ehci-1.3/input1" uniq : "" bits ev : EV_SYN EV_KEY EV_REL EV_ABS EV_MSC /dev/input/event6 bustype : BUS_USB vendor : 0x4d8 product : 0xc02 version : 273 name : "Microchip Technology Inc. AR1100" phys : "usb-sw-ehci-1.4/input0" uniq : "" bits ev : EV_SYN EV_KEY EV_ABS EV_MSC gebraucht werden vendor : 0x68e product : 0x105 Datei Namens "99-X-Plane_10_Joystick.rules" im /lib/udev/rules.d/ Verzeichnis erstellen. mit folgendem Eintrag pro gewünschten USB Gerät KERNEL=="event*", ATTRS{idProduct}=="0105", ATTRS{idVendor}=="068e", MODE="0666" Dannach Neustart durchfüren Jetzt fehlt nur noch das das Programm automatisch startet beim Systemstart. Zitieren
remotecontrol Geschrieben December 7, 2015 at 06:08 Geschrieben December 7, 2015 at 06:08 Das mit dem Programmstart bei Systemstart kriegst Du hin? Zitieren
Nic Geschrieben December 7, 2015 at 07:58 Geschrieben December 7, 2015 at 07:58 Jetzt fehlt nur noch das das Programm automatisch startet beim Systemstart. Eine Möglichkeit über den BrickViewer hochladen und einrichten: http://www.tinkerforge.com/de/doc/Hardware/Bricks/RED_Brick_Program_Tab.html#red-brick-program-tab Zitieren
FlyingDoc Geschrieben December 7, 2015 at 22:29 Autor Geschrieben December 7, 2015 at 22:29 Darüber lade ich mein Programm ständig hoch. Aber das Compilieren hat noch nie funktioniert. Das mache ich immer über die Console. Wie gesagt. es geht auch alles. Nur den Programmstart beim Systemsatrt hab ich noch nicht geschafft. Trotz Eintrag in ./etc/init.d und Linkerzeugung im Run Level Zitieren
Nic Geschrieben December 8, 2015 at 08:59 Geschrieben December 8, 2015 at 08:59 Warum machst du dann nicht noch einen neuen Thread auf, um das Compile Problem genauer zu beschreiben. Ich vermute es ist ein C/C++ Projekt ? Ev. ist da remotecontrol schon weiter !? Das gleichzeitige Compilieren habe ich bisher nur mit Pascal Projekten erfolgreich gemacht. Fertige C Compilate deploye ich aber auch über den BrickViewer und stelle das Verhalten über den Scheduler ein. Eleganter geht es nicht mehr Zitieren
jgmischke Geschrieben December 8, 2015 at 14:19 Geschrieben December 8, 2015 at 14:19 @Flying Doc Um was für ein Programm handelt es sich denn, welches du mit init.d starten willst. Normalerwesie werden hier nur sogenannte Dämonen gestartet, die keine Ein-Ausgabe haben und nur still und stumm im Hintergrund arbeiten. Ansonsten einmal in /var/log/messages nachsehen oder in deinem Programm ein paar Zeilen für das Log ausgeben, damit du sehen kannst, warum das Teil nicht gestartet wird. Zitieren
FlyingDoc Geschrieben December 8, 2015 at 15:02 Autor Geschrieben December 8, 2015 at 15:02 Es handelt sich um eine grafischen Bedieneroberfläche zur PTZ Steuerung von Videokameras. Zitieren
Nic Geschrieben December 8, 2015 at 15:19 Geschrieben December 8, 2015 at 15:19 Fehlt ev. auch noch der Display Parameter ? http://www.tinkerunity.org/forum/index.php/topic,2922.msg18415.html Zitieren
jgmischke Geschrieben December 8, 2015 at 19:41 Geschrieben December 8, 2015 at 19:41 @Flying Doc Ok, dann ist es klar. Du kannst das Programm nicht als Dämon starten, das wird nicht klappen, da die Dämonen keine Ausgabe machen können. ( Natürlich gibt es da noch Wege, aber das hilft dir nicht. ) Startest du irgendwo einen X-Server, der dir die grafischen Sachen überhaupt erst ermöglicht? Diese X-Server haben meistens einen Autostartmodus, d.h. du kannst NACH dem starten des X-Servers ein weiteres Programm starten, welches dann die normalen Ein-Ausgaben ermöglicht. Zum Systemstart brauchst du das Programm ja auch nicht wenn ich es verstanden habe, es würde dann nach dem X-Server starten und dann z.B. auf deinem Desktop erscheinen. Willst du sowas in der Art?? Zitieren
FlyingDoc Geschrieben December 8, 2015 at 20:18 Autor Geschrieben December 8, 2015 at 20:18 Rischdisch. Der Gandidad had hunderd Bungde. Der RED fährt in der Console hoch und soll dann über ne Btach in das Verzeichniss wechseln und das Programm mit startx ./Programmname starten. Wenn ich in der Console das von Hand eingebe geht auch alles richtig. Ich seh bei Linux da noch nicht richtig durch. Komme eher aus der Windwosrichtung und programiere erst seit relativ kurzer Zeit im Linux. Zitieren
ric5sch Geschrieben December 8, 2015 at 21:57 Geschrieben December 8, 2015 at 21:57 Hoffe das Hilft, der letze Beitrag im diesem "thread" könne für den Autostart hilfreich sein. http://www.tinkerunity.org/forum/index.php/topic,3346.msg20566.html#msg20566 Zitieren
jgmischke Geschrieben December 9, 2015 at 07:04 Geschrieben December 9, 2015 at 07:04 @Flying Doc. OK, die Idee mit startx Programmname sollte eigentlich nicht funktionieren, da startx nicht unbedingt auf das angefügte Programm reagiert. ABER .... es gibt eine Datei mit Namen .xinitrc. Schau dir das ganze mal unter : http://www.x.org/archive/X11R6.8.1/doc/startx.1.html an, dann sollte das mit deinem Programm sofort und ohne Probleme laufen. Zitieren
photron Geschrieben December 9, 2015 at 16:47 Geschrieben December 9, 2015 at 16:47 FlyingDoc, warum kannst du nicht den normalen Program Schedule Mechnismus mit Always und Continue-After-Error benutzen? Zitieren
FlyingDoc Geschrieben December 9, 2015 at 17:52 Autor Geschrieben December 9, 2015 at 17:52 Weil das Programm damit garnicht erst startet. Bricht sofort mit Fehlercode -1 ab. Zitieren
photron Geschrieben December 9, 2015 at 18:00 Geschrieben December 9, 2015 at 18:00 Ist das ein GUI Programm? Hast du DISPLAY auf :0 gesetzt? Zitieren
FlyingDoc Geschrieben December 9, 2015 at 21:29 Autor Geschrieben December 9, 2015 at 21:29 Das Programm hat eine graphische Oberfläche und ist unter QT entwickelt. Es ist auch lauffähig und lässt sich aus der Console mit "startx ./Touch" starten. Dabei ist es egal ob das Desktop Environment schon gestartet ist oder nicht. Wenn der RED nur in der Console startet läst sich das Programm starten in dem man in das Verzeichnis wechselt und dann mit dem oberen Aufruf also "startx ./Touch" ausführt. Es geht darum das der RED automatisch bis in das Programm hochfährt ohne das der "normale" User etwas machen muß oder darf. Zitieren
FlyingDoc Geschrieben December 10, 2015 at 07:54 Autor Geschrieben December 10, 2015 at 07:54 So. Hab endlich zum laufen gebracht. Ich hatte zwar vorher schon die Display Variable mit eingetragen, da ging es aber kommischer Weise nicht. Hab es jetzt nochmal probiert und es geht. Es ist zwar noch nicht ganz so wie ich es mir vorgestellt habe, der Desktop ist kurz zu sehen, aber es funtioniert. Wenn ich aus der Console mit startx ./Touch starte bekommt man den Desktop garnicht erst zu Gesicht und bei Programmende ist er auch nicht zu sehen. Könnte man sowas nicht als Startparameter hinterlegen. Sozusagen gibt man an ob das Programm den Desktop vorher starten soll. z.B. "RunGUI Yes" oder ähnlich. Zitieren
photron Geschrieben December 10, 2015 at 08:53 Geschrieben December 10, 2015 at 08:53 Mit "startx ./Touch" startest du dein Touch Programm als graphische Oberfläche anstatt des LXDE Desktops. Das ist so von uns erstmal nicht direkt vorgesehen. Vorgesehen ist, das der LXDE Desktop startet und dann dein Programm darauf angezeigt wird. Was du testen kannst ist folgendes: - Auf dem Services Tab den Desktop abstellen - Dein Programm als Shell Programm hochladen - Beim Shell Programm "Command" statt "Script" wählen und dort "startx ./Touch" eintragen - Unter Environment nicht DISPLAY angeben, weil dann der redapid darauf wartet, dass der LXDE Desktop gestartet ist, bevor er dein Programm startet. Das sollte so funktionieren, ich habe es aber nicht getestet. Zitieren
FlyingDoc Geschrieben December 10, 2015 at 10:33 Autor Geschrieben December 10, 2015 at 10:33 Wie vorgeschlagen gemacht bekomme ich im LOG folgende Meldung. 2015-12-10T01:58:49.512397+0100 ------------------------------------------------------------------------------- xauth: timeout in locking authority file /.Xauthority "Handstart" über die Console funktioniert. Zitieren
FlyingDoc Geschrieben December 10, 2015 at 13:24 Autor Geschrieben December 10, 2015 at 13:24 Hab gerade noch einmal geschaut was der Fehler bedeutet. Ist wieder eine Rechte Sache. Laut Info tf@red-brick:~/programs/PTZ$ ls -l ~/.Xauthority -rw------- 1 tf tf 0 Dec 10 04:15 /home/tf/.Xauthority tf@red-brick:~/programs/PTZ$ sudo chown user ~/.Xauthority [sudo] password for tf: chown: invalid user: ‘user’ tf@red-brick:~/programs/PTZ$ Zitieren
photron Geschrieben December 10, 2015 at 14:04 Geschrieben December 10, 2015 at 14:04 Wenn dann muss es sudo chown tf ~/.Xauthority lauten. Mit chwon änderst du den Besitzer einer Datei. Den Nutzer user gibt es nicht auf dem RED Brick. Der Nutzer heißt tf. Das wird potentiell nicht helfen. Du kannst testweise xauth auch abstellen mittels "xhost +". Damit hat dann jeder Zugriff auf den X Server. Dafür "startx ./Touch" durch xhost +; startx ./Touch für das Starten deines Programms ersetzen. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.