web-dev-qa-db-ja.com

Ubuntu 16.04は、NFS共有にアクセスしている間、スリープを防ぎます

現在、地下にあるNASとして古いコンピューターを実行しています。 Ubuntu 16.04(GUI付きの通常バージョン)がインストールされていますが、モニター/キーボード/マウスが接続されていないため、一種のヘッドレスです。

NASが使用されていないときにシャットダウンし、誰かがNFS共有の1つにアクセスしようとしたときにWOLを介して起動したいと思います。起動は魅力のように動作しますが、自動シャットダウンは動作しません。

システム設定のpower settingsを使用して、1時間の非アクティブ後に自動的にサスペンドしようとしましたが、これはNFSアクティビティを無視しているようです。 xscreensaverも使用してみましたが、これには同じ問題があります。

誰もこれを解決する方法についてアイデアを持っていますか、同様の問題がありましたか?

2
Dennis Hein

xset s resetser.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ポートです。

2
Dennis Hein