Dropbox with a Custom Sync Directory

How to install Dropbox on an Ubuntu-based distro and configure it to sync to a non-default directory — including the nautilus-dropbox CLI workaround.

Beginner Verified Working Updated 4 min read Tested on Linux Mint 22.3 Cinnamon (Ubuntu 24.04 Noble base); also tested on Zorin OS 18.1 Pro Hardware Lenovo ThinkPad L14 Gen 2 (Intel i5-1135G7, 16GB RAM, Intel Iris Xe, 1366x768)

Overview

Dropbox on Linux has no full GUI installer — you install a package (or a headless daemon) from the terminal, and by default it syncs to ~/Dropbox. This guide covers installing Dropbox with file-manager integration on an Ubuntu-based distro, then relocating the sync folder to a partition of your choice using the move-and-symlink method, plus the CLI control script and a systemd service for the headless setup.

Filesystem note: Dropbox requires the sync folder to live on an ext4 partition. The partition setup used throughout this site is ext4, so this is only a concern if your target partition is NTFS or FAT32.


Prerequisites

  • Any Ubuntu 24.04-based distro
  • Internet connection
  • A working web browser (Firefox, Chrome, or Edge)
  • The target directory should be on a partition that is mounted whenever Dropbox starts. The tested setup used an internal partition; removable external drives are a riskier choice for always-on sync.
  • Verify partition ownership: If your target directory is on a separate partition, check that your user owns it. A root-owned partition (common with fresh internal drives) will silently prevent Dropbox from syncing. Run lsblk -f to list partitions, then sudo chown -R $USER:$USER /media/yourusername/partitionname if needed.
  • Critical: Add the partition to /etc/fstab for auto-mount at boot. Without this, the partition stays unmounted after every restart — Dropbox shows “Can’t sync” or “Folder missing” because the symlink target doesn’t exist until you manually click the drive in Nemo. See Rename Drive Labels - Make Partitions Auto-Mount.

The Problem (Windows User Perspective)

On Windows, you download Dropbox, install it, and choose where to put your Dropbox folder during setup. On Linux, there’s no official GUI installer — Dropbox provides a “headless” daemon that you install from the terminal. By default, it creates a Dropbox folder in your home directory (~/Dropbox). If you want your files somewhere else (like a separate partition), you need to set that up before the first run.


Solution

This is the simplest approach — one command gives you Dropbox with full file manager integration. Choose the package that matches your desktop environment:

For GNOME/Nautilus (Ubuntu, Zorin OS):

sudo apt update
sudo apt install nautilus-dropbox -y

For Cinnamon/Nemo (Linux Mint):

sudo apt update
sudo apt install nemo-dropbox -y

This installs:

  • The Dropbox daemon
  • File manager integration (sync status icons on files)
  • System tray icon
  • Right-click Dropbox menu in Files

Relaunch the file manager:

# Nautilus (GNOME/Zorin)
nautilus -q
# Nemo (Cinnamon/Mint)
nemo -q

Dropbox will appear in your system tray. Sign in and it will sync to ~/Dropbox by default.

To use a custom directory with this method, use the symlink approach after initial sync:

Before moving the folder: If your target location is on a separate partition, verify your user owns it first:

sudo chown -R $USER:$USER /media/mohsin/bigd
# Stop Dropbox first
dropbox stop
# Move the folder to your desired location
mv ~/Dropbox /media/mohsin/bigd/Dropbox
# Create a symlink so Dropbox thinks the folder is still in ~/
ln -s /media/mohsin/bigd/Dropbox ~/Dropbox
# Restart
dropbox start

Enable autostart so Dropbox starts when you log in:

dropbox autostart y

Option B: Headless Install with Custom Path (Advanced)

This method installs the bare Dropbox daemon without any file-manager integration, then links your account from the terminal. The daemon always creates ~/Dropbox in your home directory on first run — there is no supported flag or environment variable to change that — so the relocation to a custom path uses the same move-and-symlink method as Option A.

Step 1 — Download and extract the Dropbox daemon

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

This creates a .dropbox-dist folder in your home directory containing the daemon.

~/.dropbox-dist/dropboxd

The daemon needs to be linked to your Dropbox account. It prints a URL like:

To link this computer to a Dropbox account, visit the following url:
https://www.dropbox.com/cli_link_nonce?nonce=xxxxxxxx

Copy the URL and paste it in your browser. Log into your Dropbox account. The daemon will start syncing automatically — to ~/Dropbox, which it creates if it does not exist.

If the URL doesn’t appear in the terminal output, open a new terminal and run:

# Download the CLI control script first
wget -O ~/dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py"
chmod +x ~/dropbox.py

# Get the linking URL
~/dropbox.py status

Note: The linking URL (nonce) expires quickly. Don’t run status again before visiting the URL — each call generates a new nonce that invalidates the previous one.

Step 3 — Relocate the sync folder

Once your account is linked and the initial sync has started, stop the daemon and use the move-and-symlink method from Option A:

dropbox stop
mv ~/Dropbox /media/mohsin/bigd/Dropbox
ln -s /media/mohsin/bigd/Dropbox ~/Dropbox
dropbox start

Dropbox follows the symlink, so your files live on the target partition while the daemon still believes everything is in ~/Dropbox.

Step 4 — Verify sync is working

~/dropbox.py status
# Should show "Syncing..." or "Up to date"

ls /media/mohsin/bigd/Dropbox
# Your Dropbox files should appear here

Step 5 — Set up the CLI shortcut

sudo ln -s ~/dropbox.py /usr/local/bin/dropbox

Now you can control Dropbox from anywhere:

dropbox start       # Start the daemon
dropbox stop        # Stop the daemon
dropbox status      # Check sync status

Step 6 — Auto-start on boot (Optional)

Create a systemd service:

sudo nano /etc/systemd/system/dropbox.service

Paste:

[Unit]
Description=Dropbox Daemon
After=network.target

[Service]
User=mohsin
ExecStart=/home/mohsin/.dropbox-dist/dropboxd
Restart=on-failure

[Install]
WantedBy=multi-user.target

Replace every occurrence of mohsin with your own username (check with whoami). This affects both the User= line and the path inside ExecStart=. No special path configuration is needed — the symlink from Step 3 takes care of the location.

Enable it:

sudo systemctl daemon-reload
sudo systemctl enable dropbox
sudo systemctl start dropbox

What Didn’t Work (and Why)

Approach TriedWhy It Failed
Moving an existing large Dropbox folder to a new locationTakes extremely long for large folders — set the path before first sync instead
Clicking the terminal URL to open browserSome terminal emulators don’t support click-to-open URLs by default — copy/paste the URL into your browser manually
Running dropbox status before downloading dropbox.pyThe dropbox command isn’t available until you install nautilus-dropbox or download dropbox.py
Running ~/dropbox.py status multiple times to get the linking URLEach call generates a new nonce that invalidates the previous one — visit the URL immediately
Trying to use a removable external USB drive for Dropbox syncIn this workflow the drive may not be mounted when Dropbox starts, so an always-available location is the safer default
Having a residual Dropbox folder on a different partition from the symlink targetDropbox may detect it first and use the wrong location — run sudo rm -rf Dropbox on any partition that should NOT host your Dropbox folder, then verify with dropbox status
Setting Dropbox to sync on a root-owned partition without chown firstDropbox runs as your user and cannot write files to a root-owned directory — the folder appears empty after linking. Run sudo chown -R $USER:$USER /media/yourusername/partitionname before starting Dropbox

Verification

# Check Dropbox is running
dropbox status
# Expected: "Up to date" or "Syncing..."

# Check files are in the right location
ls /media/mohsin/bigd/Dropbox

# Check Dropbox config (if using headless install)
cat ~/.dropbox/info.json
# Should show your chosen path

Troubleshooting

SymptomCauseFix
Command 'dropbox' not foundCLI script not installedRun sudo apt install nautilus-dropbox or download dropbox.py
Daemon starts but no linking URL appearsURL may have opened in browser automaticallyCheck your browser for an open Dropbox tab
info.json: No such file or directoryAccount not linked yetRe-run daemon and visit the linking URL
Flatpak repo error in terminal outputUnrelated to Dropbox — a separate Flatpak issueIgnore it, doesn’t affect Dropbox
/media/mohsin/bigd/Dropbox folder is empty after linkingSync hasn’t started or the symlink points to the wrong placeCheck ~/dropbox.py status and verify the symlink with ls -la ~/Dropbox

Complete Removal

# Stop Dropbox
dropbox stop

# Remove the daemon
rm -rf ~/.dropbox-dist

# Remove Dropbox config
rm -rf ~/.dropbox

# Remove Nautilus integration (if installed)
sudo apt remove nautilus-dropbox

# Remove the sync folder (CAUTION: deletes all local Dropbox files)
# rm -rf /media/mohsin/bigd/Dropbox

# Remove CLI shortcut
sudo rm /usr/local/bin/dropbox
rm ~/dropbox.py

# Remove systemd service (if created)
sudo systemctl stop dropbox
sudo systemctl disable dropbox
sudo rm /etc/systemd/system/dropbox.service
sudo systemctl daemon-reload

Discussion