Jupyter에서 XFCE (또는 기타 데스크탑 환경)를 실행하십시오.
이것은 https://github.com/ryanlovett/nbnovnc를 기반으로합니다.
이 확장이 시작되면 Jupyter 단일 사용자 서버에서 Linux 데스크탑을 실행하고 Jupyter를 통해 VNC를 사용하여 브라우저로 프록시합니다.
이 확장에는 VNC 서버가 시스템에 설치되어야합니다 (컨테이너 이미지에서 아마도). 가장 테스트 된 VNC 서버는 TigervNC이고 TurbovNC도 작동합니다. vncserver 로 $PATH 로 사용 가능한 모든 VNC 서버는 사용되지만 이러한 서버 이외의 실제 테스트는 수행되지 않았습니다.
예를 들어, TigervNC 및 XFCE4를 설치하는이 저장소의 Dockerfile 참조하십시오.
PyPI 의 pip 사용 하여이 패키지 자체를 설치하십시오.
pip install jupyter-remote-desktop-proxyVNC 서버와 실제 Linux 데스크톱 환경을 제공하는 데 필요한 패키지를 설치하십시오. 데스크톱 환경을 선택해야합니다 (많은 것들이 있습니다!) - Ubuntu 22.04의 Tigervnc와 가벼운 XFCE4 데스크톱 환경을 사용할 패키지가 있습니다.
dbus-x11
xfce4
xfce4-panel
xfce4-session
xfce4-settings
xorg
xubuntu-icon-theme
tigervnc-standalone-server
tigervnc-xorg-extension
이를 설치하는 권장 방법은 Linux System Package Manager (예 : APT)에서 나온 것입니다.
그러한 노트북을 회전 시키려면 먼저 컨테이너를 만듭니다.
$ docker build -t $( whoami ) / $( basename ${PWD} ) .이제 이미지를 실행할 수 있습니다.
$ docker run --rm --security-opt seccomp=unconfined -p 8888:8888 $( whoami ) / $( basename ${PWD} )
Executing the command: jupyter notebook
[I 12:43:59.148 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[I 12:44:00.221 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.7/site-packages/jupyterlab
[I 12:44:00.221 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 12:44:00.224 NotebookApp] Serving notebooks from local directory: /home/jovyan
[I 12:44:00.225 NotebookApp] The Jupyter Notebook is running at:
[I 12:44:00.225 NotebookApp] http://924904e0a646:8888/ ? token=40475e553b7671b9e93533b97afe584fa2030448505a7d83
[I 12:44:00.225 NotebookApp] or http://127.0.0.1:8888/ ? token=40475e553b7671b9e93533b97afe584fa2030448505a7d83
[I 12:44:00.225 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 12:44:00.229 NotebookApp]
To access the notebook, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/nbserver-8-open.html
Or copy and paste one of these URLs:
http://924904e0a646:8888/ ? token=40475e553b7671b9e93533b97afe584fa2030448505a7d83
or http://127.0.0.1:8888/ ? token=40475e553b7671b9e93533b97afe584fa2030448505a7d83
* snip *이제 표시된 URL로 가면 XFCE 데스크탑이 잘 될 것입니다.
--security-opt seccomp=unconfined 매개 변수 -Linux 데스크탑이 작동하는 데 필요한 데몬 (예 : DBUS, Pulseaudio 등)을 시작하는 데 필요합니다. 이것은 Kubernetes가 기본적으로 실행하는 옵션이므로 대부분의 Kubernetes 기반 Jupyterhubs는 작동하려면 수정이 필요하지 않습니다.