Ubuntu 18.04. - kein /etc/acpi/powerbtn.sh mehr?

  • Die Powertaste der Fernbedienung veranlasst bei mir den atrci-Einschalter, die power-Kontakte auf dem Mainboard zu schließen. Ich war es gewohnt, das Runterfahren des VDRs (egal ob per FB oder Gehäuseschalter) und den vorherigen Aufruf eines acpi-wakeup-Scripts über /etc/acpi/powerbtn.sh zu steuern.


    Bei Ubuntu 18.04 finde ich in /etc/acpi aber nichts mehr, was auf den Powerschalter hindeutet. Dennoch funktioniert dieser. Wie ist das realisiert, und wie muss ein acpi-wakeup-Script nun eingebunden werden? Hat das was mit systemd zu tun?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Liegt an systemd. Systemd verwaltet den Powerbutton selber (oder besser gesagt macht das logind). Möglichkeiten gibt es sicherlich mehrere. Ich möchte dennoch mal Werbung für mein Projekt machen:

    https://projects.vdr-developer.org/git/vdrpbd.git/

    Einfach installieren, mit systemd aktivieren und fertig.

    Optional, aber für saubere Systemd-Anbindung nötig ist "Net::DBus". Heißt bei "Debian-basierten" wohl so:

    https://packages.debian.org/de/jessie/libnet-dbus-perl

  • Für den PowerBtn via ACPI solltest du:

    - in /etc/systemd/logind.conf HandlePowerKey=ignore setzen.

    - schauen, das /etc/acpi/events/powerbtn existiert

    Code
    event=button[ /]power
    action=/etc/acpi/powerbtn.sh

    - ein /etc/acpi/powerbtn.sh etwa so erstellen

    - ein vdr-acpiwakeup.service anlegen und aktivieren

    - das passende Skript dazu erstellen

    - einen shutdown hook erstellen (/usr/share/vdr/shutdown-hooks/S95.acpiwakeup)

    - die passende Konfig dazu anlegen

    - hoffen das ich jetzt nichts vergessen habe und min. 5 Euro an eine gemeinnützige Organisation deiner Wahl spenden ;)


    Anmerkung: Manche Intel Systeme mögen es gar nicht, wenn im laufenden Betrieb der RTC beschrieben wird, darum besser per Service und kurz vor dem Shutdown.


    MfG

  • wow, vielen Dank!

    Nach Ändern der /etc/systemd/logind.conf konnte ich meine vorhandenen Dateien wieder verwenden. Deine Scripte, Saman,muss ich mir ebenso wie das Projekt von M-Reimer in einer ruhigen Minute mal genauer anschauen, das ist viel umfangreicher als meine bisherige Umsetzung.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Vielleicht hat hierzu noch einer eine Idee:


    Ich habe einen kompletten xfce-Desktop installiert und starte vdr über das runvdr-Script von Klaus, das im Autostart von xfce eingetragen ist. Wenn ich jetzt über das poweroff-Script den neuen Timer ins ACPI schreibe, softhddevice detache und danach poweroff ausführe, erscheint zunächst eine Maske von xfce mit der Auswahloption für Abmelden, Neustart oder Herunterfahren. Nach ein paar Sekunden geht der Rechner dann aus, obwohl ich keine Option ausgewählt habe.

    Unter "Sitzung und Startverhalten" in den xfce-Einstellungen habe ich in den Abmeldeeinstellungen den Punkt "vor dem Abmelden nachfragen" aktiviert. Wenn ich das nicht ankreuze, wird mein User nicht nur sofort ausgeloggt, sondern der Rechner schaltet sich auch aus, ohne dass überhaupt die Warnung von vdr über ein bevorstehendes Aussschalten angezeigt wird. Es scheint, als wenn /etc/acpi/powerbtn.sh und der darin enthaltene Aufruf von "/usr/local/bin/svdrpsend HITK power" dann gar nicht ausgeführt wird.


    Ich habe den Punkt "vor dem Abmelden nachfragen" in meinem zweiten vdr auch aktiviert, da erscheint hingegen keine Anzeige der Abmeldeoptionen beim poweroff.


    Kann es sein, dass der Eintrag HandlePowerKey=ignore in /etc/systemd/logind.conf nicht greift, wenn Abmelden ohne Nachfragen aktiviert ist?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • für die Nachwelt:


    Damit bei Xfce das acpi-event nicht auch den Xfce-powermanager dazu veranlasst, eine Abmeldemaske anzuzeigen, muss in der Datei des vdr-Users


    ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml


    der Wert für power-button-action auf 0 gesetzt werden:


    Code
    <property name="power-button-action" type="uint" value="0"/>


    Das geht auch global unter

    /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!