サービス中断によるウェイクアップ防止

サービス中断によるウェイクアップ防止

私の言葉は、一時停止後すぐにラップトップが目覚めないようにすることです。写真のように成功しました。ここdisable_devices_from_wakeup.sh私が使用するスクリプトの内容は次のとおりです。

#!/bin/bash

declare -a devices=(EHC1 EHC3 OHC1 OHC3)
for device in "${devices[@]}" ; do
    sudo sh -c "echo $device > /proc/acpi/wakeup"
done

これで、ブートプロセス全体で変更が永続的に維持されるようになります。そこで説明どおりにサービスを設定しました。ここそしてここ。合わせたサービスは

$ cat /etc/systemd/system/wakeup_disable_devices.service
[Unit]
Description=Disable devices for wakeup, as a fix to prevent system from waking immediately after suspend

[Service]
ExecStart=/home/user1/Documents/soft-hard-ware/linux-ubuntu/disable_devices_from_wakeup.sh
#ExecStart=/bin/sh -c '/bin/echo EHC1 > /proc/acpi/wakeup'
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

ただし、再起動後もデバイスは目を覚ます可能性があります。サービスが次のように実行されていません。

$ systemctl status wakeup_disable_devices.service
 wakeup_disable_devices.service - Disable devices for wakeup, as a fix to prevent system from waking immediately after suspend
     Loaded: loaded (/etc/systemd/system/wakeup_disable_devices.service; disabled; vendor preset: enabled)
     Active: inactive (dead)

引き続き、変更内容を恒久的に適用して自動的に適用する方法がわかりません。問題がsudo私のスクリプトや他のものから来ているのかわかりません。また、コメントアウトされた行でサービスを試みたが、cat /proc/acpi/wakeupまだEHC1enabled

関連:

  1. https://askubuntu.com/questions/252743/how-do-i-prevent-mouse-movement-from-waking-up-a-suspensed-computer
  2. https://askubuntu.com/questions/152403/how-do-i-make-changes-to-proc-acpi-wakeup-permanent
  3. 「/proc/acpi/wakeup」の永久変更
  4. https://answerbun.com/
  5. https://mitjafelicijan.com/disable-mouse-wake-from-suspens-with-systemd-service.html

ベストアンサー1

私はサービスが実際にはサービスではないので、「実行」する必要があるとは思わない。これは、最初に発生して終了するワンタイムタスクです。したがって、「RemainAfterExit」が「非アクティブ(死)」であるにもかかわらず、依然としてsystemctl状態に表示されると疑われます。スクリプトにいくつかの説明情報を追加すると、実際に実行されていることを確認できます。 sudoに問題があるかどうかはわかりません。通常のユーザーはサービスを実行しません。 rootとして実行するか(Sudoは重複しますが無害です)、誰も実行しない可能性があります(Sudo権限がないため失敗します)。しかし、私はUbuntuユーザーではなく、systemdが貴重なものよりも多くの問題を抱えていると思います。私はOpenRCでこの問題を解決する方法を知っていますが、それはあなたには役立ちません。

おすすめ記事