5.5. Service « nb_serverproxy_xpra »#
Ce plugins Jupyter lab permet d’utiliser Jupyter server proxy pour Xpra dans un serveur de cours basé sur Jupyter.
Il permet d’ouvrir un terminal xfce4-terminal
sur le serveur dans une page du navigateur, pour ensuite lancer des applications X11 comme spyder, libre office, texmaker , Visual studio qui s’exécutent sur le serveur de cours.
Cela permet:
un accès https, donc pas d’encodage supplémentaire sous Xpra,
l’authentification se fait par jupyterhub, et non avec Xpra
Cette intégration est basée sur 2 intégrations
nb_nbserverproxy_openrefine: intégration simple et claire de l’application refine
jupyter-xprahtml5-proxy: intégration complète de xpra avec authentification et encodage, mais trop complexe et non fonctionnelle dans notre environnement
Pour contrôler l’environnement de xpra (qui est l’environnement système et pas l’environnement virtuel python), la commande xpra utilisé est dans bin.
Voir la documentation ici Applications (Xpra) sous Jupyterlab
5.5.2. Configuration de xpra#
configuration de xpra dans /etc/xpra/xpar.conf
speaker = off
pulseaudio = off
printing = no
compression_level = 1
compressors = none, lz4, zlib, brotli
csc-modules = all,
mdns = no
notifications=no
et dans /etc/xpra/conf.d/55_server_x11.conf limitation de la taille de l’écran (HD)
xvfb = Xvfb +extension GLX +extension Composite -screen 0 \
1920x1200x24+32 -nolisten tcp -noreset -auth $XAUTHORITY \
-dpi 96
5.5.3. Applications#
On peut ajouter le lancement directe des applications en utilisant le modèle précédent et en modifiant le lancement du terminal en ajoutant le programme à lancer avec le bon environnement. La script de lancement de l’application est dans bin et son logo dans icons. Actuellement la liste des applications pouvant être lancé directement avec une integration jupyterlab
spyder : ide python
ghostwriter : editeur markdown
installation de ghostwriter
sudo add-apt-repository ppa:wereturtle/ppa
sudo apt update
sudo apt install ghostwriter
attention une fois installé, il faut sauvegarder le fichier wereturtle-ubuntu-ppa-lunar.list
dans wereturtle-ubuntu-ppa-lunar.list.save
(pble de compatibilité)
5.5.4. dépendance#
nodejs (version 14)
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
vérification: cat /etc/apt/sources.list.d/nodesource.list
deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
installation
apt-get install -y nodejs
jupyter-server-proxy
pip install jupyter-server-proxy jupyter labextension install @jupyterlab/server-proxy jupyter lab build
attention aux versions de jupyter: tester avec jupyter-server-proxy 3.2.1
jupyter 1.0.0
jupyter_client 7.4.9
jupyter-console 6.2.0
jupyter-contrib-core 0.3.3
jupyter-contrib-nbextensions 0.5.1
jupyter_core 5.2.0
jupyter-dash 0.4.2
jupyter-highlight-selected-word 0.2.0
jupyter-latex-envs 1.4.6
jupyter-nbextensions-configurator 0.4.1
jupyter-server 1.17.0
jupyter-server-proxy 3.2.1
jupyter-telemetry 0.1.0
jupyterhub 1.5.0
jupyterhub-idle-culler 1.2.1
jupyterhub-ltiauthenticator 1.3.0
jupyterhub-systemdspawner 0.16
jupyterlab 3.2.3
jupyterlab-latex 3.1.0
jupyterlab-launcher 0.13.1
jupyterlab-pygments 0.1.2
jupyterlab-pytutor 0.1.1
jupyterlab-server 2.14.0
jupyterlab-widgets 1.1.0
Xpra multi-platform screen and application forwarding system « screen for X11 »
installation du serveur xpra (ajouter dans les sources des paquets https://xpra.org pour avoir la dernière version)
apt-get install xpra
apt-get install xpra-html5
Il faut bien évidemment installer les bibliothèques X11, gnome et opengl
5.5.5. installation#
python3 setup.py build
python3 setup.py install
5.5.7. License#
Projet sous licence libre, mais sans garantie
5.5.8. Project status#
Projet en cours de développement