Es geht dem TE um Erkennung ob eine Tastatur angeschlossen ist oder nicht. Dafür reicht es /sys/class/input/input* abzufragen.
Autostart Skript mit Skip-Funktion
-
Aroon -
7. August 2019 um 20:34 -
Erledigt
-
-
Autostart Skript mit Skip-Funktion? Schau mal ob du hier fündig wirst!
-
-
Es geht dem TE um Erkennung ob eine Tastatur angeschlossen ist oder nicht. Dafür reicht es /sys/class/input/input* abzufragen.
ZitatBis hierhin komme ich noch alleine, allerdings würde ich gerne nicht einfach nur automatisch starten, sondern die Konsole für etwa 10s einblenden lassen.
Dann könnte man die Leertaste o.ä. auf der Tastatur drücken, um den Autostart zu unterbinden und Raspbian statt Kodi nutzen.
Die Aufgabe war anders.
Deine Lösung impliziert die Abfrage der Tastatur.
-
Aber der TE hat sich doch umentschieden, bzw. die bessere automatische Lösung bevorzugt. Also ohne 10s warten, Taste drücken usw..
Und nebenbei, das echo "Starte Kodi..." im Skript sollte direkt vor dem Start von Kodi stehen und nicht oben, wo es keinen Sinn ergibt (wenn Kodi nicht startet, steht da auch "Starte Kodi...".
-
Wie dem auch sei.
Jetzt hat er zwei Möglichkeiten.
-
Startet Kodi denn, wenn du /usr/bin/kodi in der Konsole eintippst und mit Enter bestätigst ?
ja, damit startet kodi!
Zudem könntest du uns den Inhalt deiner .desktop-Datei zeigen, damit wir nicht dauernd im Nebel rumstochern müssen.
Code[Desktop Entry] Name=Kodi Comment=KodiStarten Icon=/home/pi/Downloads/kodi.png Exec=/usr/bin/kodi Type=Application Encoding=UTF-8 Terminal=false Categories=None;
BTW: Ist diese Zeile:
in deinem Script, richtig bzw. brauchbar?
Ob sie brauchbar ist, kann ich nicht wirklich beurteilen
das Skript hab ich jetzt so übernommen und rufe es in rc.local so auf:
Jetzt startet Raspbian im Desktop Modus, und nach einigen Sekunden wird der Bildschirm schwarz und erst wenn man mit der Maus über die Icons fährt, baut sich das bild nach und nach auf....
mit dem befehl
startet nun Kodi, allerdings auch bei angeschlossener Tastatur.
-
- Offizieller Beitrag
das Skript hab ich jetzt so übernommen und rufe es in rc.local so auf
Das bringt imho nichts, da die grafische Umgebung noch nicht geladen ist.
Vorschlag: Erstelle eine *.desktop-Datei in das Verzeichnis /home/pi/.config/autostart.
In die Zeile, die mit Exec= beginnt, trägst Du bash /Pfad/zu/autoKodi.sh zum Skript ein, das übrigens m.M.n. besser in /home/pi liegen und pi gehören sollte.
Btw. Ich hoffe Du hast SSH aktiviert, sodass Du im Notfall einfach eventuelle Fehler von einem anderen Rechner aus beheben kannst.
-
Vorschlag: Erstelle eine *.desktop-Datei in das Verzeichnis /home/pi/.config/autostart.
In die Zeile, die mit Exec= beginnt, trägst Du bash /Pfad/zu/autoKodi.sh zum Skript ein.
Soweit so gut, wenn der Pi startet, wird jetzt Kodi gestartet, allerdings auch, wenn die Tastatur angeschlossen ist.
Kann es daran liegen, dass es eine Bluetooth-Tastatur mit Dongle ist, und diese erst zu spät erkannt wird?
Ich kann auf jeden Fall vor dem Start von Kodi schon die Maus (die in die Tastatur integriert ist) bewegen...
das übrigens m.M.n. besser in /home/pi liegen und pi gehören sollte.
Btw. Ich hoffe Du hast SSH aktiviert, sodass Du im Notfall einfach eventuelle Fehler von einem anderen Rechner aus beheben kannst.
Warum sollte das Skript da liegen? Und wie kann ich es "pi" zugehörig machen?
SSH habe ich vorsichtshalber mal aktiviert...
-
- Offizieller Beitrag
Warum sollte das Skript da liegen?
Weil das Skript seinen Dienst nur für den User pi erledigt und nicht für andere User gedacht ist. Ok, das ist evtl. eine "Altlast" in meinem Kopf, da ich oft vergesse, dass der RPi zwar ein Computer ist, aber durch die vielen Möglichkeiten eher als "Gerät" dient.
Egal. wenn das Skript funktioniert, dann kann das auch dort bleiben.
Und wie kann ich es "pi" zugehörig machen?
Was ist die Ausgabe von:
?
Wenn der Besitzer und Gruppe schon pi sind, dann brauchst Du ja nichts zu ändern und falls nicht, dann kannst Du mit
auf den Besitzer und Gruppe pi ändern.
-
Also Rechte-mäßig scheint alles ok zu sein...
Allerdings erkennt das Skript die Tastatur nicht, dazu noch Vorschläge?
-
- Offizieller Beitrag
-
-
-
Die Zeile hat bei mir keine Ausgabe. Lasse ich allerdings "/name" weg, wird angezeigt, dass in "input" enthaltene Ordner "Verzeichnisse" sind.
Ich habe es aber mal mit folgendem versucht:
dann war die Ausgabe: Logtech K400 Plus
-
- Offizieller Beitrag
Ich habe es aber mal mit folgendem versucht
Dann nimm das im Skript, wenn das Deine Tastatur ist und Du keine weiteren Logitecheingabegeräte verwendest!
-
-
- Offizieller Beitrag
Und nun ein Neustart, bzw. vom Desktop abmelden und wieder anmelden reicht. Wird Kodi jetzt gestartet?
-
Und nun ein Neustart, bzw. vom Desktop abmelden und wieder anmelden reicht. Wird Kodi jetzt gestartet?
Ja, allerdings auch bei angeschlossener Tastatur...
Was genau fragt grep denn ab? Bzw. wie reagiert die if-Abfrage auf den Befehl?
mit grep bekomme ich den Inhalt der Datei name aus dem Verzeichnis angezeigt, wenn ein Teil davon jetzt mit keyboard übereinstimmt ergibt sich ein True?
Bash#!/bin/bash echo "Starte Kodi..." if grep -i Logitech /sys/class/input/input7/name then echo "Tastatur gefunden" else #/usr/bin/kodi echo "Kodi würde starten" fi
mit keyboard statt Logitech startet Kodi unter allen Umständen, mit Logitech startet Kodi nie...
wird die Datei name denn jedes mal gelöscht, wenn ich den Bluetooth-Dongle entferne?
-
- Offizieller Beitrag
wird die Datei name denn jedes mal gelöscht, wenn ich den Bluetooth-Dongle entferne?
Ja, zumindest ist das bei meiner Wirelestastatur der Fall.
Erst mit und dann ohne Tastatur:
Codepi@stredepi:~ $ bash /home/pi/Desktop/neu.sh /sys/class/input/input3/name:RAPOO Rapoo 2.4G Wireless Touchpad Keyboard /sys/class/input/input4/name:RAPOO Rapoo 2.4G Wireless Touchpad Keyboard /sys/class/input/input5/name:RAPOO Rapoo 2.4G Wireless Touchpad Keyboard Tastatur gefunden pi@stredepi:~ $ bash /home/pi/Desktop/neu.sh grep: /sys/class/input/*/name: Datei oder Verzeichnis nicht gefunden Starte Kodi...
Btw. der Pfad war /sys/class/input/*/name und nicht /sys/class/input/input7/name.
-
das folgende Skript funktoniert:
Bash#!/bin/bash echo "Starte Kodi..." if grep -i Logitech /sys/class/input/*/name then echo "Tastatur gefunden" else /usr/bin/kodi fi
Vielen Dank für eure Hilfe!
P.S.: daran hat's dann wohl am Ende gelegen
Btw. der Pfad war /sys/class/input/*/name und nicht /sys/class/input/input7/name.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!