I have installed Jupyter Notebook on ubuntu 16.04 using pip3. I can execute jupyter notebook command. It opens and shows a list of current path directories.
The top answer here didn't quite fix the problem, although it's probably a necessary step:
sudo chown -R user:user ~/.local/share/jupyter
(user should be whoever is the logged in user running the notebook server) This changes the folder owner to the user running the server, giving it full access.
After doing this, the error message said it didn't have permission to create the checkpoint file in ~/.ipynb_checkpoints/ so I also changed ownership of that folder (which was previously root)
sudo chown -R user:user ~/.ipynb_checkpoints/
And then I was able to create and save a notebook!