1

Что я пытаюсь сделать

Я попытался отредактировать домашний каталог подсистемы Windows (в моем случае Ubuntu) для моего пользователя по умолчанию в Windows. Зачем? Потому что я хочу заменить Cygwin или, по крайней мере, проверить, действительно ли он заменяет Cygwin. Пожалуйста, давайте сосредоточимся на том, как, а не почему. Я также знаю, что командование окнами через Подсистему может вызвать проблемы с правами на запись / чтение AFAIK.

Проблемы)

Я пытался изменить passwd с помощью vim, но я прочитал, что это может вызвать проблемы, и предполагается, что гораздо безопаснее манипулировать им с помощью команд. К счастью, команда для задания существует:

sudo usermod --home /mnt/c/Users/User CurrentUser

Тем не менее, когда я ввожу его, вывод:

usermod: user CurrentUser is currently used by process 4

Но: процесс 4 - это bash.

User@Machinename:~$ ps -A
PID TTY          TIME CMD
  1 ?        00:00:00 init
  3 tty1     00:00:00 init
  4 tty1     00:00:00 bash
 39 tty1     00:00:00 ps
  1. Когда я убиваю (kill -9 4), Подсистема умирает, очевидно.
  2. Когда я пытаюсь сменить пользователя на root (sudo -i), он не отображает CurrentUser, когда я ввожу who или другим командам типа "кто вошел в систему".

Кто-нибудь разобрался, как это сделать, что когда я ввожу cd в подсистему, он выводит меня в /mnt/c/User/CurrentUser? Что я делаю неправильно?

Примечание: это репост этого вопроса на SO, так как было предложено найти ответ здесь, если я репостирую его. Я просто сошлюсь на него, если кто-то найдет тот или иной ресурс и будет приведен здесь, так как superuser - подходящее место для этого.

1 ответ1

0

Этот ответ не является оптимальным, только обходной путь

Другой вариант

Я не понял этого, однако обходным путем для изменения пользователя root по умолчанию было бы создание нового пользователя с другим домашним каталогом. Поскольку я не согласен с подходом, а скорее с решением, этот вариант был удовлетворительным для описанной проблемы.

Как это можно сделать

Это можно сделать , набрав:

sudo useradd -m -d /mnt/c/Users/windowsUser YourNewUserName

Переключение пользователя:

Новому пользователю: su - YourNewUserName

Вернуться к умолчанию: su - YourDefaultUserName

Обстоятельства проблемы

Переключение пользователей требует привилегий root. Если вы не знаете свой пароль su (который отличается от пароля sudo ), введите:

sudo -i

и аутентифицируйтесь с вашим паролем sudo . Затем установите новый пароль с помощью

passwd

Это решение IMO еще лучше / чище, так как легко контролировать пользователя Windows с помощью WSL, переключая пользователей назад и вперед.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .