別ユーザーのWSL環境を流用してローカル開発環境を構築する手順

スポンサーリンク
wsl-change-user-and-home WSL
wsl-change-user-and-home
スポンサーリンク

事前準備:WSL環境のエクスポート・インポートについて

本記事では、すでにWSL(Ubuntu)環境をローカルに取り込んでいる前提で説明しています。

別ユーザーの環境を引き継ぐ場合は、事前に以下の作業が必要です。

・WSLディストリビューションのエクスポート
・別環境へのインポート(外付けSSDなど)

これらの手順については、以下の記事で詳しく解説しています。

👉 WSL環境をエクスポート・インポートする方法(外付けSSD対応)

今回やりたかったこと

別ユーザーが使用していた WSL(Ubuntu)環境のファイルをもとに、

自分のローカル開発環境を作成する必要がありました。

新しく作り直すのではなく、

  • 既存のWSL環境を流用したい
  • ユーザー名とホームディレクトリを自分用に変更したい

というケースです。

その際に行った手順を、備忘録としてまとめています。

以降の bash コマンドは、WSL上のUbuntu(Bash)内で実行します。

PowerShellでは実行できないため注意してください。


rootユーザーで一時的にログインする

まずは rootユーザーでWSLにログインできるようにします。

これはユーザー情報を変更するために必要です。

PowerShellを 管理者権限で起動し、以下を実行します。

PowerShell
wsl -d Ubuntu -u root

※ Ubuntu の部分は、利用しているディストリビューション名に合わせてください。

rootでログインできたら、usermod コマンドが使用可能か確認します。

Bash
/usr/sbin/usermod --help

ヘルプが表示されれば問題ありません。


ユーザー名とホームディレクトリを変更する

ここからは WSL(Bash)側での作業になります。

ユーザー名(ログイン名)の変更

既存ユーザー名を、新しいユーザー名に変更します。

Bash
/usr/sbin/usermod -l new_user old_user
  • old_user:変更前のユーザー名
  • new_user:変更後のユーザー名

ホームディレクトリの変更とデータ移動

次に、ホームディレクトリを変更します。

-m オプションを付けることで、既存データも一緒に移動されます。

Bash
/usr/sbin/usermod -d /home/new_user -m new_user

グループ名の変更

通常、ユーザー名と同じ名前のグループが作成されています。

ユーザー名変更後は、グループ名も合わせて変更します。

Bash
/usr/sbin/groupmod -n new_user old_user

デフォルトユーザーを新しいユーザーに戻す

最後に、WSL起動時の デフォルトユーザーを新しいユーザーに設定します。

再び PowerShell で実行します。

PowerShell
<ディストリビューション名> config --default-user new_user


例:Ubuntu の場合

PowerShell
ubuntu config --default-user tarou

これで、通常起動時に新しいユーザーでログインされるようになります。


スポンサーリンク

Git を利用している場合の注意点

WSL環境に Git が設定されている場合は、

ユーザー名を変更しただけでは不十分で、

Git のユーザー情報も合わせて変更する必要があります。

Git は以下の情報を ~/.gitconfig に保持しているためです。

  • ユーザー名(user.name)
  • メールアドレス(user.email)

これらが以前のユーザー情報のままだと、

  • コミットの作成者が旧ユーザー名のままになる
  • 別アカウントとして履歴が残る

といった問題が起こります。

Git のユーザー名・メールアドレスを変更する

WSL(Ubuntu / Bash)上で、以下を実行します。

Bash
git config --global user.name "新しいユーザー名"
git config --global user.email "new-email@example.com"

環境再構築の手間を減らしたいときに便利な手順です。
設定内容は、次のコマンドで確認できます。

Bash
git config --global --list

補足

  • プロジェクトごとに設定している場合は –global を外して、リポジトリ単位で確認してください
  • SSHキーやGPG署名を使っている場合は、 それらの設定も併せて確認すると安心です

作業時の注意点

  • ユーザー名変更中は 対象ユーザーでログインしない
  • 念のため、事前にWSLディレクトリのバックアップを取っておく
  • ディストリビューション名(Ubuntu / Ubuntu-20.04 など)に注意する

まとめ

  • rootログインでユーザー情報を変更する
  • usermod でユーザー名・ホームディレクトリを調整
  • groupmod でグループ名も忘れずに変更
  • 最後にデフォルトユーザーを設定し直す

既存のWSL環境をそのまま活かせるので、

タイトルとURLをコピーしました