How To Set Up a Plex Media Server on Ubuntu 18.04

I did a minimum install for Ubuntu.

Install chrome from the web

Install OpenSSH for convenience

sudo apt install openssh-sever
sudo systemctl status ssh

install atomic toolkit for easy software setup

sudo apt-get install git
sudo git clone /opt/AtoMiC-ToolKit
cd /opt/AtoMiC-ToolKit
sudo bash
sudo atk

Install sonarr
Transfer settings from old sonarr

  1. Re-install Sonarr
  2. Run Sonarr once to get the AppData directory location
  3. Stop Sonarr
  4. Copy NZBDrone Config Folder to new Install (/home/”username”/.config/NZBDrone)
  5. Extract the backup zip file & restore the files extracted from the zip
  6. Start Sonarr once you have setup the data files
  7. As long as the paths are the same, everything will pickup where it left off

Install Watcher
Create Backup Old Computer
Transfer to new computer
Install Backup New Computer

Install Sabnzb+
Transfer settings
copy over /usr/share/sabnzbdplus/sabnzbdplus.ini
copy over /usr/share/sabnzbdplus/admin/history1.db
copy over /usr/share/sabnzbdplus/sabnzbd/postprocessing

sudo systemctl restart sabnzbdplus.service

Install Plex
Plex install through ATC fails so download from website
copy data files from /var/lib/plexmediaserver/Library/Application Support/Plex Media Server to new folder
ensure permissions are correct for new plexserver
sudo chown plex:plex

Mount external drive with content to /media/Videos

Plex Running on Ubuntu / Linux / Lubuntu Doesn’t Display My External Drive

Install OpenVPN


Setup Simplify 3D to work with your Palette + or Palette 2

In this example, I will show how to setup Simplify3D slicing software to produce g-code that can be digested by the Mosaic Manufacturing software to produce dissolvable support prints. A word of warning: this is a very tricky printing technique. You will likely fail ten prints before you get it working correctly, but once you get it dialed in, save your factory file exactly as you had it and use that file for future prints. Don’t try to get all these settings to work with the “Auto-Configure” that’s built into S3D.

The rewards are fantastic for those who are brave enough. In my experience, you don’t need to dissolve the support at all. It will easily peel away from the PLA since PVA and PLA don’t like to stick together much. Support removal time can be 10 seconds for simple models.

If this post helps you then PLEASE support my feature request on the Simplify3D forum. It directly relates to the improvement of these features and so should be helpful for you also!


You will need to create a Process file with at least two extruders. One for each mater that you will be working with.

I find it’s convenient to rename the extruder to include the material name to help keep things organized. Remember the Mosaic software will convert these extruders back into a single extruder for your printer.

On the layer tab, this is where you start setting up the materials.

Next is the additions tab. I recommend that you use only a single material for additions at first. If you select All Extruders for the skirt, then you will have extra material changes for no benefit. Prime Pillar will be generated by Mosaic so leave that turned off.

On the Infill tab, you are selecting what material will make up the inside of your part so that should be the same as the Layers tab.

Finally the support tab, which is the critical tab. The support extruder should be your inexpensive material, and the PVA goes on the dense support extruder.

That’s all you need to do to get it working but here are my tips below.

I don’t want any separation between my part and my support material, so I change all those parameters to 0 on the support tab.

PVA doesn’t like to stick to PLA which is the entire point of this process. However, that makes it a little complicated to print the two together. This is especially true for the first layers when you are printing the PVA onto the thin PLA support structures. I highly recommend increasing the Extrusion width by a significant factor. I double my extrusions, but your printer will likely be different.  For the PVA extruder change the Extrusion Width to Manual and set a high value. This ensures that the PVA smashes down into the layer before it which increases the chances of adhesion.

Another thing which will help with adhesion is to print the PVA super slowly. 50% of your other support prints. There’s no way to do this easily in the software so you might have to come up with workarounds. I use OctoPi’s interface to manually adjust the speed during the print and then turn it back up.

PLEASE! Support the feature request post which directly relates to this improvement.

Happy crab hopes you enjoy your dense support structures!


Adding a network share to Ubuntu 18 for Windows 10 access

I’ve previously written some on this topic but I had to go through the process again on a clean install of the latest Ubuntu. Using the build in tools that came with Ubuntu 18 got me close but not all the way to where I wanted to be. I didn’t want other users on my network to have to log in, and I was unable to edit files on the shared drive. The workflow below worked to get everything working from my Windows 10 machine.

At first I installed the samba GUI from the software GUI but I got errors about not having the proper users when I tried to actually use it so I would recommend doing it form the terminal.

sudo apt update
sudo apt upgrade
sudo apt install system-config-samba

For some reason this is the name of samba — just go with it.

sudo system-config-samba

To launch the GUI (this probably will not work on your first try unless they fix the software) To get this to work I have to create the config file that is missing.

sudo touch /etc/libuser.conf

Then start the GUI and get much better control over adding network shares.

sudo system-config-samba

Lightweight xfce4 Setup for AWS t2.nano with Ubuntu image and remote tightVNC access

A good place to start reading and understanding what is needed for a GUI

My configuration is below for a minimum system that I consider to be a useable starting point.

sudo apt install xfce4 xfce4-goodies
sudo apt install tightvncserver
tightvncserver :1
sudo apt-get install gnome-icon-theme-full tango-icon-theme
sudo apt install gksu
sudo apt install synaptic
sudo apt install chromium-browser
sudo apt install gedit

open gedit and edit the file /usr/share/applications
change Exec= to “Exec=gksudo synaptic”

Total drive size is 2.144gb when run on the AWS Ubuntu image

Create a partition for the swap so applications have access to more RAM

sudo dd if=/dev/zero of=/mnt/swap.0 bs=1024 count=1048576
sudo mkswap /mnt/swap.0

Add to fstab to automatically mount the partition

sudo su 
echo "/mnt/swap.0 swap swap defaults 0 0" >> /etc/fstab
swapon /mnt/swap.0

Check your work

sudo swapon -s

How to setup lxde tightVNCserver on AWS t2.nano

This will install the most basic desktop environment without any browser or package managers etc. It’s very limited and in my opinion not worth the extra configuration to get it up and running.

# Make sure Debian is the latest and greatest

sudo apt update && sudo apt upgrade

# Install X, LXDE, VPN programs

sudo apt install xorg lxde-core tightvncserver

# Start VNC to create config file and setup your password

tightvncserver :1

# To stop VNC sever if needed

tightvncserver -kill :1

I did not need to follow these steps and tight VNC Server was working

# Edit config file to start session with LXDE: 
nano ~/.vnc/xstartup 

# Add this at the bottom of the file: 
lxterminal & 
/usr/bin/lxsession -s LXDE &



Plex Running on Ubuntu / Linux / Lubuntu Doesn’t Display My External Drive

When moving all my files onto an external drive Plex was able to display the drive but was unable to read the content of the folder.

Changing group ownership and permissions did not solve this problem.
The drive was formatted with NTFS before being installing it in a housing and connected to the Linux machine.

The problem is caused by the default mounting parameters when first connecting the drive. In order to fix it you will need to manually setup the drive by editing the fstab file. Use this command

sudo blkid

This will get you the drive UUID of the drive that you need. Look at the labels until one of them looks familiar. You can also use the built in disk utility to get this number. System > Disks > “Gear Icon” > Edit Mount Options but it’s harder than just doing it in the terminal.

Create a folder to use as the path for your drive. I used /media/Videos since that’s what I would be storing.

sudo mkdir /media/Videos

Open the fstab file and add this line to the end using the UUID that you just found.

sudo gedit /etc/fstab
UUID=E12345A1234C1A12345 /media/Videos ntfs-3g defaults,permissions,auto 0 1

It’s easiest just to restart your computer to get these changes applied. You could also unmount the drive and then run the mount command which will pick up the new settings from the fstab file. If you have trouble with this just reboot

sudo mount /media/Videos

Without doing the next couple of steps I didn’t consistently have problems but I did have problems with permissions and file transfer being denied

cd /etc/samba
sudo gedit smb.conf

Scroll to the bottom and add into the section that was just created with the name of your share [videos] in this case

force user = yourUserName

And then restart Samba

sudo restart smbd

This other post helped me get up and running if you want another take on the same process.

Setting up OctoPi (OctoPrint) with Email Notifier yagmail

I found a few guides to this on the internet but none of them worked for me out of the box using the latest (as of today) Octopi image and a Raspberry Pi 3. What I did eventually get to work was the following

  1. Login to your raspberrypi using SSH. I use Bitvise SSH for all my SSH needs.
  2. Run a few commands to make sure your octoprint is setup correctly. The explanation for the lines is as follows. Activate octoprint environment -> install yagmail (probably already installed) -> install keyrings.alt which is needed by yagmail -> activate python -> run the yagmail registration command
    source ~/oprint/bin/activate
    pip install yagmail
    pip install keyrings.alt
    import yagmail
    yagmail.register('', 'yourpassword')
  3. While you’re here do a test run to make sure you can connect (this will only work for Gmail SMTP servers. It’s possible to get it working with other servers but you would have to modify some source code to get the ports right. Much easier to just use Gmail)

    You should get back

    <yagmail.yagmail.SMTP instance at ...>
  4. Install “Email Notifier” through the OctoPrint web interface if you haven’t already.
  5. Restart your RaspberryPi – This may seem unnecessary but I highly recommend it. I ran into lots of problems with emails not sending that were fixed by a simple reboot.

How to move OcotoPi (OctoPrint on Raspberry Pi 3+) to a new Network

If you’re renaming your network or taking your OctoPi & Printer on the road you may need to change the name and credentials of the Wifi network to work. It’s not hard to do but you will need to connect to the Raspberry Pi console directly. This is when having the Raspberry PI LCD screen comes in really handy.

Once you’re looking at the Raspberry Pi console the network setup file is in

sudo nano /boot/octopi-network.txt

You will recognize this file from initial setup. Just change the name and password to the new network and reboot.