# Course VM/computer setup **Only follow these instructions if you're provisioning your own native Ubuntu machine**, I've already done this for the course provided VM (download link in Day 1 homework: https://raw.githubusercontent.com/GobySoft/goby3-course/master/homework/day1-overview/day1-overview_assignment.pdf). ## Set up machine Ubuntu 20.04 LTS Desktop "Minimal installation" (`ubuntu-desktop-minimal`) (VM only) Two network adapters: one NAT and one vboxnet0 (host only). ## Core packages Required to clone ```bash sudo apt install git ``` Optional for Goby but we're using these components for the course: ```bash sudo apt install clang llvm-dev libclang-dev libyaml-cpp-dev libmysqlclient-dev cmake-curses-gui graphviz screen parallel ``` (VM only - for Guest editions and ssh access): ```bash sudo apt install gcc perl make emacs openssh-server ``` ## Virtualbox Guest Additions (VM only) Install from CD: Go to `Devices` / `Insert Guest Additions CD Image ...` ## Install Goby from source We're using the latest release as of this writing. ```bash cd ~ git clone https://github.com/GobySoft/goby3 -b 3.0.17 cd goby3 # could add to .bashrc as well export GOBY_CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_BUILD_TYPE=RelWithDebInfo" sudo ./DEPENDENCIES -g -m ./build.sh ``` ## Install MOOS-IvP ```bash sudo apt install moos-ivp-gui moos-ivp-apps libmoos-ivp ``` ```bash sudo apt-add-repository ppa:tes/lamss-moos10 sudo apt update sudo apt install moos10-ui moos10-essential ``` ## Install goby3-course ```bash cd ~ git clone https://github.com/GobySoft/goby3-course.git cd goby3-course # could add to .bashrc as well export GOBY3_COURSE_CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DGOBY_DIR=$HOME/goby3/build -DCMAKE_BUILD_TYPE=Debug -Dexport_goby_interfaces=ON" ./build.sh ``` ## Install OpenCPN ```bash sudo add-apt-repository ppa:opencpn/opencpn sudo apt-get update sudo apt-get install opencpn ``` Add charts: - Options: Charts - Chart Downloader - Add Catalog - USA - NOAA & Inland Charts - ENC -> by States -> MA - Update - Download Charts... - Download selected charts - Add Catalog - USA - NOAA & Inland Charts - ENC -> by States -> HI - Update - Download Charts... - Download selected charts - Apply - Chart Files - Prepare All ENC Chats Add connection: - Options: Connections - Add connection : Network - TCP: 127.0.0.1 Port 54000 - Options: Ships: AIS Targets - Check: Show target tracks, length (min): 20 - Check: Show names with AIS Targets at scale greater than 1: 250000 ## Install GEOV ### Install Google Earth ```bash cd /tmp wget https://dl.google.com/dl/earth/client/current/google-earth-stable_current_amd64.deb sudo apt install ./google-earth-stable*.deb ``` ### Install GEOV server components ```bash cd ~/goby3-course/scripts sudo ./geov_mirror ``` Open profile manager (<http://localhost/geov>) and add profile for realtime `trail` and `alpha` profiles. Enable moos_opgrid for both. In "operation region specified in x/y" use: - alpha: "0,0:1000,0:1000,1000:0,1000" - trail: "-2000,-2000:2000,-2000:2000,2000:-2000,2000" In datum latitude use: - alpha: 41.587923 - trail: 21.590491 In datum longitude use: - alpha: -70.712958 - trail: -159.534166 Important: click "show simulation" on both profiles. Click `download geov kml` and save file. Open in Google Earth and click "save to my places". ## VS Code ```bash cd /tmp wget 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64' -O code.deb sudo apt install ./code.deb ``` Install desired extensions ## Add paths in `~/.bashrc`: ```bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PATH=$HOME/goby3/build/bin:${PATH} PATH=$HOME/goby3/scripts:${PATH} PATH=$HOME/goby3-course/build/bin:${PATH} export $PATH ```