ログアウト後にスクリプトを実行する

ログアウト後にスクリプトを実行する

私は、Debian JessieとGnomeデスクトップの下のキーボードショートカットにバインドされたこのログアウトと一時停止スクリプトを使用しました。

#!/bin/bash
{ sleep 8; sudo systemctl suspend; } & 
gnome-session-quit --logout --no-prompt

Stretchを使用すると、もう機能しません。クイックテストは、スリープモード以降にコマンドが実行されないことを示しました(サスペンド部分をタッチコマンドに置き換えました)。理由を知っている人はいますか? Debian 8と9の間、またはGnome 3.16と3.22の間でどのような変更が起こりますか?この問題を解決するために推奨される方法はありますか?

答え1

犯人を見つけた可能性があるので、ここに私の質問に答えてください。

私のDebian 9インストールにはsystemdバージョン232があります。システム変更ログ2016年5月にバージョン230で見つけたものは次のとおりです。

ユーザーがログアウトすると、systemd-logindはデフォルトでユーザーセッション範囲単位(session-XX.scope)の一部であるユーザープロセスを終了します。この動作はlogind.confのKillUserProcesses =設定によって制御されます。以前のデフォルト値「no」は「yes」に変更されました。これは、ユーザーセッションが後で適切にクリーンアップされますが、長期実行プロセスを意図的にログアウトしたままにするために追加の手順が必要であることを意味します(...)

nohup最も簡単な修正は、コメントで@DopeGhotiが提案したように適用するようです。

関連情報