現在、地下にあるNASとして古いコンピューターを実行しています。 Ubuntu 16.04(GUI付きの通常バージョン)がインストールされていますが、モニター/キーボード/マウスが接続されていないため、一種のヘッドレスです。
NASが使用されていないときにシャットダウンし、誰かがNFS共有の1つにアクセスしようとしたときにWOLを介して起動したいと思います。起動は魅力のように動作しますが、自動シャットダウンは動作しません。
システム設定のpower settings
を使用して、1時間の非アクティブ後に自動的にサスペンドしようとしましたが、これはNFSアクティビティを無視しているようです。 xscreensaver
も使用してみましたが、これには同じ問題があります。
誰もこれを解決する方法についてアイデアを持っていますか、同様の問題がありましたか?
xset s reset
ser.dz へのポインタをありがとう。
netstat -an | grep serverip:nfsport
を使用して、すべてのアクティブな(マウントされた)NFS共有を取得できます。このコマンドが何も出力しない場合、サーバーはユーザーを中断せずにシャットダウンできます。
標準のpower settings
を使用して自動的に中断し、cronjobで定期的に実行される単純なスクリプト(以下を参照)を使用して、目的の動作を実現できます。
#!/bin/bash
if [[ $(netstat -an | grep 192.168.178.22:2049) ]]; then
env DISPLAY=:0 xset s reset
fi
このスクリプトは前述のコマンドを実行し、出力が生成されているかどうかを確認します。その場合(少なくとも1つのNFS共有がマウントされている場合)、アイドル時間がリセットされるため、サスペンドがキャンセルされます。
192.168.178.22
は私のNASのIPであり、2049
は標準のNFSポートです。