STDERR -> IO
[permalink][rdoc]標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
STDERR は、 ruby プロセスが起動された時点での標準エラー出力を表します。起動時点では $stderr も同じ値に初期化されています。
$stderr に他の出力オブジェクトを代入することで簡易なリダイレクトを実現できます。そして、 $stderr に STDERR を代入すればこのリダイレクトを復元できるわけです。
STDERR は ruby 自体が起動された時点での標準エラー出力です。「システムにおける標準のエラー出力ストリーム」とは異なります。
多くのシステムでは標準のエラー出力ストリームは端末です。 ruby 自体が他のストリームに向けてエラー出力をリダイレクトされた状態で起動された場合、 STDERR が保持するのは端末ではなく、リダイレクト先のストリームです。