web-dev-qa-db-ja.com

すぐに再起動を一時停止する-systemdサービスでacpi / wakeupを編集する

18.04 Ubuntu Ryzenデスクトップは、サスペンドした後すぐに起動します。問題を/ proc/acpi/wakeupまで追跡しました。有効なサービスのリストには、次のシェルコマンドを使用して無効にできる2つのサービス(価値のあるラベル:AS43およびPTXH)があります。

Sudo -s 
echo AS43 > /proc/acpi/wakeup
echo PTXH > /proc/acpi/wakeup

これが完了すると、システムはキーボード入力からのみスリープから復帰します-すべてが正常です。ただし、このプロセスを自動化することはできません。

解決策の1つ(および他のユーザーにも公開されています)は、次のようなサービス/etc/systemd/system/suspendfix.serviceを作成することです。

[Unit]
Description=fix to prevent system from waking immediately after suspend

[Service]
Type=simple
ExecStartPre=/bin/sh -c '/bin/echo GPP2 > /proc/acpi/wakeup'
ExecStart=/bin/sh -c '/bin/echo AS43 > /proc/acpi/wakeup'
ExecStartPost=/bin/sh -c '/bin/echo PTXH > /proc/acpi/wakeup'
RemainAfterExit=yes
TimeoutSec=90s

[Install]
WantedBy=sleep.target
WantedBy=multi-user.target

しかし、これはうまくいかないようです。サービススクリプトが間違っているか、このsystemdサービスファイルに関係なく、問題のAS43とPTXHが有効に戻されています。どんな助けも、大いに義務づけられました! 〜

3
dalaeck

Ryzen 2600とUbuntu 18.04でも同じ問題が発生しました。

あなたのスクリプトはとても役に立ちました。起動時に実行するには、行を追加しました

echo AS43 > /proc/acpi/wakeup
echo PTXH > /proc/acpi/wakeup

/etc/rc.localファイルに。

次に、このスクリプトを開始するsystemdサービスを追加しました。 このチュートリアル に従いました。

ウェイクアップトリガーを見つけてくれてありがとう!

1
user2699453

Lenovo Yoga 910での同じ問題(USBの再作成)。 mike-g2(mikeg-utk)の解決策 :で解決

  1. ファイルを作成:/etc/systemd/system/toggle.XHC.to.fix.suspend.issue.service次のコンテンツ:

    [Unit]
    Description="Make suspend ignore USB wake up."
    
    [Service]
    ExecStart=/bin/bash -c "echo XHC >> /proc/acpi/wakeup"
    
    [Install]
    WantedBy=multi-user.target
    
  2. /etc/systemd/system/multi-user.target.wants/に上記のスクリプトへのシンボリックリンクを作成します

    ln -s /etc/systemd/system/toggle.XHC.to.fix.suspend.issue.service /etc/systemd/system/multi-user.target.wants/
    
  3. サービスを開始

    Sudo systemctl daemon-reload
    Sudo systemctl start toggle.XHC.to.fix.suspend.issue.service
    
  4. サービスが開始されたかどうかを確認します

    Sudo systemctl status toggle.XHC.to.fix.suspend.issue.service
    
  5. 起動時に有効にする

    Sudo systemctl enable toggle.XHC.to.fix.suspend.issue.service
    
0
Fabian H.