Cómo iniciar Debian GUI en Windows Top 10 con WSL

Cómo iniciar Debian GUI en Windows Top 10 con WSL
Microsoft Windows es un sistema operativo popular. Con Windows 10 viene una nueva característica llamada WSL (subsistema de Windows para Linux). Es una característica opcional que permite a los desarrolladores y usuarios avanzados ejecutar un entorno GNU/Linux directamente en Windows, sin la necesidad de una virtualización tradicional o una configuración de arranque dual.

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.

  • raíz
  • gdm

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!