www.FS-Piloten.de || Die deutschsprachige Gemeinschaft zum Online Fliegen und Fliegen lernen
Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Galerie Karte Zur Startseite Zur Startseite

Olympiaflug mit Dickblech nach Südkorea in mehreren abendlichen Etappen - Start am 26. Januar
www.FS-Piloten.de || Die deutschsprachige Gemeinschaft zum Online Fliegen und Fliegen lernen » Flugsimulatoren » Xplane - Fragen & Antworten rund um Xplane » Probleme bzw. deren Lösung » X-Plane: Joysticks unter Linux » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen X-Plane: Joysticks unter Linux
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Lucas
unregistriert
X-Plane: Joysticks unter Linux Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

seit der Version 10.10 von X-Plane umgeht der Simulator das Joystick-System des Betriebssystems und versucht direkt auf das Eingabegerät zuzugreifen.
Da unter Linux aber der Lesezugriff auf Eingabegeräte an Benutzerrechte gebunden ist (u. a. damit an einem Mehrrechner-System niemand die Tastatureingaben mitlesen kann und dadurch evtl. Passwörter erfährt), muss man dem System mitteilen, dass der aktuelle Benutzer (und damit X-Plane) auch unter Umgehung des Joysticksystems auf die entsprechenden Geräte zugreifen darf.

Hier eine kleine Anleitung, wie das geht (falls sich irgendwann mal ein Linuxnutzer mit X-Plane hierher verirrt):

1. Man muss herausfinden, wie das udev-System des Betriebssystems das Gerät erkennt. Dazu führt man den folgenden Befehl aus:
udevadm info --query=all --attribute-walk --name=/dev/input/js0 | grep ATTRS{name}

Dabei muss man "js0" jeweils durch die Nummer des gesuchten Eingabegerätes ersetzen. Bei drei angeschlossenen Joysticks, müsste man den Befehl also nacheinander mit js0, js1 und js2 ausführen und sich die Ausgabe aufschrieben/speichern.

Die Ausgabe für den ersten Joystick sieht bei mir so aus:


2. Hat man alle Joystick-Namen ermittelt, erstellt man eine neue Textdatei mit dem Namen 99-Joysticks.rules .
Der Inhalt der Datei sollte dann folgendermaßen aussehen (bei mir sind vier Joysticks eingetragen):
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
## Leserechte für Joysticks setzen 
## 01_Joysticks.rules 

# X45 
ATTRS{name}=="Saitek Saitek X45"MODE="0666"

# CH Yoke 
ATTRS{name}=="CH PRODUCTS CH FLIGHT SIM YOKE USB "MODE="0666"

#CH Pedals 
ATTRS{name}=="CH PRODUCTS CH PRO PEDALS USB "MODE="0666"  

#CH Throttle Quadrant 
ATTRS{name}=="CH PRODUCTS CH THROTTLE QUADRANT"MODE="0666"


Wichtig ist, dass der ATTRS-Name exakt mit dem übereinstimmt, was man vorher mittels udevadm in Schritt 1 ermittelt hat (man beachte dazu auch das Leerzeichen am Ende bei den CH-Geräten!).


3. Die erstellte Datei 99-Joysticks.rules muss nun unter
/etc/udev/rules.d/
abgelegt werden.

Nach einem Neustart des Systems hat dann X-Plane vollen Zugriff auf die in der Datei eingetragenen Joysticks.
Achtung: Ein Neustart nur des udev-Systems wie auch das Neueinlesen der Regeldateien sind zwar möglich, führten aber bei mir ertsaunlicherweise nicht zum Erfolg. Erst nach einem Neustart des ganzen Rechners hat es funktioniert.

Zitat:

Für Interessierte die Hintergründe:
Wir nutzen hier das udev-System des Betriebssystems, welches beim Einstecken eines Steckers in den Rechner (oder beim Hochfahren) stets überprüft, was für Geräte da gerade angeschlossen wurden. Das udev-System geht dann alle Dateien mit der Endung .rules in den Ordnern /etc/udev/rules.d und /lib/udev/rules.d/ in der Reihenfolge ihrer Nummerierung durch und überprüft, ob eine der Regeln auf das gerade angeschlossene Gerät zutrifft.
Die standardmäßig vorhandenen Regeln des Systems weisen dabei Joysticks nicht die vollen Leserechte für alle Nutzer zu. Damit wir das ändern könne, müssen wir unsere Regel-Datei mit einer hohen Nummer versehen (hier um sicher zu gehen die 99), damit sie erst nach der standardmäßigen Rechtezuweisung aufgerufen wird und die Leserechte damit korrigieren kann.
Unsere Regeldatei sorgt nun dafür, dass die durch den ATTRS-Namen definierten Geräte die Leserechte 0666 erhalten. Das reicht aus, damit X-Plane frei walten kann.

Für Profis sei angemerkt, dass man in udev-Regeln auch anhand anderer Kriterien Geräte definieren kann - der Name erscheint mir aber hir am zweckmäßigsten.
Weiterhin könnte man verleitet sein, anstatt durch udev-Regeln die Rechte für die Eingabegeräte anders zu setzen. Im Einzelfall mag das funktionieren (ist aber meines Erachtens komplizierter). Wichtig dabei wäre aber, dass es nichts nutzt, die Gerätedateien /dev/input/js0 etc. mit erweiterten Rechtnen zu versehen - entscheidend sind die Eventdateien (/dev/input/event0 etc.). Den Eventdateien ist aber nicht so eifnach anzusehen, ob sie nun zur Tastatur (die man ja nicht beeinflussen will), zur Maus oder zu einem Joystick gehören...


Bei Fragen stehe ich gern zur Verfügung...


Viele Grüße,

Lucas
14.11.2012 16:56
Gerriet
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo ;D

Ich bin LinuxUser, dazu kein Newbie, aber auch kein Experte. Was mir bei deiner Anleitung fehlt ist die Angabe unter welchen Linux du das ganze probiert hast. Da gibts soviele Dists. von Ubuntu bis hin zu OpenSuse etc.

Das udev ist mir noch gar nicht untergekommen, ist das was spizielles ? Ausserdem scheinste auf deinem LinuxSystem root rechte zu habe. Da fehlt nämlich ein ein su oder sudo was eigentlich vor den befehl gehört und mit root rechten sollte man nieeee Surfen bzw. Online gehen ..
14.11.2012 19:21
Lucas
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Gerriet,

einige Fragen deinerseits sind ganz sinnvolle Hinweise - ich kann dirch aber in jeglicher Hinsicht beruhigen. Aber der Reihe nach:

Das Ganze habe ich persönlich nur unter Linux Mint 13 Maya Xfce 64bit getestet. Dieses basiert auf Ubuntu 12.04.
Allerdings handelt es sich bei dem Vorgehen um das Nutzen ganz elementarer Funktionen des Betriebssystems. Das udev-System dürfte als Kernelbestandteil auf jedem auch nur halbwegs aktuellen Linux laufen, da es seit dem Kernel 2.6 Standard ist.

Was die Berechtigungen angeht: Für das Anlegen der udev-Regeldatei muss man natürlich die entsprechenden Berechtigungen haben. Sei es durch den befehl su oder im falle von Ubuntu sudo bzw. bei direktem Aufruf eines Texteditors eleganterweise zum Beispiel gksudo.
Der Befehl zum Erstellen der entsprechenden Datei wäre damit zum Beispiel_
sudo gedit /etc/udev/rules.d/99-Joysticks.rules
Dabei ist gedit der Texteditor und kann natürlich durch einen anderen Editor ersetzt werden...
Bei mir (und meines Wissens sollte das so sein) funktioniert der Aufruf von udevadm auch mit Nutzerrechten schon. Wenn das bei deiner Distribution nicht der Fall sein sollte, ist es natürlich unbedenklich vor den Befehl ein sudo zu hängen.

Ich arbeite jedenfalls nicht standardmäßig mit Root-Berechtigungen - deine Vermutung ist hier also falsch Augenzwinkern Wäre auch nicht nur theoretisch gefährlich, sondern würde auch einige Dinge auf dem System gehörig durcheinander bringen - vor allem bzgl. der abgelegten Konfigurationen im Home-Verzeichnis etc.

Falls dich das udev-System näher interessiert, findest du hier Details: http://wiki.ubuntuusers.de/udev
oder hier: http://de.wikipedia.org/wiki/Udev
Im Ubuntuusers-Wiki findest du übrigens auch, dass der udevadm-Befehl ohne sudo funktionieren sollte - zumindest unter Ubuntu und -Derivaten.

Soweit - Gruß,

Lucas
15.11.2012 17:38
Gerriet
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Lucas ;D

Ja das mit den Root Rechten hab ich mir schon gedacht, das du sie nicht standardmässig eingeschaltet hast bzw. als Root durch die Welt surfst ;D Wegen dem Udev hab ich schon bei Wikipedia geschaut, hatte aber nichts gefunden .. hmm .. na ok ;D

Das ganze hört sich aber intressant an, mal schaun oib ich es mir näher anschaun werde. Ich benutze übrigens seit der 9.04 oder war es 8.04 Ubuntu original. Streife aber ab und zu mal zu andere Linux Dists ;D

Na richtige Spiele unter Linux ist eher ne Sache für sich, hab ich mich bisher nicht so richtig befasst.
15.11.2012 19:40
Lucas
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Gerriet,

lese ich da heraus, dass du derzeit Ubuntu 12.04 oder 12.10 nutzt?
Benutzt du damit im dauerhaften produktiven Einsatz Unity? Deine Meinung dazu wäre für mich interessant.

Ich bin eigentlich seit Unity weg von Ubuntu und suchte Alternativen. LinuxMint ist sicher eine - mit der Xfce Variante war für mich dann die Entscheidung gefallen (bei Xubuntu fehlt mir dann doch ein Bisschen viel, weil zum Beispiel nur Abiword vorinstalliert ist und man LibreOffice nachinstallieren müsste).

Gruß,

Lucas
16.11.2012 11:29
Gerriet
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Lucas ;D

Jup benutze Ubuntu 12.04, bei Unity bin ich ein wenig zwiegespalten. Einiges von dem finde ich nicht schlecht umgesetzt, zum Beispiel das mit dem Dashboard, aber mir fehlt doch das Hauptmenu oben links doch sehr. Auf mein zuhause PC läuft Ubuntu nicht so richtig, die GK macht probleme. Ausser ich schalte dieses Apic oder wie das noch mal heisst aus, dann geht. Was ich mir aber nochmal ansehen werde, ist Ubuntu Remix, das soll ja nicht schlecht sein. Auf meinen Arbeitsplatz PC + und meinen privat Lappi läuft Ubuntu wunderbar ;D

Linux Mint hab ich auch ausprobiert, aber irgendwie mag ich die Dist nicht. Aber da scheiden sich ja eh die Geister und was ich von der 12.10 so gelesen habe, das begeistert mich auch nicht wirklich zu einem Wechsel.

Das mit Steam könnte Linux sehr nach vorne bringen in Sachen Spiele.
17.11.2012 00:56
Gotthard Gotthard ist männlich
Mitglied

[meine Galerie]


Dabei seit: 19.05.2015
Beiträge: 1

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo

Nach langem suchen habe ich diese Seite gefunden. Die Posts sind leider schon älter und nach genauem befolgen von Lucas seiner Anleitung funktioniert mein Saitek Rudderpedal perfekt aber meine beiden Leo Bodnar Geräte wie Cyclic und Collectiv nicht.
Nach vielen Versuchen mit der 99-Joystick Rules komme ich nicht weiter. Vielleicht hat jemand eine Lösung.

Vielen Dank
Gotthard

Ubuntu 14.04.2, i7 Processor, 32 GB Arbeitsspeicher, Grafikkarte Nvidia 980 4GB
28.05.2015 12:23 Gotthard ist offline E-Mail an Gotthard senden Beiträge von Gotthard suchen Nehmen Sie Gotthard in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:        oder direkt zurück ins
Neues Thema erstellen Antwort erstellen
www.FS-Piloten.de || Die deutschsprachige Gemeinschaft zum Online Fliegen und Fliegen lernen » Flugsimulatoren » Xplane - Fragen & Antworten rund um Xplane » Probleme bzw. deren Lösung » X-Plane: Joysticks unter Linux

Views heute: 9.858 | Views gestern: 14.040 | Views gesamt: 29.192.146

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH