| author | プレハブ小屋 | ||
|---|---|---|---|
| created | 2026-03-17 | ||
| draft | true | ||
| tags |
|
||
| title | PowerToys.Peek.UI.exe 利用ノート |
PowerToys Peek モジュールが搭載している汎用ビューワーがあまりにも軽く、使いやすい。File Explorer でしか利用しないのはもったいないので、WSL Ubuntu 環境からすぐに利用できるようにする。
本稿の前提は次のとおり:
- Windows 環境には PowerToys をインストール済みであるものとする。本稿ではシステムインストールしてあることを仮定するが、ユーザーインストールの場合にもパスの記述を変更することで議論の大筋は通用するように述べる。
- WSL Ubuntu 環境ではシェルとして Bash を用いる。
バージョン 0.97.2 の PowerToys における Peek 実行形式のフルパスは私の環境では次のとおり:
C:\Program Files\PowerToys\WinUI3Apps\PowerToys.Peek.UI.exe
WSL 側からは次のフルパスで参照する:
/mnt/c/Program\ Files/PowerToys/WinUI3Apps/PowerToys.Peek.UI.exe
次に WSL Ubuntu 側にこの PowerToys.Peek.UI.exe という長いパスを短い名前で参照する手段を用意する。Bash にはそのための仕組みがいくつもある:
- 別名
- シンボリックリンク
- 関数
- スクリプト
用途に合わせていずれか一つを設けるのだ。
このうち、別名や関数は Bash の開始ファイル (e.g. ~/.bashrc) で定義しておくと、シンボリックリンクやスクリプトと同じように、対話セッション中にいつでも呼び出しが行える。
alias peekui='/mnt/c/Program\ Files/PowerToys/WinUI3Apps/PowerToys.Peek.UI.exe'ユーザースクリプト置場など、PATH の通ったディレクトリーで次のコマンドを実行する:
ln -s /mnt/c/Program\ Files/PowerToys/WinUI3Apps/PowerToys.Peek.UI.exe peekui別名方式とシンボリックリンク方式には弱点がある。引数に WSL Ubuntu ファイルシステム内のファイルを渡す場合、パス形式を Windows のそれに明示的に変換しなければ動作しないことだ。
それを関数にすることで、引数をプログラム wslpath で変換する処理を挟むとかなり楽になる:
function peek
{
/mnt/c/Program\ Files/PowerToys/WinUI3Apps/PowerToys.Peek.UI.exe "$(wslpath -aw "$1")"
}同じことだが、ユーザースクリプト置場などに次の内容のファイルを保存する。このスクリプトファイルには chmod で実行権限を与えておく:
#!/bin/bash
/mnt/c/Program\ Files/PowerToys/WinUI3Apps/PowerToys.Peek.UI.exe "$(wslpath -aw "$1")"以上により、WSL Ubuntu の黒い窓から PDF, 画像、音声、ビデオ、その他ほとんどの形式のファイルビューワーを支度した。