Tastenkürzel auf Raspbian Stretch - Setup Hotkeys wirft Fehler

  • Hallo


    ich habe einen Raspberry Pi 3 B+ mit Raspbian Stretch drauf.

    Nun würde ich gerne für ein paar Programme oder Skripte Tastaturkürzel vergeben.

    Rufe ich aber Einstellungen > Setup Hot Keys auf, erhalte ich den Fehler:


    Quote

    Error

    Window manager Openbox isn't supported now, sorry


    Bin ich da überhaupt richtig? Wie beseitige ich diesen Fehler?

    Oder wie macht man das sonst, Tastenkombinationen für das Ausführen von Programmen zu vergeben? Gibt es das überhaupt?


    Insbesondere hätte ich gerne eine Kombination für Runterfahren und Neustarten.


    Danke


    franc


    EDIT: ich habe schon ein paar der angeblichen Tastenkürzel ("keybind") von /etc/xdg/openbox/rc.xml probiert, so wie in Raspbian keyboard shortcuts erklärt, aber da passiert nichts.

    Edited once, last by franc ().

  • Die richtige zu editierende Datei für den Benutzer pi wäre: /home/pi/.config/openbox/lxde-pi-rc.xml. Dort sind alle(?) Tastaturkürzel eingetragen. Dort kannst du eigene hinzufügen. Dokumentation gibt es z.B. hier. Siehe "Key bindings". Nach Änderungen muss die Konfiguration neu geladen werden, damit sie gültig werden. Siehe auch man openbox: In der Shell wäre das openbox --reconfigure.

  • Danke schon mal.

    Ich habe es also getan, allerdings scheinen alle möglichen Tastenkombinationen entweder nicht zu funktionieren, oder vom System schon reserviert zu sein und abgefangen zu werden.


    Gibt es da irgend einen Trick, um zuverlässig zu testen, ob es überhaupt geht?


    Abgesehen davon, scheint die Openbox Wiki Seite für den Publikumsverkehr ausgeschaltet worden zu sein (403 Forbidden)

  • Kann man das Runterfahren (shutdown -h now) überhaupt per Tastenkürzel (als normaler Benutzer) auslösen?

  • Funktionieren denn die schon vorhandenen Tastenkombinationen wie z.B. alt + tab oder strg + alt + t (lxterminal öffnen)? Wenn du die Print (druck) Taste drückst, wird dann im home Verzeichnis des Users (pi) ein Bildschirmfoto abgelegt? Wenn ja, dann könntest du <keybind key="Print"> ändern um zu sehen, ob die Änderung übernommen wird. Z.B. aus <command>scrot</command> machst du <command>scrot test.png</command>. Dann sollte nach druck auf die Print Taste die Datei test.png im home Verzeichnis stehen.


    Änderungen werden natürlich nur übernommen, wenn du /home/pi/.config/openbox/lxde-pi-rc.xml gespeichert hast und die openbox Konfiguration neu geladen wird. Das geht, wie geschrieben, mit openbox --reconfigure in der Shell, oder das System neu starten.

    Abgesehen davon, scheint die Openbox Wiki Seite für den Publikumsverkehr ausgeschaltet worden zu sein (403 Forbidden)

    Hier funktioniert die Seite. Vielleicht war der Fehler nur temporär vorhanden.

    Kann man das Runterfahren (shutdown -h now) überhaupt per Tastenkürzel (als normaler Benutzer) auslösen?

    Ich wüsste nichts, was dagegen spricht.

  • Im Linux normalerweise nicht. Aber ausprobieren geht immer, schlimmstenfalls meldet das System "keine Berechtigung".


    Einem normalen User kann nur der Admin shutdown/reboot Rechte einräumen, sofern das nicht in der Distribution schon vorkonfiguriert wurde. Das geht mit einem Add-On zum GUI, mit dem SetUID Bit am Binary, einem ACL Eintrag, oder - in systemd - mit einem ctr-alt-del.service. Weitere Möglichkeiten nicht ausgeschlossen.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke schon mal, werde ich später noch testen. Die Wiki Seite geht auf meinem Telefon, auf meinem Laptop ging es nicht, aber das war evtl. ein lokales Problem, habe ich nicht weiter untersucht, wird schon klappen wieder.


    Eine Frage noch vorab: was ist der Unterschied zwischen einer lxde-pi-rc.xml anstatt einer rc.xml (ohne das lxde-pi-), wie es im Wiki zu lesen ist?


    Und die rc.xml aus etc, kann ich die verstehen als globale Konfiguration?

    Überschreibt die Benutzer xml die dann?

    Edited once, last by franc ().

  • Weil das die Raspbian Version von der openbox rc.xml Datei ist. Warum das so genau ist, bzw. gemacht wurde, weiss ich nicht. Für den Benutzer pi ist lxde-pi-rc.xml jedenfalls die benutzte Datei. Das ist, oder kann vermutlich je nach Distribution unterschiedlich sein. Wenn ich nicht falsch liege, ist Raspbian eine Ableitung von Debian. Raspbian benutzt LXDE und LXDE benutzt u.A. Openbox.

    Quote

    Openbox ist der Standard-Fenstermanager der Desktop-Umgebungen LXDE bzw. LXQt und damit auch von Lubuntu. Auch verschiedene inoffizielle Ubuntu Varianten setzen ebenfalls auf Openbox.

    Siehe hier und auch hier.


    Die Konfigurationsdateien in /etc/xdg/openbox werden vermutlich bei einem Update überschrieben und somit auch deine Änderungen.

  • Es bleit mühsam und ich hab es noch nicht geschafft.

    Ich bin noch am Rumprobieren und habe zum Test eine ganz einfache Tastaturbindung erstellt:


    Code
    1. ...
    2. <!-- TEST 2019-04-13 -->
    3. <keybind key="A-C-c">
    4. <prompt>Are you sure you want to close the app?</prompt>
    5. <startupnotify>
    6. <enabled>yes</enabled>
    7. </startupnotify>
    8. <action name="Close"/>
    9. </keybind>
    10. ...

    Mein Test funktioniert nicht, da kommt dann, falls ein Terminal offen ist ein "^C" aber kein Befehl oder gar ein Prompt würde gezeigt.

    Bei anderen Tastaturshortcuts kommt dann z.B. ;5E anstatt dass der Befehl für C-F5 ausgeführt würde usw.


    openbox --reconfigure habe ich nicht vergessen und wenn ich einen Fehler in der xml habe, wird das beim reconfigure auch angemeckert.


    Alt+F4 (weiter oben in der Konfig) funktioniert zwar, aber es funktioniert auch, wenn ich es auskommentiere (natürlich mit --reconfigure).

    Möglicherweise pfuscht da noch die rc.xml mit rein.


    Printscreen funktioniert auch! Das habe ich gar nicht in meiner lxde-pi-rc.xml drin, also kommt das tatsächlich aus der rc.xml.


    Also ich bin noch ziemlich entfernt von meinem Ziel, einen Shutdown Befehl zu konstruieren :)

    Es ist ein Stochern im Trüben, zumal ich es nicht per VNC machen kann, der Mac schickt da über VNC unberechenbares, aber nicht unbedingt die eingegebenen Tastenkombinationen rüber. Also muss ich immer rüber laufen und schauen, was die Funktastatur aus den Tastenkürzeln macht (weil ich nur einen Beamer als Ausgabegerät habe und dazu ist es zu hell, ja da kommt eins zum anderen).

    Edited 2 times, last by franc ().

  • Ich habe dein Beispiel aufgenommen und es wie folgt geändert:

    Code
    1. <keybind key="A-C-c">
    2.     <action name="Execute">
    3.         <prompt>Are you sure you want to run?</prompt>
    4.         <command>lxterminal</command>
    5.     </action>
    6. </keybind>

    Wenn ich Alt + Strg + c drücke, dann erscheint hier das Abfragefenster (prompt) und nach positiver Bestätigung wird lxterminal geöffnet/gestartet. Funktioniert also und man könnte lxterminal durch shutdown, oder beliebig ändern. Bei dir steht der keybind Eintrag schon an der richtigen Stelle?


    Du könntes /etc/xdg/openbox/lxde-pi-rc.xml als Vorlage benutzen und nach /home/pi/.config/openbox kopieren. Wenn dort Änderungen nicht greifen, dann ist da ein generelles Problem das zu finden wäre. Benutzt du den Standard Benutzer pi, oder einen anderen? Das könnte ggf. Einfluss haben (weiss sich aber nicht). Openbox (siehe auch man opbenbox) hat --debug Optionen, mit denen man vielleicht mehr erfährt. Einen Versuch wäre es auch Wert, die Konfigurationsdatei direkt zu laden. Also opbenbox --config-file /home/pi/.config/openbox/lxde-pi-rc.xml. Vermutlich muss openbox vorher beendet werden (--exit).

  • ES GEHT!!!

    Endlich!

    Der Tipp mit der Vorlage aus /etc/xdg/openbox/lxde-pi-rc.xml war super, Danke nochmal.

    Hier die für mich interessante Passage dich ich ergänzt habe:

    Code
    1. ...
    2. <keybind key="A-F5">
    3. <action name="ToggleShowDesktop"/>
    4. </keybind>
    5. <keybind key="A-F6">
    6. <action name="Execute">
    7. <command>lxde-logout</command>
    8. </action>
    9. </keybind>
    10. ...

    Das ToggleShowDesktop hatte ich auch gesucht, die Kombination C-A-d ist zu umständlich auf der Spielzeugfunktastatur :)

    Der Shutdown-Dialog (lxde-logout) reicht mir völlig, die Tastatur hat so einen gut erreichbaren Knopf, wo man Enter drücken kann und die Vorauswahl ist ja Shutdown. Aber 3 Tasten gleichzeitig drücken ist damit etwas umständlich, zumal es beim Filmschauen ja meist düster ist und die Tastatur erst leuchtet, wenn man was drückt (und zuvor die Beleuchtung aktiviert hat).


    Zu deinen Fragen:

    Ja, die Anweisungen standen an der richtigen Stelle.

    Ich benutze den Standardbenutzer pi, ja.


    Also danke allen und auf Wiedersehen!


    franc