Introduction
Observing operations at Lick are available with software based on the home observing scheme developed for Keck and experimental network gear. Here we document the installation process for computers running Mac, Linux, and Windows Operating Systems.
Please refer to the Shane Remote Observing Policy and the Nickel Remote Observing Policy for more information on who may observe remotely and how to gain authorization to do so.
Downloading the Remote Observing Software
The Remote Observing Software is available on github at: https://github.com/bpholden/lickRemoteObserving
Installation and Setup
MacOS
Software requirements/installation:
- Tunnelblick
- A VNC client (recommendation: RealVNC Viewer) Note that RealVNC Viewer is free. You do not need RealVNC Connect.
- Python3 via anaconda or miniconda
After installing the above software, fetch a copy of the remote observing software from github: https://github.com/bpholden/lickRemoteObserving If you have git installed you can simply do:
cd ~
git clone https://github.com/bpholden/lickRemoteObserving
cd ~/lickRemoteObserving/
Otherwise, download the zip file from github and unzip it to a convenient location (ideally your home directory):
cd ~
unzip ~/Downloads/lickRemoteObserving-release.zip
cd ~/lickRemoteObserving-release/
Once inside the lickRemoteObserving directory we
Next copy the relevant configuration file to local_config:
This will install all of the requisite packages for us.
We can then activate the LRO environment:
conda env create -f environment.yaml
Note: You will need to be in the LRO environment whenever you launch the Lick Remote Observing software
conda activate LRO
cp mac_config.yaml local_config.yaml
Linux
Software requirements/installation:- OpenVPN
- A VNC client (recommendation: RealVNC Viewer) Note that RealVNC Viewer is free. You do not need RealVNC Connect.
- Python3 via anaconda or miniconda
If you have git installed you can simply do:
cd ~
git clone https://github.com/bpholden/lickRemoteObserving
cd ~/lickRemoteObserving/
Otherwise, download the zip file from github and unzip it to a convenient location (ideally your home directory):
cd ~
unzip ~/Downloads/lickRemoteObserving-release.zip
cd ~/lickRemoteObserving-release/
Once inside the lickRemoteObserving directory we
conda env create -f environment.yaml
This will install all of the requisite packages for us.
We can then activate the LRO environment:
conda activate LRO
Note: You will need to be in the LRO environment whenever you launch the Lick Remote Observing software
Next Copy the relevant configuration file to local_config:
cp linux_config.yaml local_config.yaml
To make soundplay work (for exposure sounds etc.):
echo "soundplayer: 'soundplay-107098-8.6.3-linux-x86_64'" >> local_config.yaml
echo "aplay: '/usr/bin/aplay'" >> local_config.yaml
Windows
Using the Virtual Machine
While it is technically possible to run the Home Observing software natively on Windows, there are a host of hangups and pitfalls that come along with that, and as it is not officially supported, the Lick Observatory staff will not be able to provide technical support in this instance.
Instead the most straightforward way to run the Home Observing software on Windows is to use a Virtual Machine. Observers can create their own VM, using e.g. VMWare or VirtualBox and then following the Linux installation instructions above.
Alternatively, a premade Linux VM (with all of the requisite software preinstalled) has been created by observatory staff to provide a straightforward path to remote observing on Windows machines. See this page for instructions on obtaining the VM file.
Using WSL
Using Windows Subsystem for Linux, we can run a Linux environment inside Windows, providing an opportunity to run the remote observing software without using a virtual machine. These instructions assume the user is running Windows 11, which is required for the networking to work correctly (see below for discussion on mirrored networking)
Prerequisites
Below we will run through the installation of WSL and the remote observing software. You will also need to install the following software on your Windows host:
- RealVNC Viewer (Note that RealVNC Viewer is free. You do not need RealVNC Connect)
- OpenVPN Community
Install/configure WSL
To install/activate WSL open a Windows Powershell window (use the search bar if you can
wsl --install
This will take some time, and also installs Ubuntu as our default WSL environment.
When the installation is complete, reboot your computer and then open the newly installed Ubuntu terminal
(search
We will need to enable mirrored networking so that the Remote Observing software can test the VPN connection. To do this we need to create a WSL configuration file in your User directory. You can do this from your Ubuntu terminal by doing:
nano /mnt/c/Users/username/.wslconfig
Add the following:
[wsl2]
networkingMode=mirrored
dnsTunneling=true
save the file (Ctrl+x in nano, answer y when asked if you want to save the modified buffer) Restart WSL to apply these changes (In a Powershell window do: wsl --shutdown)
Reopen the Ubuntu terminal We now need to install Conda inside our Ubuntu instance. Miniconda installation instructions are available here: https://www.anaconda.com/docs/getting-started/miniconda/install#linux-terminal-installer
In your Ubuntu terminal you should be able to run:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
Followed by
bash ~/Miniconda3-latest-Linux-x86_64.sh
to run the installer.
Accept the EULA, hit return to accept the default install location,
and type
Installing/configuring the Remote Observing Software
Inside your Ubuntu terminal do:
git clone http://GitHub.com/bpholden/lickRemoteObserving
to grab a copy of the software from github
Move to the newly downloaded lickRemoteObserving directory:
cd lickRemoteObserving
Copy the linux_config yaml file to local_config:
cp linux_config.yaml local_config.yaml
Edit the local_config yaml file to point to the correct location of your RealVNC installation.
You can use whatever text editor you prefer (nano for the example below):
nano local_config.yaml
Replace the line
vncviewer: 'vncviewer'
with
vncviewer: '/mnt/c/Program Files/RealVNC/VNC Viewer/vncviewer.exe/'
Note that the above line assumes RealVNC Viewer is installed in C:/Program Files/RealVNC
and you will need to adjust the above line if you installed it in a different location.
save the file (Ctrl+x in nano, answer y when asked if you want to save the modified buffer)
Now we need to install the pre-requisite python packages. There is a conda environment file provided to streamline this process:
conda env create -f environment.yaml
This will install all of the requisite packages for us.
We can then activate the LRO environment:
conda activate LRO
Note: You will need to be in the LRO environment whenever you
launch the Lick Remote Observing software in future
Note that WSL has no native ability to send sounds to the speakers, so soundplay will not work.
Users can attempt to enable sounds by using e.g. PulseAudio to send sounds from WSL to a sound server running on Windows.
In this case, users will need to add a couple of extra configuration lines to their local_config yaml file (see Linux setup guide above for soundplay Linux details)
Connecting to the VPN
OpenVPN Connect currently has a bug and does not work with WSL networking in mirrored mode. Mirrored mode is necessary for the remote observing software to know the status of the VPN connection. Instead, use OpenVPN Community (https://openvpn.net/community/) Note that OpenVPN Community should be installed/run on your Windows host, not within WSL.After installing OpenVPN Community, right click on the new OpenVPN GUI icon in your system tray (click the arrow at the bottom right of your taskbar, next to the clock/network icon to expand the system tray if necessary)
Go to Import -> Import File to add your VPN file, then connect to the VPN
Starting the Remote Observing Software
Before connecting to Lick you will need to activate the VPN connection. OpenVPN configuration files and more information about home observing at Lick are available by sending a message, preferably, of the order of 48 hours in advance, to: Lick Home Observing
In the text of the request please be sure that we have enough information to identify:
- The Principal Investigator (PI) of the program.
- The observing program (e.g. 20XXA_SXXX).
- The telescope.
- The span of consecutively scheduled calendar nights of the observing run (or the calendar afternoon that has been scheduled with the SAs for a test connection).
- The number of OpenVPN configuaration files required (default 3 x Shane and 1 x Nickel).
- Include the electronic mail addresses of all observers expected to participate for the particular night, or run of consecutive nights.
Please do not request OpenVPN configuration files until a few (e.g. 3) days before they are required
After the connection is established you can launch the Remote Observing software:
~/lickRemoteObserving/start_lick_viewers shane
or
~/lickRemoteObserving/start_lick_viewers nickel
If you need to test the connection you can do:
~/lickRemoteObserving/test_connection
When you are finished for the night, close the software and be sure to disconnect from the VPN.
Contact a support astronomer if you need more information that is not included in this manual.
sa@ucolick.org Last modified: Thu Aug 14 20:51:37 PDT 2025