コマンドライン(pwsh-7)からObsidianを起動しようとしてスッタモンダがあった。
- 「シンボリックリンクの作成」の方法で、シンボリックリンク "~/bin/Obsidian.exe ->" を作る。
- 「ffmpeg.dll がなくて起動できない」 -- この問題(DLL紛失問題)は色々な原因で起こるらしく、システムの不整合としての対処が紹介されている。が、今回はその手の話は全部トンチンカン。
- 症状: dllファイルが失われてアプリケーションが起動できない。
- 対処案: dllファイルをどこかからダウンロードして配置する。
- 問題点: バージョンの問題などで動かないかも。ダウンロードに危険性が伴う。配置すべき場所がよく分からない。
- ‥‥ という原因ではなかった。
- Obsidian.exe は、自分が置かれたと同じディレクトリ('C:\Program Files\Obsidian\)内で ffmpeg.dll を探していたらしい。
- ~/bin/ffmpeg.dll がないのでエラーとなる。
- バッチファイル ~/bin/Obsidian.bat からフルパスで .exe を起動することにした。
- 起動はするが、シェルからデタッチしないで、Obsidianが終了するまでシェルがブロックされてしまう。
- "& フルパス" ならブロックはしない。
- フルパスを Set-Alias で別名 obsid に割り当てることはできる。
- obsid で呼び出すと挙動が違うような、気のせいか? 要確認。
シンボリックリンクを使うと、実行可能ファイルのあるディレクトリの情報を使うプログラムは失敗する。
- バッチファイルやPS1ファイルを経由する。
- フルパス名を値とする別名を使う。
- おとなしく環境変数 Path をセットする。