Cambiar el directorio de inicio del usuario en Windows Subsystem para Linux

26

Me gustaría cambiar el directorio de inicio del usuario que configuré inicialmente en el Subsistema de Windows para Linux. Encontré este comando

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

Lo que debería permitir esto, sin embargo, recibo este error

usermod: user alex is currently used by process 2

Presumiblemente porque he iniciado sesión como ese usuario. Intenté ir a la raíz haciendo sudo su -y luego ejecutando el comando nuevamente, pero me sale el mismo problema. Intenté un comando que encontré en Google para desconectar al usuario alexdesde la raíz, pero eso también me sacó por completo de bash.

¿Alguna idea?

Xeon06
fuente
¿No puede cerrar sesión en esa cuenta, iniciar sesión como otra cuenta y luego ejecutar los comandos para ver qué resultado obtiene?
Pimp Juice IT
Cerrar la sesión de esa cuenta cierra Linux bash y lo lleva de vuelta al indicador de Windows. Volver a iniciar sesión solo lo coloca de manera predeterminada en ese usuario. Y al cambiar a root sudo su -, sigo recibiendo el error de proceso
Xeon06
Ya veo, supongo que no puede iniciar sesión en Windows como otra cuenta mientras está desconectado de esa, y luego ejecutar el comando bash y luego desde esa cuenta en bash para la otra cuenta. Todavía no he configurado bash dentro de Windows, así que solo pensar en posibles soluciones simples, aunque tener que hacerlo sería un poco inconveniente, pero si es solo un trato único, entonces, tal vez funcione. Pensamientos rápidos solo aunque.
Pimp Juice IT
Lamentablemente, el entorno bash está vinculado al usuario actual de Windows, almacenado en% appdata%. Entonces, otro usuario obtendrá su propio entorno de bash
Xeon06
Puede cambiar el nombre de usuario predeterminado ejecutando en Windows (no bash) lxrun /setdefaultuser myusername.
harrymc

Respuestas:

41

El cambio del directorio de inicio con WSL se realiza de la misma manera que en Linux:

  1. Entrar bash
  2. Escribe el comando sudo vim /etc/passwd
  3. Encuentre la línea de su cuenta, que podría verse así:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. Cambie el directorio de inicio, que está arriba /home/harry, al nuevo directorio, usando la notación WSL
  5. Guarda el archivo
  6. Sal de bash y reinícialo
  7. Para probar, use los comandos:
    cd ~
    pwd

Déjeme saber si usted necesita más información.

harrymc
fuente
No sé WSL, solo tengo curiosidad: en general, ¿es seguro solo vim /etc/passwd? En Linux tenemos vipwespecialmente para el trabajo.
Kamil Maciorowski el
@KamilMaciorowski: Acabo de comenzar con WSL, pero puedo decir que sudo /usr/sbin/vipwhace exactamente lo mismo que el punto 2 anterior. Cambiar /etc/passwdes tan seguro como hacerlo en Linux. Tal vez más seguro porque destruirlo no afecta el inicio de sesión de Windows.
harrymc
¡Gracias! No sé por qué la única forma que pude encontrar para editar esto fue a través usermod.
Xeon06
44
Tenga cuidado con esto: si sale del sistema de archivos falso principal de Linux, encontrará que no puede editar los permisos de archivo correctamente.
Hippyjim
@Hippyjim Estoy enfrentando el mismo problema y descubro que esta respuesta SO podría ayudar (requiere Win 10 Insider Build 17063 y superior).
Fin de semana
1

Puede intentar ejecutar lxrun /setdefaultuser rooten el símbolo del sistema, luego cambiar el directorio, luego cambiar el usuario predeterminado a Alex.

Joshua Merrill
fuente