謎にハマったのでメモ。
#TL;DR
・Mac上のqutebrowserからspawnをつかってコマンドを叩きたい(mpv + youtube-dlなど)
・$PATHが反映されない事が原因
・config.pyに書きこめば解決
#経緯
qutebrowserにはspawnというコマンドがあり、OSのコマンドを直接叩ける。が、mpv + youtube-dlを試した所、エラーを吐いてURLが送れない。
どうやらMacOSのGUIからアプリケーションを起動すると.profileのpathが反映されない、これが原因らしい。
ということで絶対パスでコマンド打てばいいけどあまりスマートじゃないというか一々打つのが面倒くさいので設定ファイルにパスを書き込んでしまおう
#手順
##step1
まずはmpvの居場所を確認しメモしておく
$ which mpv
/opt/homebrew/bin/mpv
インストール方法によって異なる。/usr/local/binにいる事も多い
##step2
次にqutebrowserに反映されているパスを確認、こちらもメモしておく
:debug-pyeval __import__('os').environ['PATH']
'/Applications/qutebrow:ser.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin'
結果は新しいタブでブラウザ上に表示される
#step3
両方確認できたらqutebrowserの設定ファイル(config.py)に書きこむ。
パスの内容は環境に合わせて変える。
どこでも良いです。とりあえず最下部にでも
import os
os.environ['PATH'] =
'/Applications/qutebrowser.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin/'
osモジュールのインポートを忘れずに。
importはファイルの先頭でするものだけど今回は別に困らないので、os.environ[]より前に入ってればどこでも良い(雑)
###config.pyについて
Macなら~/.qutebrowser/config.py
にいるはず。
みつからなければ:config-write-py --default
でqutebrowserが初期設定を出力してくれるし、もちろん1から書いても○