なかなかやる気が湧かなくてやってなかったが GPSDO のメトリクスをしばらくとってみることにした。そのへんに転がっていた NanoPI NEO2 と GPSDO を繋ぎ、NanoPI NEO2 上で GPSDO の出力をとりこんで Prometheus exporter を立ちあげるようにした。

構成のメモ

自宅内にはメインに使っている Raspberry Pi があり、そこに LAN 内の Prometheus exporter からメトリクスを収集する Prometheus サーバが立っている。QNAP や RTX1200 のメトリクスもこの Raspberry Pi が収集している。

ただ、これだと外部から見れずに面倒なので、VPS 上にも Prometheus サーバが立っている。VPS 上の Prometheus は自宅内の Raspberry Pi から federate によってメトリクスを収集している。

Grafana も VPS 上に設置しており、VPS 上の Prometheus からすべてのメトリクスを表示している。

  1. トップ
  2. tech
  3. GPSDO のメトリクス

Windows PowerToys の Keyboard Manager を使って macOS 風のキーバインドを導入するというのをやっているけど、これをすると WSL2 が快適になる代わりに PowerShell が不便になるという問題があった。具体的には、Up/Down キーで ^P ^N が入力されてしまうので履歴が辿れないなど。

これは実は簡単に解決可能で、

Set-PSReadLineOption -EditMode Emacs

として PowerShell 上のキーバインドを emacs 風にするだけでよい。これで Ctrl-P / Ctrl-N などが適切にマッピングされるようになる。

毎回実行するのは面倒なので、echo $PROFILE で出てくるファイルパスに以下のように書いておくと良い。

echo "Running $PROFILE"
Set-PSReadLineOption -EditMode Emacs

$PROFILE は自分の環境だと C:\Users\[username]\OneDrive\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 だった。

  1. トップ
  2. tech
  3. PowerToys で macOS 風キーバインドを導入したときに生じる PowerShell の不便の解消

pbcopy は簡単で、clip.exe を呼べばいいだけ。

pbpaste は一発でできる Windows コマンドがなぜかないので PowerShell の Get-Clipboard を利用する。

pbcopy

#!/bin/sh
exec /mnt/c/Windows/System32/clip.exe

pbpaste

#!/bin/sh
exec /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe Get-Clipboard

これらをパスが通るところに置いておけば不便なし (シェルのエイリアスにするより実行ファイルにしたほうが他プログラムから呼ぶ場合など便利)

  1. トップ
  2. tech
  3. WSL2 で pbcopy/pbpaste