Remove all parts that aren't just XFCE

- Move everything to base directory, since this repo is only
  for jupyter-desktop
- Remove packages not needed for base functionality from apt.txt
  and environment.yml
- Remove extra desktop shortcuts
This commit is contained in:
YuviPanda 2019-10-29 12:28:15 -07:00
parent 953b8e7139
commit fdcd053cd3
12 changed files with 38 additions and 210 deletions

View File

@ -1,14 +1,8 @@
curl
dbus-x11
firefox
less
net-tools
openjdk-8-jre
unzip
vim
xfce4
xfce4-panel
xfce4-session
xfce4-settings
xorg
xubuntu-icon-theme
xubuntu-icon-theme

View File

@ -1,36 +0,0 @@
name: napari
channels:
- conda-forge
- manics
dependencies:
- python=3.6
- pip
- websockify=0.9.0
- zeroc-ice-python=3.6.5
# https://github.com/napari/napari/blob/v0.2.2/requirements/default.txt
- dask
- zarr
- fsspec
- imageio
- ipykernel
- numpy
- qtpy
- qtconsole
- scipy
- scikit-image
- vispy
- ipython
- backcall
- pyopengl
- pyside2
- wrapt
- numpydoc
- pip:
# Recent jupyter-server-proxy to load vnc_lite.html instead of /
# https://github.com/jupyterhub/jupyter-server-proxy/pull/151
- https://github.com/jupyterhub/jupyter-server-proxy/archive/0e67e1afd0bab1342443f13bd147a2f8c682e9e0.zip
- https://github.com/ome/omero-py/archive/v5.6.dev1.zip
# The conda pyside2 package doesn't appear in pip list so napari tries to reinstall it
# https://github.com/conda-forge/pyside-feedstock/issues/35
# napari==0.2.2
# Manually install in postBuild instead with --no-dependencies

View File

@ -1,74 +0,0 @@
#!/bin/bash
set -eux
env
VNC_APPLICATION_DIR=$CONDA_DIR/vnc
mkdir $VNC_APPLICATION_DIR
pushd $VNC_APPLICATION_DIR
# Novnc: just want web files
curl -sSfL https://github.com/novnc/noVNC/archive/v1.1.0.tar.gz | tar -zxf -
# Patch novnc to use correct path to websockify (defaults to /)
# Note if you use vnc.html you will need to patch ui.js to use the correct path
# and also to override localstorage which may store an incorrect path from a
# different session
# Also resize server instead of scaling client
sed -i.bak \
-e "s%\('path', 'websockify'\)%'path', window.location.pathname.replace(/[^/]*$/, '').substring(1) + 'websockify'); console.log('websockify path:' + path%" \
-re "s%rfb.scaleViewport = .+%rfb.resizeSession = readQueryVariable('resize', true);%" \
noVNC-1.1.0/vnc_lite.html
# Install tigervnc
curl -sSfL 'https://bintray.com/tigervnc/stable/download_file?file_path=tigervnc-1.9.0.x86_64.tar.gz' | tar -zxf - --strip=2
cp $REPO_DIR/jupyter_desktop/share/xstartup .
chmod +x xstartup
# Desktop applications
# Fiji and OMERO insight
#OMERO_INSIGHT_VERSION=5.5.6
#OMERO_INSIGHT_URL_BASE=https://github.com/ome/omero-insight/releases/download/v$OMERO_INSIGHT_VERSION/
OMERO_INSIGHT_VERSION=5.5.7-SNAPSHOT
OMERO_INSIGHT_URL_BASE=https://users.openmicroscopy.org.uk/~spli/insight
wget -q https://downloads.imagej.net/fiji/latest/fiji-nojre.zip
unzip -q fiji-nojre.zip
rm fiji-nojre.zip
pushd Fiji.app/plugins
wget -q $OMERO_INSIGHT_URL_BASE/OMERO.imagej-$OMERO_INSIGHT_VERSION.zip
unzip -q OMERO.imagej-$OMERO_INSIGHT_VERSION.zip
rm OMERO.imagej-$OMERO_INSIGHT_VERSION.zip
popd
wget -q $OMERO_INSIGHT_URL_BASE/OMERO.insight-$OMERO_INSIGHT_VERSION.zip
unzip -q OMERO.insight-$OMERO_INSIGHT_VERSION.zip
rm OMERO.insight-$OMERO_INSIGHT_VERSION.zip
pushd OMERO.insight-$OMERO_INSIGHT_VERSION && \
wget -q https://www.openmicroscopy.org/img/logos/omero-logomark.svg
popd
ln -s OMERO.insight-$OMERO_INSIGHT_VERSION OMERO.insight
mkdir Desktop
cp $REPO_DIR/jupyter_desktop/share/*.desktop Desktop
chmod +x Desktop/*.desktop
popd
pushd $REPO_DIR/jupyter_desktop
# Configure jupyter-server-proxy VNC
# https://jupyter-server-proxy.readthedocs.io/en/latest/server-process.html#specifying-config-from-python-packages
pip install .
python -c "from pkg_resources import iter_entry_points; print(list(iter_entry_points(group='jupyter_serverproxy_servers')))"
popd
# Napari (dependencies already installed using conda)
pip install --no-dependencies napari==0.2.2

6
environment.yml Normal file
View File

@ -0,0 +1,6 @@
channels:
- manics
dependencies:
- websockify
- pip:
- https://github.com/jupyterhub/jupyter-server-proxy/archive/0e67e1afd0bab1342443f13bd147a2f8c682e9e0.zip

View File

@ -1,14 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Fiji Is Just ImageJ
GenericName=Fiji Is Just ImageJ
X-GNOME-FullName=Fiji Is Just ImageJ
Comment=Scientific Image Analysis
Type=Application
Categories=Education;Science;ImageProcessing;
Exec=/srv/conda/vnc/Fiji.app/ImageJ-linux64
TryExec=/srv/conda/vnc/Fiji.app/ImageJ-linux64
Terminal=false
StartupNotify=true
Icon=/srv/conda/vnc/Fiji.app/images/icon.png
StartupWMClass=fiji-Main

View File

@ -1,13 +0,0 @@
[Desktop Entry]
Version=1.0
Name=OMERO.insight
GenericName=OMERO.insight
X-GNOME-FullName=OMERO.insight
Comment=OMERO desktop client
Type=Application
Categories=Education;Science;ImageProcessing;
Exec=/srv/conda/vnc/OMERO.insight/bin/omero-insight
TryExec=/srv/conda/vnc/OMERO.insight/bin/omero-insight
Terminal=false
StartupNotify=true
Icon=/srv/conda/vnc/OMERO.insight/omero-logomark.svg

View File

@ -1,66 +0,0 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Napari\n",
"\n",
"\n",
"## Setup: start the [desktop](../desktop)\n",
"The link should open in a different window. If you see an error message try refreshing the window.\n",
"\n",
"Then run the first cell and wait for QT to be initialised before running the following cells. `Run all cells` will not work.\n",
"\n",
"If you are running this locally you should see some log messages. If you are running this on mybinder wait a few seconds before running the Napari cell. Note adding `time.sleep(5)` to the cell does not work!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Use the novnc Desktop in the other window\n",
"import os\n",
"os.environ['DISPLAY'] = ':1.0'\n",
"# instantiate Qt GUI\n",
"%gui qt5"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import napari\n",
"from skimage.data import astronaut\n",
"\n",
"# create the viewer on the Desktop and display the image\n",
"viewer = napari.view_image(astronaut(), rgb=True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

31
postBuild Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
set -eux
env
VNC_APPLICATION_DIR=$CONDA_DIR/vnc
mkdir $VNC_APPLICATION_DIR
pushd $VNC_APPLICATION_DIR
# Novnc: just want web files
curl -sSfL https://github.com/novnc/noVNC/archive/v1.1.0.tar.gz | tar -zxf -
# Install tigervnc
curl -sSfL 'https://bintray.com/tigervnc/stable/download_file?file_path=tigervnc-1.9.0.x86_64.tar.gz' | tar -zxf - --strip=2
# Patch novnc to use correct path to websockify (defaults to /)
# Note if you use vnc.html you will need to patch ui.js to use the correct path
# and also to override localstorage which may store an incorrect path from a
# different session
# Also resize server instead of scaling client
sed -i.bak \
-e "s%\('path', 'websockify'\)%'path', window.location.pathname.replace(/[^/]*$/, '').substring(1) + 'websockify'); console.log('websockify path:' + path%" \
-re "s%rfb.scaleViewport = .+%rfb.resizeSession = readQueryVariable('resize', true);%" \
noVNC-1.1.0/vnc_lite.html
cp $REPO_DIR/share/xstartup .
chmod +x xstartup
pip install $REPO_DIR

View File