WSL2でのGitHubの認証をできる限り楽に行う
2024-06-19
azblob://2024/06/18/eyecatch/2024-06-18-wsl2-easiest-github-authentication-000.png

きっかけ

意外と苦労している人が多かったので、知名度向上のために。

対象環境

  • 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コマンド打たなくていいんで便利ですねこれ。

リンク集