En esta guía, consulte cómo iniciar Debian GUI en Windows 10 con WSL.
Debian en WSL
La herramienta WSL fue desarrollada originalmente por Microsoft en colaboración con Canonical, el creador de Ubuntu. Básicamente es una capa de compatibilidad del núcleo basada en Ubuntu.
En 2020, Microsoft lanzó WSL 2. Trae varias mejoras cruciales sobre WSL 1. Ofrece una mejor compatibilidad del sistema, una mejor gestión de VM, soporte completo del kernel de Linux y más. Mira la diferencia entre WSL 1 y WSL 2. Tenga en cuenta que WSL 2 solo está disponible para Windows 10 versión 2004 Build 19041 o superior. Ejecute el siguiente comando para verificar la versión de Windows 10 que está ejecutando.
$ Winver
Debido a que WSL se basó originalmente en Ubuntu, admite Debian por defecto. Debian para WSL está disponible en Microsoft Store. Sin embargo, demostraremos cómo instalar Debian incluso sin una cuenta de Microsoft.
En el caso de Windows, todos los comandos se ejecutarán en Windows PowerShell con privilegios administrativos. Es el equivalente de Linux de ejecutar un sudo caparazón. Para iniciar PowerShell con privilegio administrativo, presione "Win + X" y seleccione "Windows PowerShell (administrador)".
Habilitando WSL
Las funciones opcionales como WSL no están habilitadas de forma predeterminada. Afortunadamente, habilitar WSL es muy simple. Ejecute el siguiente comando en PowerShell.
$ dism.exe /en línea /habilitación-feata /treeReName: Microsoft-Windows-Subsystem-Linux /All /Norestart
WSL 2 también requiere el Plataforma de máquina virtual característica.
$ dism.exe /en línea /habilitación-feata /treeReName: VirtualMachinePlatform /All /Norestart
Estos cambios requieren que un reinicio del sistema sea completamente funcional.
Después de reiniciar, inicie PowerShell con el privilegio de administración. Hacer cumplir WSL 2 como la versión predeterminada.
$ wsl --set-default-version 2
Tenga en cuenta que si está ejecutando la versión de Windows 10 de 64 bits, entonces es posible que deba descargar e instalar el paquete de actualización del kernel de Linux para WSL 2.
Descargar e instalar Debian
Primero, consulte todas las distribuciones disponibles compatibles con WSL.
$ wsl --list -en línea
Dígale a WSL que instale Debian. Debian está disponible como un paquete instalable en Microsoft Store.
$ WSL --install -d Debian
Puede tardar un par de minutos en que el proceso termine.
Configuración de Debian
Debian ahora está instalado. Si instaló con WSL, aparecerá automáticamente un nuevo shell. Durante el primer inicio, Debian Shell solicitará crear un nuevo usuario.
Si desea acceder a Debian más tarde, use el siguiente comando WSL. A partir de este punto, usaré la terminal de Windows para facilitar el uso.
$ WSL -D Debian
Actualice el caché de apt y actualice todos los paquetes.
$ sudo apt actualización && sudo apt actualade -y
A continuación, necesitamos verificar si estamos ejecutando la última versión de Debian. Al momento de escribir esta guía, el último lanzamiento estable es Debian 11, codificado diana.
$ cat /etc /os-liber
En mi caso, es Debian 9 (estiramiento) donde debería ser Debian 11 (Bullseye). Requiere una actualización de distribución para llegar al último lanzamiento de Debian.
Primero, haga una copia de copia de seguridad del fuentes.lista archivo.
$ sudo cp/etc/apt/fuentes.Lista/etc/apt/fuentes.lista.bak
Desde el fuentes.lista Archivo, reemplace todas las instancias de Stretch (Debian 9) a Bullseye (Debian 11). Esto efectivamente le dirá a Apt que trabaje con paquetes para Debian 11. Abrir fuentes.lista en un editor de texto y reemplace todas las instancias de estiramiento para diana.
$ sudo nano/etc/apt/fuentes.lista
Aquí hay una lista de muestras de repositorios para Debian 11 Bullseye.
$ Deb http: // Deb.debian.org/Debian Bullseye Main Contrib No libre
$ Deb http: // Deb.debian.org/Debian Bullseye-actualizaciones principales contribuyentes no libres
$ deb http: // seguridad.debian.org/Debian-Security Bullseye-Security principal contribuyente no libre
Interesado en SED? Echa un vistazo a esta mega guía sobre 50 ejemplos SED.
Ahora, ejecute los comandos de actualización APT nuevamente.
$ sudo apt clean && sudo apt actualización
$ sudo apt pleno-actual
Será permiso para reiniciar varios servicios durante el proceso. Seleccione "Sí".
Ahora podemos deshacernos de los paquetes obsoletos del sistema.
$ sudo apto autoremove
Reinicie la sesión de Debian para poner en vigencia los cambios. Verificar el cambio.
$ cat /etc /os-liber
Configuración de GUI
El sistema Debian es completamente funcional en este momento. Sin embargo, la única forma de interactuar con el sistema es a través de la interfaz de línea de comandos. No hay GUI por defecto para usar.
Podemos eludir esto implementando VNC. El proceso de configuración es algo complicado pero muy factible.
Requisitos previos
Hay un par de requisitos previos de este método. Primero, asegúrese de que la distribución de WSL esté configurada para ejecutarse con WSL 2.
$ WSL --Set-Version Debian 2
Instalación de componentes
Ahora, acceda a Debian Shell. Necesitamos algunos componentes adicionales como rizo y wget.
$ sudo apt actualización && sudo apt instalación -y curl wget
Instalaremos TaskSel, una herramienta muy útil para administrar varios componentes de escritorio y servicio. Ejecute el siguiente comando APT.
$ sudo apt install tasksel
Correr tarea con sudo privilegio.
$ sudo tasksel
Mostrará una lista de grupos y paquetes de paquetes. Presione la barra espaciadora para seleccionar/deseleccionar un grupo. Una vez que haya seleccionado los deseados, seleccione "Aceptar".
La herramienta descargará e instalará todos los componentes necesarios. Tomará un poco de tiempo.
Instalación del servidor VNC
El siguiente paso es instalar el servidor VNC. Para este propósito, instalaremos Tigervnc.
$ sudo apt-get install tigervnc-standalone-server
Instalación .Tiempo de ejecución neto
El .Net es un marco de propósito general para construir aplicaciones para Windows, Linux y MacOS de Microsoft. Lo necesitamos para la siguiente parte de la configuración.
Ejecute los siguientes comandos para instalar .Tiempo de ejecución neto. Para obtener más instrucciones de instalación en profundidad, consulte el oficial .Guía de instalación neta por Microsoft.
$ wget https: // paquetes.Microsoft.com/config/Debian/10/paquetes-microsoft-prod.deb -o paquetes-microsoft-prod.debutante
$ sudo apt instalación ./paquetes-microsoft-prod.debutante
Paquetes de $ RM-Microsoft-PROD.debutante
$ sudo apt actualización && sudo apt install apt-transport-https
$ sudo apt actualización && sudo apt install dotnet-runtime-5.0
Instalación genio de systemd
WSL, por sí mismo, es solo una implementación de Barebones Linux Framework. El uso de Systemd-Genie es la forma de darle a Debian un marco de Linux funcional y completo. Consulte más sobre Systemd-Genie.
Ya hemos instalado su dependencia (.Tiempo de ejecución neto). Todo lo que queda es configurar el repositorio de Genie SystemD e instalar el paquete. Consulte la documentación en profundidad sobre la instalación de SystemD-Genie en Debian.
Primero, configure el repositorio APT para genio de systemd.
$ wget -o/etc/apt/confianza.gpg.d/wsl-transdebiano.gpg https: // arkane-systems.github.IO/WSL-Transdebian/Apt/WSL-Transdebian.gpg
$ chmod a+r/etc/apt/confianza.gpg.d/wsl-transdebiano.gpg
$ gato << EOF > /etc/apt/fuentes.lista.d/wsl-transdebiano.lista
$ Deb https: // Arkane-Systems.github.IO/WSL -TRANSDEBIAN/APT/$ (LSB_RELEASE -CS) Principal
$ Deb-Src https: // Arkane-Systems.github.IO/WSL -TRANSDEBIAN/APT/$ (LSB_RELEASE -CS) Principal
$ EOF
Actualización de $ apt
Finalmente, instale Systemd-Genie.
$ sudo apt install systemd-generie
Todas las herramientas necesarias están instaladas. Es hora de configurarlos para obtener el comportamiento esperado.
Configuración de la contraseña del servidor VNC
En la configuración de VNC, cada usuario tendrá contraseñas únicas. Para una funcionalidad completa, necesitamos al menos tres contraseñas, una para cada uno de los siguientes usuarios.
Primero, configure la contraseña VNC para el usuario actual.
$ VNCPassWD
A continuación, configure la contraseña VNC para raíz.
$ sudo -h vncpasswd
Finalmente, configure la contraseña VNC para GDM. Tenga en cuenta que puede omitir este paso si no eligió instalar el entorno de escritorio GNOME.
$ sudo -h -u debian -gdm vncpasswd
Reemplazar el valor predeterminado x por xvnc
La función predeterminada del administrador de visualización es llamar a las instancias X para cada sesión de usuario (incluida la pantalla de inicio de sesión). Sin embargo, debido a que vamos a usar el servidor VNC, no va a cortar. Para trabajar con VNC, XVNC es el candidato adecuado.
A continuación, nuestro objetivo es intercambiar x a xvnc. Requiere ajustar el script Xorg que llama a XVNC en lugar del servicio de visualización X/Xorg.
Antes de continuar, siempre se recomienda hacer una copia de seguridad del script Xorg existente.
$ sudo mv/usr/bin/xorg/usr/bin/xorg.viejo
Ahora, crea un nuevo script xorg.
$ sudo nano/usr/bin/xorg.nuevo
Ingrese el siguiente código.
#!/bin/bash
Para Arg Do
cambio
Caso $ arg en
Vermont*)
Establecer - "$@" "$ arg // vt/tty"
;;
-Keeptty)
;;
-Novtswitch)
;;
*)
Establecer - "$@" "$ arg"
;;
ESAC
hecho
# Geometría de visualización
comando = ("/usr/bin/xvnc" "-geometry" "1366x768" "-passwordFile" "$ home:-/root/.vnc/passwd "" $@")
systemd -cat -t/usr/bin/xorg echo "iniciando xvnc:" "$ command [@]"
EXEC "$ comando [@]"
Guarde el archivo y cierre el editor. El archivo debe tener permisos de archivo correctos para funcionar correctamente.
$ sudo chmod 0755/usr/bin/xorg.nuevo
Cree un enlace al archivo para emular el script Xorg original.
$ sudo ln -sf/usr/bin/xorg.nuevo/usr/bin/xorg
Configuración de variables de entorno
Necesitamos ajustar algunas variables de entorno para que Xorg lee del usuario ejecutando el genio dominio. Para hacerlo, necesitamos ajustar el bashrc archivo de la raíz y el usuario actual. Tenga en cuenta que BASHRC es diferente a Bash_Profile.
Abre el bashrc del usuario actual.
$ nano ~/.bashrc
Agregue los siguientes códigos al final del archivo.
Exportar xdg_runtime_dir =/run/user/$ uid
Exportar display = $ (cat /etc /resolv.conf | GreP Nameserver | Awk 'imprimir $ 2; salir; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Haz lo mismo con el bashrc Archivo del usuario root.
$ su -
$ nano ~/.bashrc
Exportar xdg_runtime_dir =/run/user/$ uid
Exportar display = $ (cat /etc /resolv.conf | GreP Nameserver | Awk 'imprimir $ 2; salir; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Finalmente, recargar BASHRC para el usuario actual.
$ fuente ~/.bashrc
Lanzamiento genio de systemd
Ahora, Systemd está configurado para dejar gdm Inicie automáticamente y cree una instancia de X Display en la instancia de inicio de sesión. Debido a la configuración, creará instancias XVNC en su lugar. Comenzará a escuchar desde 5900.
El siguiente comando mostrará el mensaje "Conectando a Systemd" seguido de algunos errores. Se esperan los errores. Debes aterrizar en la pantalla de inicio de sesión.
$ genio -l
Voila! Ahora ha iniciado con éxito que Debian habilitado para la GUI se ejecuta bajo WSL 2! Todo lo que queda es conectarse al servidor WSL a través de VNC. El siguiente comando informará la dirección IP del servidor.
$ hostname -i
Para conectarse al sistema, use un cliente VNC (en el puerto 5900). Para iniciar sesión, use el gdm Contraseña VNC. Esto debería aterrizar en la pantalla de inicio de sesión.
Pensamientos finales
Para los usuarios de Windows, WSL es una excelente manera de acostumbrarse al mundo de Linux sin tener que aprender todo desde cero. Esta guía demuestra el método recomendado para instalar y configurar Debian 11 con GUI en WSL con la ayuda de un servidor VNC (TIGERVNC).
Con una configuración VNC adecuada, puede lograr mucho más. Consulte esta guía en profundidad sobre la instalación y la configuración de un servidor VNC en Debian.
Computación feliz!