Cinnamonデスクトップ環境を使用しているDebian 10.9では、ラップトップカバーを閉じるとラップトップが一時停止モードに入りますが、カバーを開くと画面が実際にロックされるまでしばらくの間何をしているのかがわかります。
キーボードのボタンを押して一時停止するか、コマンドを使用して一時停止を入力すると(ふたを閉じるのではなく)、一時停止が正しく機能します。これは、シナモンスクリーンセーバープロセスが画面をロックする前に、ノートブックのファームウェアがCPUをS3状態に切り替えるのとほぼ同じです。
この問題をどのように解決できますか?
答え1
まず、次の方法を試してみました。https://bbs.archlinux.org/viewtopic.php?id=166221私の問題を完全に説明しているからです。しかし、彼らが取ったアプローチは、停止を開始する前にロックコマンドを手動で実行するスクリプトをキーバインドすることでした。
私の状況に最も適していると思ったのは、systemdユニットファイルを修正し、/usr/lib/systemd/system/systemd-suspend.service
そのセクションの内容を[Service]
次に置き換えることでした。
[Service]
Type=oneshot
ExecStart=/usr/bin/sleep 2
ExecStart=/lib/systemd/systemd-sleep suspend
これにより、オペレーティングシステムが2秒間スリープモードになり、一時停止コマンドを送信する前にCinnamonプロセスが画面ロックを完了する時間を提供します。すでにType=oneshot
存在することは、複数のExecStart=
フィールドが許可され、並列ではなく順次実行され、保留中のコマンドを送信する前にスリープモードを許可することを意味します。