web-dev-qa-db-fra.com

Bureau Ubuntu par défaut avec TightVnc et sous-système Windows Linux

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 à enter image description here 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 enter image description here 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?

5

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:

Quelle est la façon la plus simple d'exécuter des applications GUI sur le sous-système Windows pour Linux à partir de 2018?

Comment installer Ubuntu avec un Windows préinstallé avec UEFI?

https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-Shell/

https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux

https://blogs.msdn.Microsoft.com/wsl/2016/06/08/wsl-system-calls/

5
Elder Geek

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
  • Ajouter /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.
  • exportation LIBGGL... est important pour que GUI puisse peindre correctement
  • exportation DISPLAY... est important pour que X-Server fonctionne correctement. Ensuite, je peux utiliser yad et zenity pour tous mes scripts GUI.
1
WinEunuuchs2Unix