J'ai installé WLS avec succès (ubuntu 18
) sur la machine Windows 10. Je souhaite accéder à ses fonctionnalités d'interface utilisateur à l'aide de TightVnc
. Avec les paramètres par défaut, le .vnc/xstartup
contient les lignes suivantes
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
et je peux me connecter à l'aide de la visionneuse vnc serrée à partir de Windows, mais l'interface utilisateur ressemble à Mais, je veux utiliser le bureau par défaut fourni avec Ubuntu 18. J'ai installé gnome
et changé le fichier xstartup
en suivant (suggéré par quelqu'un sur le web)
#!/bin/sh
#Uncommment this line if using Gnome and your keyboard mappings are incorrect.
#export XKL_XMODMAP_DISABLE=1
# Load X resources (if any)
if [ -r "$HOME/.Xresources" ]
then
xrdb "$HOME/.Xresources"
fi
gnome-session --disable-acceleration-check --session=ubuntu &
Mais lorsque je démarre vncserver
après avoir apporté ces modifications, je peux me connecter, mais il affiche un écran gris sans contrôle visuel comme Veuillez noter que je n'avais pas de .Xresources
fichier sur ma machine, j'en ai donc créé un manuellement, mais cela n'a fait aucune différence. Ci-dessous la sortie de ls /usr/share/xsessions
ubuntu-communitheme-snap.desktop ubuntu.desktop xfce.desktop
Je peux voir quelques erreurs dans .vnc/CS-63341DT:5.log
fichier. Voici le contenu de ce fichier
05/04/19 12:49:17 Xvnc version TightVNC-1.3.10
05/04/19 12:49:17 Copyright (C) 2000-2009 TightVNC Group
05/04/19 12:49:17 Copyright (C) 1999 AT&T Laboratories Cambridge
05/04/19 12:49:17 All Rights Reserved.
05/04/19 12:49:17 See http://www.tightvnc.com/ for information on TightVNC
05/04/19 12:49:17 Desktop name 'X' (CS-63341DT:5)
05/04/19 12:49:17 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
05/04/19 12:49:17 Listening for VNC connections on TCP port 5905
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring
gnome-session-binary[1645]: WARNING: Using null backend for session tracking
_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root
GNOME_KEYRING_CONTROL=/home/adeel/.cache/keyring-FKBRZZ
GNOME_KEYRING_CONTROL=/home/adeel/.cache/keyring-FKBRZZ
GNOME_KEYRING_CONTROL=/home/adeel/.cache/keyring-FKBRZZ
SSH_AUTH_SOCK=/home/adeel/.cache/keyring-FKBRZZ/ssh
Window manager warning: Unsupported session type
gnome-session-binary[1645]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Window manager warning: Unsupported session type
gnome-session-binary[1645]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session-binary[1645]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
gnome-session-binary[1645]: CRITICAL: We failed, but the fail whale is dead. Sorry....
Que puis-je faire pour que le bureau ubuntu 18 par défaut fonctionne avec la visionneuse TightVnc à partir de Windows?
Selon Microsoft, WSL est conçu uniquement pour les développeurs qui souhaitent exécuter des utilitaires de terminal Linux. Ceci est indiqué dans cette question similaire.
Il a été signalé que vous pouvez obtenir des résultats éventuellement positifs en
1) Installer un serveur X comme Xming ou VcXsrv.
2) Installation du logiciel graphique que vous souhaitez exécuter sous WSL via apt-get
ou apt
3) Exporter votre variable d'environnement d'affichage avec export DISPLAY=:0
chaque fois que vous souhaitez exécuter une application graphique.
4) lancer une application graphique en tapant le nom de son exécutable
Remarque: Ce sous-système (WSL) n'est pas capable d'exécuter tous les logiciels Linux, tels que les binaires 32 bits, ou ceux qui nécessitent des services de noyau Linux spécifiques non implémenté dans WSL.
Il est possible d'exécuter certaines applications graphiques (GUI) (telles que Mozilla Firefox) en installant un serveur X11 dans l'environnement Windows (hôte) (comme VcXsrv ou Xming), comme mentionné ci-dessus, mais non sans mises en garde, comme l'absence de prise en charge audio ou accélération matérielle (entraînant de mauvaises performances graphiques). La prise en charge d'OpenCL et de CUDA n'est pas non plus actuellement implémentée, bien qu'elle puisse l'être dans les futures versions.
À mon humble avis, cet exercice représente plus de travail qu'il n'en vaut la peine. Le résultat final souffre de performances graphiques médiocres et de goulots d'étranglement d'E/S. Il est de loin préférable de simplement exécuter Ubuntu sur une machine virtuelle ou dual-boot que de faire face à la possibilité que le système Linux appelle une application peut ne pas être entièrement pris en charge par le sous-système Windows pour Linux.
Sources:
Comment installer Ubuntu avec un Windows préinstallé avec UEFI?
https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
https://blogs.msdn.Microsoft.com/wsl/2016/06/08/wsl-system-calls/
J'utilise VcXsrv parce que c'est gratuit et qu'il est fréquemment mis à jour. Voir ma réponse ici:
L'important est de l'installer en acceptant les valeurs par défaut puis (pour moi) d'éditer /etc/environment
et changez ceci:
PATH="/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:"
pour ça:
PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0
/mnt/e/bin:
au début du chemin n'est important que pour les scripts partagés stockés sur la partition NTFS que Ubuntu exécute nativement et que WSL Bash s'exécute.LIBGGL...
est important pour que GUI puisse peindre correctementDISPLAY...
est important pour que X-Server fonctionne correctement. Ensuite, je peux utiliser yad
et zenity
pour tous mes scripts GUI.