回復時に実行する systemd サービスの作成

回復時に実行する systemd サービスの作成

私のDellノートブックは次の影響を受けます。これカーネル3.14のバグ。回避策として簡単なスクリプトを作成しました。

/usr/bin/明るさを修正:

#!/bin/bash

echo 0 > /sys/class/backlight/intel_backlight/brightnes

(そして実行可能にするchmod +x /usr/bin/brightness-fix:)

そして起動時にそれを呼び出すシステムサービス:

/etc/systemd/system/brightness-fix.service

[Unit]
Description=Fixes intel backlight control with Kernel 3.14

[Service]
Type=forking
ExecStart=/usr/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
#RemainAfterExit=yes
#SysVStartPriority=99

[Install]
WantedBy=multi-user.target

次を有効にします。systemctl enable /etc/systemd/system/brightness-fix.service

これは非常に魅力的で、必要に応じてモニターの明るさを制御できます。問題は、スリープモードに入った後(ノートブックの端を閉じたときなど)、ノートブックが再起動したときに発生します。上記の最初のスクリプトを手動で実行しないと、明るさ制御は機能しなくなります。/usr/bin/brightness-fix

回復時に実行するために上記のような他のシステムサービスをどのように生成しますか?

編集する: 以下のコメントに基づいて、brightness-fix.service次のように修正しました。

[Unit]
Description=Fixes intel backlight control with Kernel 3.14

[Service]
Type=oneshot
ExecStart=/usr/local/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog

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

echo "$1 $2" > /home/luca/br.logまた、実際に実行されていることを確認するためにスクリプトに追加しました。スクリプトは実際にpost suspend履歴書()でも実行されますが、効果はありません(バックライトは100%で変更できません)。また、ロギング$DISPLAYを試みましたが、$USER復元時には空です。だから私の考えでは、睡眠から目覚めたときにスクリプトが早すぎるように見えます。どのようなヒントがありますか?

ベストアンサー1

これは古い質問であることがわかりますが、次のユニットファイルを使用すると、スリープモードで再起動したときにスクリプトを実行できます。

[Unit]
Description=<your description>
After=suspend.target

[Service]
User=root
Type=oneshot
ExecStart=<your script here>
TimeoutSec=0
StandardOutput=syslog

[Install]
WantedBy=suspend.target

私はそれがAfter=suspend.targetコンピュータがスリープ状態になるときではなく、再開時に実行されるようにすることだと思います。

おすすめ記事