HP ProLiant ML110 G7のiLO3のリモートコンソールに、Windows 11 25H2からアクセスする

HP ProLiant ML110 G7のiLO3は、既にサポートが切れているので、リモートコンソールをウェブブラウザーから使うには、ActiveXかJava Web Startのいずれかが必要になる。

Windows 11では既にスタンドアローンのInternet Explorer 11は利用できないし、Microsoft EdgeでIEモードを有効化するのも、エンタープライズでなければ維持するのも面倒だ。もちろん、以下のようにVBScriptで書いておけばInternet Explorer 11を起動させることはできる。

> type ie.vbs
Dim ieLauncher
Set ieLauncher = WScript.CreateObject("InternetExplorer.Application")
ieLauncher.Visible = True
ieLauncher.Navigate "https://10.0.0.2/"

ここで、https://10.0.0.2/が、iLO3のウェブユーザーインターフェイスのURIである。リモートコンソール以外の設定をするには、このウェブユーザーインターフェイスは役に立つので、このVBScriptのスクリプトを用意しておく価値はある。

HPは、iLO3に接続するためのスタンドアローンのクライアントソフトウェアであるHPE Lights-Out Standalone Remote Console for Windowsを提供している。電源ボタン類の操作や、仮想ドライブも利用できる。

NetBSD上のLibreOffice CalcでVisual Basic for Application互換のスクリプティングを試してみる

以前に、「LibreOfficeでVBAプログラミング入門」藤井敏則著という本を電子書籍で読んだことがあって、その要点は、StarBasicの後継であるLibreOffice BasicをLibreOfficeのスプレッドシートであるCalcで使う場合にOption VBAsupport 1を最初に書いておけば、Visual Basic for Application (VBA)互換の文法が許容されるようになると言うことであった。LibreOfficeであれば、Windows用であればPythonインタープリターも付属していて自動的にインストールされるので、LibreOffice Basicを選ぶのが良いのかは分からないが、VBA互換というのは多くの人には良いものかもしれない。

しかし、この書籍には、この機能を使うにはJDKを利用できるようにしておかないといけないという記述があった。手元のNetBSD/amd64 11.99.7上のLibreOffice 26.2.5.2では、JDKを設定しておかなくてもVBA互換機能を利用することができた。この書籍は6.4.1.2の時点で書かれているので、もしかしたら変わったのかもしれないが、それなりの期間LibreOfficeを使って、pkgsrcパッケージを保守している感覚では、6.4.1.2より後にJDKが必要なくなったと考えるのは違うような直感もある。

いずれにしても、NetBSD上のLibreOfficeでもVBA互換機能は利用できるのが分かったので、何かの時には役立てられるかもしれない。

Firefoxのcontainer tabsを有効にする

最近のFirefoxは他のタブとcookie等と共有しないcontainer tabsという機能がある。 だが、私の使っているFirefoxでは有効になっていなかった。 NetBSDだけでなくWindowsでも同様である。 いずれにしても、利用したい機能ではあるので、about:configで以下の2つを設定して、有効化した。

privacy.userContext.enabled
privacy.userContext.ui.enabled

リモートのサーバーのバックアップを、ローカルネットワーク内のマシンに取得する

とあるVPSサービスを使ったサーバーがあるのだが、これはディスクの残容量が非常に少ない。 なので、そのVPSのディスクにtarballを作って、それを手元にコピーして来るということができない。 しかも、sshでログインできないユーザーだけが読み込みできるディレクトリーやファイルも存在する (rootが所有者で、パーミッションが700なディレクトリーや600なファイルがあると思えば良い)。 ryoonというユーザーがsshでログインできるユーザーであり、 rootユーザーがsshでログインできないユーザーである。

ここで、バックアップ元のVPSのホスト名をremoteserverとし、バックアップ先のサーバーのホスト名をlocalnetserverとしよう。 remoteserverはグローバルIPアドレスを持ち世界中のどこからもアクセスできるが、localnetserverは自宅のローカルネットワーク内にあるサーバーで外部からはアクセスできない。 つまり、localnetserverからremoteserverへsshで接続できるが、逆は不可能である。

以下のようにremoteserverで設定した上で、localnetserverで操作すれば、rootユーザーとしてtarballを作って手元にパイプ経由で取得できる。 以前はssh portforwardingを使って複雑な操作をしていたのだが、そのようなことは不要にできる。

まず、sshでログインできるryoonユーザーのログインパスワードを返すシェルスクリプトを用意しておく。 これはryoonユーザーだけが内容を見ることができ、実行もできるべきである。
remoteserver$ cat /home/ryoon/sudo-askpass
#!/bin/sh

echo "sudoコマンドへ渡すryoonユーザーのログインパスワード"

remoteserver$ chmod 700 /home/ryoon/sudo-askpass

このsudo-askpassコマンドを使って、sudoコマンドにryoonユーザーのログインパスワードを渡すようにして(つまりsudoコマンドに-Aオプションを与えて)、tarコマンドを実行させる。 また、remoteserverにはUTF-8なファイル名を持つファイルがあり、BSD tarコマンドはこれに対して警告メッセージを表示する。 これがlocalnetserverにパイプ経由で送られて来るtarballに含まれていると不正なtarballになってしまうので、標準エラー出力は/dev/nullに捨てる。

/path/to/parent/directoryというディレクトリー内にあるbackuptargetdirectoryというディレクトリーをバックアップするとすれば、以下のようにlocalnetserverで実行すれば良い。

localnetserver$ ssh ryoon@remoteserver "SUDO_ASKPASS=/home/ryoon/sudo-askpass sudo -A tar cfp - -C /path/to/parent/directory backuptargetdirectory" > backup.tar

私はremoteserverlocalnetserverも非力なマシンを利用していて、転送量へは課金されない環境なので、圧縮せずtarアーカイブのまま扱っている。 CPUもストレージもパワフルなマシンに移動させた後にxz -T 0 -9で圧縮することになる。

第11世代のIntel Core i7-1180G7というCPUを搭載したPC上のWindows 11で、Intel QSVを使ってFFmpeg 8.1.1でH.264からH.265にトランスコードする

NetBSD-currentでは、IntelのIntegrated GPUはKabyLake Refreshの世代までしかサポートされていないはずである。 もちろん、KabyLake Refresh以前の世代でもFFmpegでH.265にエンコードできる。 だが、思ったより速く処理できない。 NetBSD上だと、VA-API経由なのがいけないのかもしれないし、他の要因なのかもしれない。 Fedora Linuxでも変わったようには見えなかったので、そもそも思ったより速く処理はできるのかもしれない。

と言うことで、手元にある最新のIntel CPUで試してみることにした。 だが、そのCPUを搭載したマシンは他の仕事もあるので、Windows 11 Pro 25H2がインストールされている。 この環境のままで、FFmpegでH.264のビデオファイルをH.265にトランスコードすることにした。

具体的には、CODEX FFMPEGからFFmpeg 8.1.1 (ffmpeg-8.1.1-full_build.7z)をダウンロードして展開し、 以下のようなコマンドでトランスコードすれば良い。 どうやら、-sharedの方の配布物ではちゃんと動かないようだった。

/path/to/ffmpeg-8.1.1/bin/ffmpeg.exe \
      -hwaccel qsv \
      -hwaccel_output_format qsv \
      -i input.mp4 \
      -c:a copy \
      -c:v hevc_qsv \
      -tag:v hvc1 \
      -preset veryfast \
      -vf vpp_qsv=deinterlace=2 \
      -global_quality 30 \
      output.mp4

H.264形式のファイルであるinput.mp4は、インターレースなファイルなのだが、そうであっては不便なので、 -vf vpp_qsv=deinterlace=2を指定して、Intel QSVのデインターレースフィルターを使って解消している。

ちなみに、これだと実時間の5から7倍の速度でトランスコードできる。 また、ディスプレイがオフになると、場合によってはエラーが発生する。 ディスプレイを常時オンにする設定をしておけば、エラーは発生しない。

Firefoxで、ユーザー認証付きHTTPプロキシーサーバーへ自動的にログインする

about:configで、signon.autologin.proxy=trueと設定すると、ユーザー認証付きHTTPプロキシーサーバーへのログイン情報を保存している場合に、自動的にHTTPプロキシーサーバーにログインするようにできる。 つまり、ユーザーIDとパスワードを入力する画面(ログイン情報を保存しているので、いずれも入力済み)が表示され、ログインを明示的にする必要がなくなる。

DigitalOceanのSpaces Object Storageに、ソフトウェアをインストールせずにWindowsからアクセスする

はじめに

DigitalOceanのオブジェクトストレージであるSpacesにWindows 11からアクセスしたい。 だが、そのためのソフトウェアを、インストーラーでWindows 11にインストールのは避けたい。 単にアーカイブファイルを展開しただけで使いたい。 かつ、そのWindows 11マシンはユーザー認証付きHTTPプロキシーサーバーを経由しないとDigitalOceanにはアクセスできない。

このような条件で使えるものを探すと、Rcloneが条件を満足するものだった。

まず、Downloadページから、Intel/AMD - 64 BitのWINDOWS用のバイナリーをダウンロードする。 現在のバージョンは、1.74.3なので、rclone-v1.74.3-windows-amd64.zipをダウンロードすれば良い。 これの中にはrclone-v1.74.3-windows-amd64というサブディレクトリーがあるので、それを適当な場所に配置してPATH環境変数に設定しておく。

設定ファイルを作る

Rcloneにはインタラクティブに設定ファイルを生成する仕組みがあるが面倒である C:\Users\(ユーザーID)\AppData\Roaming\rcloneディレクトリーにあるrclone.confに以下のように記載すれば良い。 シンガポールリージョンを使うので、以下ように設定した。

[sg]
type = s3
provider = DigitalOcean
access_key_id = XXXXXXXXXXXXXXXXXXXX
secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
region = sgp1
endpoint = sgp1.digitaloceanspaces.com
acl = private

ここで、DigitalOcean SpacesのコンソールでBucketのAccess Keysを生成した際に表示される「Access Key ID」の値をaccess_key_idに設定し、secret keyの値をsecret_access_keyに設定する。 endpointには、Bucketの「Origin Endpoint」がhttps://BUCKETNAME.sgp1.digitaloceanspaces.comであれば、sgp1.digitaloceanspaces.comを設定する。 同様にregionはsgp1を設定する。

ユーザー認証付きHTTPプロキシーサーバーの情報を設定する

rcloneは、https://のURIへのアクセスには、HTTP_PROXY環境変数が使われないようである。 HTTPS_PROXY環境変数を定義しておく必要がある。 以下のように定義しておく。

HTTPS_PROXY=http://(ユーザーID):(パスワード)@10.11.12.13:8080

rcloneを使ってみる

ファイルをアップロードするには、以下のように実行すれば良い。

> rclone copy FILETOUPLOAD.txt sg:BUCKETNAME

Bucketにあるファイルを一覧する。

> rclone lsl sg:BUCKETNAME
       71 2026-06-25 13:44:06.694000000 FILETOUPLOAD.txt
  3255961 2026-06-05 15:23:56.000000000 rclone.1

ファイルをダウンロードする。

> rclone copy sg:BUCKETNAME/FILETOUPLOAD.txt .

HP ProLiant ML110 G7のiLO3のリモートコンソールに、Windows 11 25H2からアクセスする

HP ProLiant ML110 G7のiLO3は、既にサポートが切れているので、リモートコンソールをウェブブラウザーから使うには、ActiveXかJava Web Startのいずれかが必要になる。 Windows 11では既にスタンドアローンのInternet...