AutoStart Maestral Dropbox Client In Python Virtual Environment
I got an update that hosed Dropbox today. I had installed the client directly from the Dropbox site. I tried their headless install for the hell of it and that did not work either. I did not try the AUR version as I assume I would get the same result.
After a little poking around the internet I decided to use Maestral to sync my Dropbox files. It seemed to be less hands on and easier to setup than some other alternatives, like RClone. I’m sure RClone works great so give it a look over.
My Requirements and System
I want a status icon in the system tray. Maestral can be run with GUI to achieve this. I also want simple.
My system is Garuda Linux running Gnome 44.1
Creating the virtual environment
Enter these commands one at a time in the terminal to create the environment.
cd ~ mkdir maestral python3 -m venv maestral cd maestral source bin/activate
Activate puts you in the environment so now you can install Maestral. Issue the following commend:
python3 -m pip install --upgrade 'maestral[gui]'
Let’s run it to make sure it works. Back to the terminal:
source ~/maestral/bin/activate; ~/maestral/bin/maestral gui
If all went well the icon should appear in the system tray. If you don’t have any tray icons on Gnome you’ll likely want to install a Gnome extension. I use Tray Icons Reloaded. You can also install Maestral without the GUI if you prefer.
With Maestral running right click the tray icon and open preferences. Tick the “Start Maestral at logon”. This worked for me. Log off then back on and it should start up. If you want to create a menu item or create a more transparent autostart you can create a Bash script and desktop file.
Alternate autostart using Bash script and desktop file.
Create a file called maestral_start.sh, make it executable. Then just add the execute command in the file, i.e., source ~/maestral/bin/activate; ~/maestral/bin/maestral gui
Also create a file named maestral.desktop in .local/share/applications and add the following. Change paths to match where you created these files.
[Desktop Entry] Version=1.0 Name=Maestral AutoStart Comment=Sync client for DropBox. Exec=maestral_start.sh Icon=dropbox.svg Terminal=false Type=Application
Now you should be able to go into Gnome Tweaks or whatever and point to the Bash script for autostart but will also have an entry to start the app from the menu.