web-dev-qa-db-ja.com

電源が切れたときにUPSがLinuxでコンピューターを自動的にシャットダウンするようにする

グーグルで役に立つものが見つからなかったのだろうか。

電気の問題がある場合、実際にはしばらくの間コンピュータに電力を供給し続ける安価なUPSを使用しています(それらはすべての東南アジアで非常に一般的です)。

しかし、たとえば、マシンの電源を入れたまま、家を出て店で何かを買うとしたらどうでしょうか。または、ゲームやその他の大きなものをダウンロードしたいのですが、夜間にマシンの電源を入れたままにしますか?

電気がない場合は、コンピュータの電源を「ソフトに」オフにする方法が必要です。

私はUbuntuを使用していますが、「今すぐシャットダウン」を実行するだけで十分です。

私の要件は非常に一般的だと思うので、それが不可能だとは信じられません。

どうすればこれを達成できますか?

10
Spaceman

ほとんどのUPS(おそらく最も安価なものを除くすべて)には、この機能が付属しています。さもなければ、あなたがそこにいないとき、UPSはほとんど利益がありません。あなたのコンピュータにそれがない場合、安全な方法は、コンピュータが無人のとき(休止モード以外の場合)にコンピュータの電源を入れないことです。

データの接続

UPSがその仕事をしている場合、コンピュータは商用電源が切れたことを知りません。コンピュータがシャットダウンすることを知る唯一の方法は、それでも正常にシャットダウンできる一方で、UPSが状況を伝達できるかどうかです。この機能には、UPSとコンピューター間のデータ接続が必要です。

UPSが単一のパーソナルコンピューターを対象としている場合、コンピューター側では、これは通常USB接続です。 UPS自体のポートは異なる場合があります。多くの場合、電話ジャックのように見えます(電話回線のサージ保護のために、一部のモデルの実際の電話ジャックと混同しないでください)。 UPSには、データ接続に必要なケーブルが付属しています。

より高度なモデルでは、UPSはこの接続を使用して、バッテリーの状態などのステータス情報を伝達します。

ソフトウェア

この情報を利用するには、コンピュータにソフトウェアが必要です。 UPSには通常、Windows用のソフトウェアがバンドルされています。 Linuxでは、多くの場合、追加の手順が1つか2つ必要です。いくつかのディストリビューションには、一般的なプログラムまたは特定のUPSメーカーのプログラムがバンドルされています(おそらく、そのメーカーの製品でのみ機能します)。

ディストリビューションがサポートしていない場合、一部のUPSメーカーは、ソフトウェアのLinuxバージョンをWebサイトからダウンロードできます。したがって、特定のブランドのUPSが必要な場合は、それが最初に確認する場所です。 Linuxの弱点の1つは、ドライバーソフトウェアの可用性が制限されており、実装がWindowsよりも「実践的」であるということです。一部のハードウェア購入の決定は、Linuxサポートの可用性に基づいて行う必要があります。

特定のブランドのUPSが必要で、Linuxソフトウェアを提供していない場合、最も一般的なオプションは次のとおりです。

  • apcupsd

    APCは一種の特殊なケースです。彼らは、幅広いモデルを備えた最大のUPSメーカーの1つです。彼らは、Linuxでのモデルのサポートと認定に投資してきました。

    彼らの無料の apcupsd ソフトウェアは、いくつかのディストリビューションにバンドルされており、他のディストリビューションのリポジトリで一般的に利用可能であり、パッケージマネージャーを介して簡単に選択してインストールできます。私はこれを使用したことがありませんが、それは一般的に評価されており、現在の事実上の標準であるようです。

    1つの制限は、APC製品のみをサポートすることです。ただし、Linuxソフトウェアのないブランドを購入する強い理由がない場合は、APCの製品から選択するのが簡単なオプションです。

  • [〜#〜]ナット[〜#〜]

    Linuxソフトウェアを提供していないメーカーのUPSが絶対に必要な場合は、おそらく Network UPS Tools(NUT) を使用できます。これは、電力に関連するほとんどすべての制御、監視、および管理を処理する無料のアプリケーションです。 1台のコンピューター上のUPSにとってはおそらくやり過ぎであり、いくつかの構成が必要です(初心者にとっては最善の解決策ではありません)。これは通常、ほとんどのディストリビューションのリポジトリで利用できます。

    ソフトウェアオプションがNUTなどの汎用ソフトウェアのみであるUPSの購入を検討している場合は、最初にマニュアルを読んで、構成作業を行っていることを確認することをお勧めします。

  • WinPower

    Linux(および他のOS)で実行されるもう1つの汎用プログラムは、 WinPower です。マニュアルをざっと目を通す以外に、私はこのプログラムについて個人的な知識はありません。 SUで見つけたのは、UPSを検出できなかった人からの2つの未回答の質問だけだったので、広く使用されていないと思います(NUTについての質問もいくつかありますが、これらは主に利用可能なデータの使用について)。

    NUTと同様に、WinPowerにも詳細な構成手順が必要であり、その情報についてはUPSの技術マニュアルが必要になります。 NUTと同様に、WinPowerに依存する場合は、UPSを購入する前に、まずマニュアルを読んで必要な技術情報にアクセスできることを確認し、構成作業が完了していることを確認することをお勧めします。 Linuxソフトウェアが不足しています。

6
fixer1234

購入したばかりのCyber​​PowerCP1000AVRLCDaでapcupsを使用しており、LinuxMintマシンでうまく機能しています。

同じUPSに複数のコンピューターがある状況でセットアップすることもできます。1つはマスターでUSBケーブルを介してUPSに接続し、他のコンピューターはそのマスターのapcupsdと通信し、前にシャットダウンするように構成する必要がありますマスターはします。

ただし、直接あなたの質問に-あなたは停電を検出する方法が必要です。 UPSがそれを供給しない場合(何らかの「リレー」(スイッチ)を介して、またはイーサネット、シリアル、またはUSBを介して)、シャットダウンできるように電源の喪失を検出する別の方法が必要になります。

電力の損失を検出する愚かな方法は、UPSに接続されていない別のコンピューターを使用することであると思います。その唯一の目的は、電力が失われたときに「保護された」コンピューターとの通信を停止することです。電源がオフになり、シャットダウンしました。 (それは意味がありましたか?)

より良い方法は、部屋のAC電源の存在に基づいて変化する、PCへのある種の入力です。停電で死ぬことを唯一の目的とする別のコンピューターの他に、電源が供給されているときにパラレルポートのビットを1つの値に設定し、電源が切れたときに反対の値に設定するデバイスを設定できます。これを行うには、フォトダイオードなどを照らすメインから電力を供給されるLEDを備えたボックスから、パラレルポートビットを適切な方法で引っ張るボックスから、メインから電力を供給されるラッチングリレーまで、さまざまな方法が考えられます。空き接点を使用して、パラレルポートビットを適切に引き出します。コンピューターの電源を入れる前に、まずリレーをラッチして、コンピューターの電源が良好であると認識できるようにします。次に、電源がオフになると、リレーがドロップアウトしてオフのままになり、コンピューターにシャットダウンするように指示します。

一方、あなたの力が数秒間ランダムに跳ね返ってから戻ってくるので、単一の電力損失イベントでPCを殺したくない場合は、ラッチングリレーを使用しないでください-「通常の」リレーを使用してください主電源に接続されているため、電源状態をリアルタイムで表示します。 PCで、その回線を監視し、しばらくの間「電源が入らない」場合は、シャットダウンします。

注-上記は、コンピュータの電源喪失を検出してシャットダウンできるようにするための、やや短いアイデアのセットです。ここでは、ある程度の電子的理解があることを前提としています...そして、電源に直接接続されているものには十分注意してください。

1
RustyCar