قم بتشغيل XFCE (أو بيئات سطح المكتب الأخرى) على Jupyter.
يعتمد هذا على https://github.com/ryanlovett/nbnovnc.
عند إطلاق هذا الامتداد ، سيتم تشغيل سطح مكتب Linux على خادم المستخدم المفرد Jupyter ، ووكيله إلى متصفحك باستخدام VNC عبر Jupyter.
يتطلب هذا الامتداد تثبيت خادم VNC على النظام (على الأرجح ، في صورة الحاوية). خادم VNC الأكثر اختبارًا هو tigervnc ، بينما يعمل TurbovNC أيضًا. سيتم استخدام أي خادم VNC متوفر في $PATH حيث سيتم استخدام vncserver ، ولكن لم يتم إجراء اختبار حقيقي خارج هذه الخوادم.
على سبيل المثال ، راجع Dockerfile في هذا المستودع الذي يقوم بتثبيت Tigervnc و XFCE4.
قم بتثبيت هذه الحزمة نفسها ، مع pip من PyPI :
pip install jupyter-remote-desktop-proxyقم بتثبيت الحزم اللازمة لتوفير خادم VNC وبيئة سطح مكتب Linux الفعلي. تحتاج إلى اختيار بيئة سطح المكتب (هناك الكثير!) - إليك الحزم لاستخدام Tigervnc وبيئة سطح المكتب XFCE4 الخفيفة على Ubuntu 22.04:
dbus-x11
xfce4
xfce4-panel
xfce4-session
xfce4-settings
xorg
xubuntu-icon-theme
tigervnc-standalone-server
tigervnc-xorg-extension
الطريقة الموصى بها لتثبيت هذه هي من مدير حزمة نظام Linux الخاص بك (مثل 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 -هذا ضروري لبدء daemons (مثل DBUs ، pulseaudio ، إلخ) اللازمة لسطح مكتب Linux للعمل. هذا هو الخيار الذي يعمل عليه Kubernetes بشكل افتراضي ، لذلك لن تحتاج معظم jupyterhubs المستندة إلى Kubernetes إلى أي تعديلات على العمل.