きっかけ
意外と苦労している人が多かったので、知名度向上のために。
対象環境
WSL2上のUbuntu 20.04, 22.04, 24.04
TL;DR
ghとwsluを入れてgh auth loginする。
一般的な方法
WSL2でGitHubにログインするとなると、ssh認証を使う人が多いと思います。あるいはCredential Managerを使う感じでしょうか。
どちらにせよ、意外と面倒な手段であることは確かです。自分は少し前まではssh認証を使用していましたが、毎度認証を行うのは億劫でした。
今回の方法
GitHub CLIを使う
そこで、今回はGitHub CLIというツールを使用します。これはGitHubが公式で出しているコマンドラインツールで、リポジトリの作成/削除/クローンやPRの作成など、基本的なGitHubの操作は大体できます。
Ubuntuでは以下のコマンドでインストールすることができます。
sudo apt install gh
さて、これでgh auth login
を実行してプロンプトの指示に従えば、GitHubの認証を楽に行うことができます。しかし、これではWebブラウザが起動しないので、リンクをWindows側のWebブラウザで開いて認証を行う必要があります。これではあんまりしっくり来ませんよね。
wsluを使う
そこで、wsluというツールを使用します。このツールは、WSL向けの便利ツール集で、このパッケージに含まれるwslviewというツールを使用すると、WSL内のファイルやリンクをWindows側のデフォルトのツールで開くことができます。
Ubuntuでは以下のコマンドでインストールすることができます。
sudo apt install wslu
これを入れた上でgh auth login
を実行してプロンプトの指示に従えば、Windows側のWebブラウザからGitHubの認証を通すことができます。素晴らしい。
おまけ
wslviewで遊ぶ
他のコマンドは使い道が思いつかなかったので
# リンクを開く例
$ wslview "https://wslutiliti.es/wslu/"
# フォルダを開く例
$ wslview dotfiles
# ファイルを開く例
$ wslview README.md
GitHub CLIで遊ぶ
# リモートリポジトリを作ってローカルリポジトリを上げる
$ gh repo create dotfiles --public --push --source . -d "設定ファイル置き場"
# PRを作成する(この後は指示に従って入力していく)
$ gh pr create
# リポジトリをブラウザで開く(wsluとの合わせ技)
$ gh browse
余談
wslviewでファイルを開けるという事実、実は記事を書いているときに初めて知りました。explorerコマンド打たなくていいんで便利ですねこれ。