mathworks-ref-arch / matlab-integration-for-jupyter

Create Jupyter Docker images with MATLAB integration
Other
26 stars 8 forks source link

Official Matlab image still not working (probably due to screensaver) #5

Closed vemonet closed 2 years ago

vemonet commented 2 years ago

A few months ago we shared a major issue https://github.com/mathworks-ref-arch/matlab-integration-for-jupyter/issues/2 that was completely preventing the use of Matlab in cloud computing infrastructure (where we expect matlab to be runnings for days as a service without being restarted every 2 hours)

It has been considered as "resolved" with this fix proposed by @prabhakk-mw :

RUN apt-get install xscreensaver && apt-get remove gnome-screensaver
  1. This is quite concerning that the Matlab desktop image is based on XFCE, but that it comes with the screensaver for Gnome installed (that's some really dirty image we have here!). Also screensavers are known for being a good source of vulnerabilities, so it would be nice to not force a screensaver into your users.
  2. The proposed fix don't work at all, we are still facing the black screen issue on the latest Matlab images, even when running the fix

For other peoples who are also trying to use the Matlab products they have paid for: we found a way to do it in a stable way: https://github.com/vemonet/docker-ubuntu-vnc-desktop to run a remote ubuntu desktop, then you just go to firefox and install matlab manually (yes that's ridiculous! But that works, and gives a stable image.)

prabhakk-mw commented 2 years ago

Dear @vemonet

Thank you for reporting this issue. Based on our conversation, we had concluded that the issue reported here has is from the mathworks/matlab image on Dockerhub, when used via the noVNC access options.

I will escalate and fix the issues with the Dockerhub container images internally, and email you when fixes to them have been published on Dockerhub.

That said, I do have an alternative approach to installing MATLAB into your the container image of your choice. Introducing MPM, which is short for MATLAB Package Manager. MPM is a command line package manager for MathWorks products. It enables you to install MATLAB and its toolboxes programmatically on a Linux environment. It provides options to specify the release of MATLAB that you want to install and the destination for installation. You can install MATLAB and any specified combination of MATLAB toolboxes. You can use mpm to build MATLAB Docker containers.

For example: mpm install --release=R2021b --destination=/home/username/matlab MATLAB Simulink Deep_Learning_Toolbox Parallel_Computing_Toolbox

This Dockerfile is a good example, which showcases the installation of MATLAB into an existing base layer, in this case jupyter/base-notebook.

Given that the reported issue, has not to do with the Jupyter integration. I am closing this issue, and will circle back with @vemonet when a fix to the issue has been propagated to the Docker hub containers.