OK, I think I’ve solved this (finally ).
The first issue you’ve had, turns out the easiest thing to do is just to remove mate-power-manager
. Users shouldn’t be able to restart the node anyhow which I think is that widget does.
The second is something we’d already seen apparently and I just forgot about it. So, if you’ll notice in the definition file, there’s a different RPM url. I was not able to solve the issue with turbovnc 2.1.1. It says you need the openssl or gnutls libraries but when I had them installed as well (both) it made no difference, so I just upgraded.
This is my .def
file which has MATE + websockify + turbovnc installed in it.
Bootstrap: docker
From: centos:7
%post
yum install -y epel-release
yum groupinstall -y 'MATE Desktop'
yum install -y python2-pip
pip install ts
yum install -y https://yum.osc.edu/ondemand/1.6/compute/el7Server/x86_64/python-websockify-0.8.0-1.el7.noarch.rpm
yum install -y https://yum.osc.edu/ondemand/latest/compute/el7Server/x86_64/turbovnc-2.2.3-1.el7.x86_64.rpm
yum remove -y tigervnc-server python2-pip mate-power-manager
yum clean all
rm -rf /var/cache/yum/*
This is the submit.yml.erb
(that you would put into say /etc/ood/config/apps/bc_desktop/submit/container.yml.erb`) file I’ve used to get it to work which super similar to yours only with the websockify cmd being defined.
<%
# your image location will differ
image="/users/PZS0714/johrstrom/Public/images/sing/mate.sif"
%>
---
script:
native:
# your native.resources will differ
resources:
nodes: "<%= bc_num_slots %><%= node_type %>"
template: "vnc"
batch_connect:
websockify_cmd: '/usr/bin/websockify'
script_wrapper: |
cat << "CTRSCRIPT" > container.sh
export PATH="$PATH:/opt/TurboVNC/bin"
%s
CTRSCRIPT
# your bindpath will differ
export SINGULARITY_BINDPATH="$HOME,/fs,/srv,/var,/run,/tmp:$TMPDIR"
singularity run <%= image %> /bin/bash container.sh
So, for all the users in this thread and beyond, I’m able to show that OOD handles this out of the box. The only thing left now is to get some proper documentation in place.