• Agregar Debian a Windows 10

    Antes que nada debes saber que sólo puedes hacer esto a partir de la versión 20.04 de Windows 10. Si ya lo tienes en la 20.04 vamos allá:

    1 – Abre PowerShell como Administrador:

    2 – Para instalar el subsistema de Windows para Linux ejecuta:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

    3 – Para habilitar la característica de máquina virtual ejecuta:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    4 – Reinicia Windows 10.

    5 – Para poner WSL en la versión 2, abre otra vez PowerShell como administrador y ejecuta:

    wsl --set-default-version 2

    6 – Bájate la última version del kernel de WSL de aquí. Una vez que el archivo wsl_update_x64.msi se haya bajado, ejecútalo como administrador e instálalo.

    7 – Vuelve a poner la versión de SWL en la versión dos, ejecutando:

    wsl --set-default-version 2

    8 – Abre la tienda de Microsoft en Windows y busca la palabra Debian. Encontrarás la distribución. Instálala.

    9 – Cuando hayas terminado de instalarla ejecútala. Te pedirá que crees la cuenta de usuario. Créala poniendo una vez el nombre de usuario y dos veces la contraseña

    UNA VEZ EN LA CLI DE DEBIAN

    Después de haber creado la cuenta de usuario con su contraseña, acabarás en la cli de Debian. Para ejecutar cualquier comando con privilegios tendrás que anteponer sudo. Si no te conformas con la cli, entonces tendrás que instalarle el entorno gráfico.

    INSTALAR EL ENTORNO GRÁFICO

    Dentro de la cli de Debian ejecuta:

    sudo apt-get update
    sudo apt-get -y upgrade
    sudo apt-get -y install tasksel
    sudo tasksel install mate-desktop

    Te pedirá que le indiques que distribución de teclado quieres utilizar. Indícaselo.

    INSTALAR EL SERVIDOR DE ESCRITORIO REMOTO

    Instala el servidor de escritorio remoto con:

    sudo apt-get install -y xrdp

    Actívalo con:

    sudo systemctl enable xrdp

    Inícialo con:

    sudo service xrdp start

    CONECTARSE AL ESCRITORIO

    Usa la app de escritorio remoto de Windows 10 para conectarte al servidor XRDP de Debian. Simplemente indícale la IP que tiene el Debian 10 y que puedes averiguar con:

    hostname -I

    Te pedirá usuario y contraseña como cualquier inicio de sesión.

    SOLUCIÓN DE PROBLEMAS

    PROBLEMA 1:

    Es posible que el Debian de WSL no utilice systemd, por lo que el servicio no podremos controlarlo con systemctl, de forma que no se habrá realmente activado (a pesar de que diga que sí lo ha hecho) y no se esté ejecutando realmente. Para ejecutarlo manualmente ejecutamos lo siguiente como root:

    /usr/sbin/xrdp
    /usr/sbin/xrdp-sesman

    …veremos entonces que, si ejecutamos como root:

    service xrdp status

    …nos dará la siguiente salida:

    xrdp-sesman is running.
    xrdp is running.

    Lo que significa que ya estamos en condiciones de conectarnos al servidor XRDP.

    PROBLEMA 2:

    Es posible que, al proceder con la conexión, aún metiendo el nombre de usuario y la contraseña correcta, la sesión se cierre y nunca lleguemos al escritorio. Esto es porque seguramente tengamos cinnamos y xrdp no inicie la sesión correcta. Para ello modificamos el archivo /etc/xrdp/startwm.sh y nos aseguramos de iniciar Cinammon session, modificando:

    exec /bin/sh /etc/X11/Xsession

    por

    exec /bin/sh cinnamon-session

     

    
    

    PROBLEMA 3:

    Si tenemos el servidor de escritorio remoto en Windows, ya estaremos utilizando el puerto 3389 para el propio Windows, por lo que deberemos modificar nuevamente el archivo /etc/xrdp/xrdp.ini y cambiar port=3389 por port=ElQueQueramos

    Lógicamente, al realizar estos cambios, deberemos parar y volver a iniciar el servidor xrdp. Lo hacemos ejecutando como root:

    /usr/sbin/xrdp -k
    /usr/sbin/xrdp-sesman -k
    
    /etc/init.d/dbus start
    /etc/init.d/xrdp start
    /usr/sbin/xrdp
    /usr/sbin/xrdp-sesman

    echo «cinnamon» > ~/.Xclients
    chmod +x ~/.Xclients

    PROBLEMA 4:

    Es posible que la calidad de la conexión no sea de nuestro agrado. Podemos aumentarla abriendo  el archivo /etc/xrdp/xrdp.ini y modificando:

    max_bpp=32 por max_bpp=128 y descomentamos y modificamos #xserverbpp=24 por xserverbpp=128.

    O podemos hacerlo directamente ejecutando estas dos líneas como root:

    sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g'          /etc/xrdp/xrdp.ini
    sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini

    echo «sudo /etc/init.d/xrdp start > /dev/null» >> ~/.bashrc- This runs the xrdp server at the startup of the terminal by adding the command to the end of the .bashrc file, which runs every time a terminal is started, and the «dev/null» makes it so that the output of the command isn’t shown

     

    sudo su – makes you root so you can have sudo privileges. Hit enter then type in echo «ALL ALL=NOPASSWD: /etc/init.d/xrdp» >> /etc/sudoers – This allows you to start the xrdp server without having to enter a sudo password. Hit enter if you haven’t already then type exit to exit your session as root user.