Зміна домашнього каталогу користувача в підсистемі Windows для Linux


26

Я хотів би змінити домашній каталог користувача, який я спочатку налаштував у підсистемі Windows для Linux. Я знайшов цю команду

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

Що повинно це дозволити, однак я отримую цю помилку

usermod: user alex is currently used by process 2

Імовірно, тому, що я зареєстрований як цей користувач. Я намагався виконувати корінь, виконуючи, sudo su -а потім запустивши команду ще раз, але я отримав ту саму проблему. Я спробував команду, яку я знайшов в Google, щоб вийти з користувача alexз root, але це також вигнало мене з башти повністю.

Будь-які думки?


Ви не можете вийти з цього облікового запису, увійти як інший обліковий запис, а потім виконати команди, щоб побачити, який результат ви отримаєте?
Pimp Juice IT

Вихід із цього облікового запису закриває Linux bash і повертається до Windows-підказок. Повторне входження в систему просто додає вас до цього користувача. І перехід на root через sudo su -я все-таки отримую помилку процесу
Xeon06

Зрозуміло, я припускаю, що ви не можете увійти в Windows як інший обліковий запис під час виходу з цього облікового запису, а потім запустити команду bash, а потім із цього акаунта в bash для іншого облікового запису? Я ще не налаштовував башти в Windows, тому просто думав про потенційні прості рішення, хоча це робити було б незручно, але якщо це лише разова угода, то зроблено, можливо, це спрацює. Хоча швидкі думки.
Pimp Juice IT

На жаль, середовище bash пов'язане з поточним користувачем Windows, що зберігається у% appdata%. Отже, інший користувач отримає власне баш-середовище
Xeon06

Ви можете змінити ім'я користувача за замовчуванням, виконавши в Windows (не bash) lxrun /setdefaultuser myusername.
harrymc

Відповіді:


41

Зміна домашнього каталогу за допомогою WSL робиться так само, як і в Linux:

  1. Введіть баш
  2. Введіть команду sudo vim /etc/passwd
  3. Знайдіть рядок свого облікового запису, який може виглядати так:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. Змініть домашній каталог, який є вище /home/harry, на новий каталог, використовуючи позначення WSL
  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

@Hippyjim Я зіткнувся з тією ж проблемою і з’ясував , що цей SO-anwser може допомогти (вимагає Win 10 Insider Build 17063 і вище).
вихідні

1

Ви можете спробувати запустити lxrun /setdefaultuser rootв командному рядку, потім змінити каталог, а потім змінити користувача за замовчуванням на Alex.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.