Linux Mintを実行しているコンピュータで奇妙な問題が発生しました。場合によっては、コンピュータがスリープモードで起動しないことがあります。簡単に言えば、何が間違っているのか理解しているようです。一種の。少なくとも私はそれを修正する方法を知っています。また少し
何らかの理由で理解できません。sync
コンピュータを一時停止する前にこれを行うと、コンピュータは常に目を覚ます。コンピュータを一時停止したい場合は、端末に次のように入力します。
sudo sh -c "sync && pm-suspend"
私が言ったように動作します(100回以上確認しました。そうでない場合は、sync
約15回の睡眠回復サイクル後にコンピュータが目覚めないため、100回程度で十分です)。ただし、コンピュータを一時停止すると、コンピュータはパスワードを入力する必要があります(pm-suspend
root権限が必要なため)、自動的に一時停止することはできません(私のコンピュータは一定時間が経過すると自動的に一時停止されるため、電力を無駄にしません)。今私の質問は - コンピュータがsync
停止する前に自動的に作業を実行するにはどうすればよいですか?
私は私が考えることができる最も簡単な解決策を試しました。つまり、.bashrc
私のファイル(もちろんルートファイルも含む)に簡単なエイリアスを追加することです。そのため、ファイルの最後に次のコマンドを追加しました。
alias pm-suspend='sync && pm-suspend'
しかし、これはうまくいきません。確認してみると、問題を解決するために何もしなかったようです。
それで、インターネットを少し見てみると興味深い事実を発見しました。一時停止が自動だった時があったことがわかりましたが、sync
Linuxカーネルではオプションです。返品、sync
コマンドを呼び出すかどうかを制御するファイルがあります。このサイト(文書?)を何と呼ぶべきかわかりませんが、2番目のリンクの引用は次のとおりです。
/sys/power/sync_on_suspend
Description:
This file controls whether or not the kernel will sync()
filesystems during system suspend (after freezing user space
and before suspending devices).
Writing a "1" to this file enables the sync() and writing a
"0" disables it. Reads from the file return the current value.
The default is "1" but can be configured with the build-time
config flag "SUSPEND_SKIP_SYNC".
私はこれについて少し愚かですが、正しく理解すれば、コンパイルフラグ「SUSPEND_SKIP_SYNC」がありますが、カーネルを手動でコンパイルするときにのみ設定できます。私は正しいですか?また、そこに記載されているファイルは私のシステムにはありません。手動で作成しようとしましたが、できません。私が正しく理解したならば、それを生成することはできません/sys
。これも正しいですか?では、自動サスペンドsync
機能をどのように有効にしますか?
今やめましょう。次に何をすべきか、何を確認するのか分かりません。私はLinuxとUnixの経験と知識が不足していると思うので、助けてください。よろしくお願いします!
ベストアンサー1
いいえ、引用したテキストによると、aを作成すると、1
カーネル/sys/power/sync_on_suspend
を再コンパイルせずに一時停止中に同期が有効になります。これはrootとして次のコマンドを実行するのと同じくらい簡単です。
echo 1 > /sys/power/sync_on_suspend
または、アクセス権を持つ root 以外のユーザーとして、次の操作を行いますsudo
。
echo 1 | sudo tee /sys/power/sync_on_suspend > /dev/null
起動時に実行するようにシェルスクリプトを作成したり、同じタスクを実行するためにシステムデバイスファイルを作成するなど、起動時に自動的に発生するように設定する方法はいくつかあります。