I don’t see any errors related to extension install.
Once the extension is installed, you don’t need to restart Slicer, just exit Slicer and when you start it next time it works well. You can see how it works in SlicerJupyter docker image (see link above).
You can use the SlicerJupyter docker image as an example of setting up display properly and use Slicer’s extension manager to install the extension. By following @pieper’s suggestion you can make installation even simpler (by making extension manager download the extension, too, instead of manually downloading it from a URL).
You can jusr just the relevant parts of the image: setting up the display server and installing an extension. There are many other Slicer docker images for various purposes. You can find references to them in posts in this forum.
Unfortunately, we don’t have a single location where all the images are listed at, but we could create it now. @pieper, @muratmaga, @mau_igna_06 what do you think about adding links to all known Slicer docker (and singularity, etc.) images at SlicerDocker/README.rst at master · Slicer/SlicerDocker · GitHub? The earlier idea of having a single hierarchy of images may be unrealistic, but at least collecting links (with a 1-2 sentence description of each) at a single location should be feasible.