地方でリモートワーク

リモートワーク、プログラミング、エンジニア、地方

WSL2のターミナルでopenコマンド(っぽい)ものを使えるようにする

こんにちは、吉田智哉です。

最近デスクトップPCのSSDの容量を増やしてWindowsクリーンインストールしたら、 ノートパソコンで多用しているgh browseコマンドが動作しなかったのでその対処法です。

gh browseが動かなかった..

そもそもgh browseとはGitHub CLIのコマンドの一つです。 カレントディレクトリがGitHubリポジトリの時に、 このコマンドを実行すると該当するリポジトリをブラウザで開くことができます。

私が使用しているのはWSL2のUbuntuで、Ubuntuの場合はxdg-openという 指定したファイルをデフォルトのアプリケーションで開くコマンドがあります。

添付の画像の通り、どうやらxdg-openコマンド自体WSL2には存在しませんでした。 (以前はあったような..)

xdg-utilsを入れれば良さそうなのでインストールします。

$ sudo apt install xdg-utils

気を取り直してgh browseを実行してみます。

$ gh browse
Opening https://github.com/def-inc/funnel in your browser.
/usr/bin/xdg-open: 882: x-www-browser: not found
/usr/bin/xdg-open: 882: firefox: not found
/usr/bin/xdg-open: 882: iceweasel: not found
/usr/bin/xdg-open: 882: seamonkey: not found
/usr/bin/xdg-open: 882: mozilla: not found
/usr/bin/xdg-open: 882: epiphany: not found
/usr/bin/xdg-open: 882: konqueror: not found
/usr/bin/xdg-open: 882: chromium: not found
/usr/bin/xdg-open: 882: chromium-browser: not found
/usr/bin/xdg-open: 882: google-chrome: not found
/usr/bin/xdg-open: 882: www-browser: not found
/usr/bin/xdg-open: 882: links2: not found
/usr/bin/xdg-open: 882: elinks: not found
/usr/bin/xdg-open: 882: links: not found
/usr/bin/xdg-open: 882: lynx: not found
/usr/bin/xdg-open: 882: w3m: not found
xdg-open: no method available for opening 'https://github.com/def-inc/funnel'
exit status 3

まだ動作しないようですね。 xdg-open wsl chromeでググってみるとWSLでissuesが上がっていました。 こういうときはなるべく一次情報に近いところの情報を探してみるのが鉄則ですね。

github.com

どうやらwsluというWSL用のユーティリティコレクションをインストールするとうまくいくようです。

github.com

Linux パスを Windows パスに変換したり、Windows デスクトップに Linux アプリケーションのショートカットを作成したりするなど、Windows Subsystem for Linux (WSL) 用のユーティリティのコレクションです。

wsluをインストールします。

sudo apt install wslu

また気を取り直してgh browseコマンドを実行してみるとうまくいきました!

WSLはこのようにちょっと工夫が必要なところがありますが、 年々かなり使いやすくなってきていると思います。

「プログラミングはMacじゃないといけない」ということも無くなってきたのではないでしょうか。

ぜひ皆さんもWSL使ってみてください!

WSLのインストールからプログラミングの基礎まで学ぶことができる講座はこちら。 www.udemy.com