Linux用Windowsサブシステムでのユーザーのホームディレクトリの変更


26

Linux用Windowsサブシステムで最初にセットアップしたユーザーのホームディレクトリを変更したいのですが。このコマンドを見つけました

sudo usermod -d /mnt/c/Users/Alex alex

これはこれを許可するはずですが、このエラーが発生しています

usermod: user alex is currently used by process 2

おそらく、そのユーザーとしてログインしているからでしょう。私はsudo su -コマンドを再度実行してルート化しようとしましたが、同じ問題が発生します。alexルートからユーザーをログアウトするためにGoogleで見つけたコマンドを試しましたが、bashから完全に追い出されました。

何かご意見は?


そのアカウントからログアウトし、別のアカウントとしてログインし、コマンドを実行して結果を確認することはできませんか?
ピンプジュースIT

そのアカウントからログアウトすると、Linux bashが閉じられ、Windowsプロンプトに戻ります。再度ログインすると、デフォルトでそのユーザーになります。ルートに切り替えるとsudo su -、プロセスエラーが発生します
Xeon06

私は、そのアカウントからログアウトしている間に別のアカウントとしてWindowsにログインしてから、bashコマンドを実行し、そのアカウントから他のアカウントのbashで実行できないと思いますか?私はまだWindows内でbashをセットアップしていないので、それをしなければならないのはちょっと不便かもしれませんが、単純な解決策の可能性を考えているだけです。ただ簡単な考えだけ。
ピンプジュースIT

残念ながら、bash環境は%appdata%に保存されている現在のユーザーWindowsに関連付けられています。そのため、別のユーザーが独自のbash環境を取得します
Xeon06

デフォルトのユーザー名を変更するには、bashではなくWindowsで実行しますlxrun /setdefaultuser myusername
harrymc

回答:


41

WSLを使用したホームディレクトリの変更は、Linuxと同じ方法で行われます。

  1. bashを入力
  2. コマンドを入力します sudo vim /etc/passwd
  3. アカウントの行を見つけます。次のようになります。
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. /home/harryWSL表記を使用して、上記のホームディレクトリを新しいディレクトリに変更します。
  5. ファイルを保存する
  6. bashを終了して再起動します
  7. テストするには、次のコマンドを使用します。
    cd ~
    pwd

さらに情報が必要な場合はお知らせください。


私はWSLを知りません、私はちょうど興味があります:一般的にはそれだけで安全vim /etc/passwdですか?Linuxではvipw、特に仕事のためにあります。
カミルマシオロウスキ

@KamilMaciorowski:WSLを始めたばかりですが、それsudo /usr/sbin/vipwは上記のポイント2とまったく同じです。変更/etc/passwdは、Linuxで行うのと同じくらい安全です。破棄してもWindowsログオンには影響しないので、おそらく安全です。
harrymc

ありがとうございました!これを編集できる唯一の方法がなぜであったのか分かりませんusermod
Xeon06

4
これに注意してください-メインの偽のlinuxファイルシステムから移動すると、ファイルのパーミッションを適切に編集できないことがわかります。
ヒッピージム

@Hippyjim私は同じ問題に直面しており、このSOアンカーが役立つことがわかっています(Win 10 Insider Build 17063以降が必要です)。
週末

1

lxrun /setdefaultuser rootコマンドプロンプトで実行してから、ディレクトリを変更してから、デフォルトユーザーをAlexに変更できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.