Linux client GUI

If I could get some Linux guru’s interested in building a Linux app to work like the windows version does be great.

This is something we would like to offer in the future, but there are several other things ahead of it, in terms of priority.

As a side note I’ve found pCloud is a great alternative for those with Linux nessesitys
It works well on Xubuntu,Ubuntu, Linux mint,x32 & x64 bit, Windows, and iOS devices that I have.
Good Gui desktop folder intergration,
It’s easy to install, set up and works better than dropBox in MOA.

I really understand that a complete GUI interface can be challenging and isn’t a priority for you. But I think that a simple nautilus integration or a simple recipes topic with some helpers and scripts to make the most common operations can be really useful!

Actually the existing agent function naming is really confusing and not so clear, and can estrange young linux users!

Linux peoples are geeks and will love modifying some basic scripts (and better than this they will share their modifications) adding more functionalities!

I too am slowly moving from Microsoft to Linux. The confusing part for me here is that OSX is basically Linux, so I don’t understand how a regular Linux GUI Client can be so hard. The advertising also caught me and I think is rather misleading of oDrive. You have a good product but as I see it you are liiting its use by not fully supporting Linux and being too costly. I won’t go Premium until full Linux support is there and the cost structure is more reasonable.

2 Likes

I have a temporary fix for Nautilus users.

Install nautilus-actions - sudo apt-get install nautilus-actions

Open it, make an action called Sync With ODrive (or whatever you want, this is the name that will appear in the context menu). Under Command, in the path (clear everything first), type "$HOME/.odrive-agent/bin/odrive" sync %f"

Now, whenever you right click > Nautlius Actions > Sync With Odrive, it will sync that file/folder. If that folder is not in the odrive directory, nothing will happen.

3 Likes

Yeah when I heard that odrive supported Linux, I got happy for a moment.

Command-line actions is not something 99% of the population will ever be able to get things done. This is exactly why Linux is as successful of an operating system for the general consumer market since… forever. Not trying to step on toes with Linux though, I too wish I could migrate away from Windows in some area, but right now it has everything I could ever wish for and need to get things done. I don’t have the time to mentally map out a visualization of what is “probably going on in the background” I need a GUI that interacts with my actions.

Until then, I’ll just tell people that ask… that odrive does not support Linux.

Hi devanshrtrivedi. Until odrive is fully Linux usable with a GUI I am looking at alterntives. overGrive so far looks like a good option and seems to do the job, and does not cost an arm and a leg, or tow.

What are your reservations about overGrive. I would like to hear before I possibly pay the $5 and regret it.

I agree that the biggest problem is not that it is a CLI -it is that there is no recursion and that you have to sync every folder/ file individually. For the user, this is not much better than just downloading it from a browser and then uploading it after editing.

With the current set of commands, the whole point of progressing sync is lost in Linux.

I am sure the community would help if you just got a project started.

Hi @erik,
I forked the official CLI and added recursive sync here, if you are interested:

1 Like

Fantastic, Thank you Tony!

At home, I exclusively use Linux, and oDrive is a tremendous addition to my workflow.

I look forward to the GUI client. Not that CLI is terrible, but the ability to right-click a .Cloudf or .Cloud file and sync/unsync files is wonderful. I’ve experimented with the Windows client in WINE, gotten it running, but it isn’t much help when I can’t use Windows Explorer. I’m exploring (ha) more options on how to integrate oDrive in WINE, until you guys make a linux client.

Thanks ya’ll!

Matt

2 Likes

I thought this might help others.

If you use ODrive on Linux, there is no GUI.

Adding this to your scripts folder for nautilus or caja, will give you helpful actions from the right-click context menu of your file manager

After you install, authenticate, and mount… you can do the rest from here.
You can even select mutliple files… to sync/unsync

Fairly basic, but gets the job done.

Thanks @sav74sac! I moved your post to this thread for better visibility.

The nice thing about linux is that you can do nifty thing like make a gui interface for a shell command like odrive!
Using yad (in the repositories), I’ve made a front end for odrive cli. I can start / stop the agent, backup / remove backup, sync / unsync, refresh, etc… The gui has a row of buttons to do each task. Clicking on sync, brings up a file dialog which is pointed to my mount folder and only allows me to select a file ending in .cloudf. Once the .couldf file is selected, the gui parses it with the odrive sync command and presto, my folder is synced or syncing.
Here’s a link to a picture of the gui. I’ve only spent a couple of days on it, so improvements are coming. If anyone is interested, I’ll share the shell script.
https://drive.google.com/file/d/1lm8ABZyORS5a2CY1x9c6PLyoRhRKn5yV/view?usp=sharing

1 Like

Thanks for the contribution @papaquals!

No… thank you and the team! I’ve looked at others, but I find that odrive works best for me.

1 Like

Looks like I issued my thanks a bit too soon. When the unsync button stopped working in my gui app, I discovered that unsyncing a folder was only a premium feature. I now use SME which already has a linux gui and the free version isn’t crippled.

Hi @papaquals,
I’m sorry to hear that odrive doesn’t meet your needs, at this time.

And odrive archlinux dont fuction, fix please… we need a Gui on linux :frowning:

I offer another method to add odrive sync engine comands to to the linux file manager (Dolphin / Nautilus).

The way I did this was to:

1 - create shell scripts that will do a odrive sync task. I created one (sync_odrive_file.sh) that does a sync command on a .cloudf or .cloud file

#!/bin/bash
eval odrive sync '${1}'
exit $?

save sync_odrive_file.sh somewhere and make it executable

I also created one (sync_odrive_folder.sh) that syncs all the files in the folder 1 level below it

#!/bin/bash
6>&1;output=“go”; while [ “$output” ]; do output=$(find “${1}” -maxdepth 1 -name “*.cloud” -exec python “$HOME/.odrive-agent/bin/odrive.py” sync “{}” ;|tee /dev/fd/6); done
exit $?

Save sync_odrive_folder.sh somewhere and make it executable
2 - create .desktop short cut that calls those shell script. Create them here: ~/.local/share/applications/

sync_odrive_file.sh-2.desktop

[Desktop Entry]
Exec=/usr/local/bin/sync_odrive_file.sh
Name=sync odrive place holder file
NoDisplay=true
Type=Application

sync_odrive_folder.sh.desktop

[Desktop Entry]
Exec=/usr/local/bin/sync_odrive_folder.sh
Name=sync odrive folder
NoDisplay=true
Type=Application

3 - associate the desktop short cut with the mime type of the odrive files in question. To do this Edit
~/.local/share/applications/mimeapps.list and in the [Added Associations] section add these lines to associate our new .desktop launcher short cuts with specific file types.

application/x-zerosize=sync_odrive_file.sh-2.desktop
inode/directory=sync_odrive_folder.sh.desktop

The mime type of the .cloudf or .cloud files are application/x-zerosize
The mime type of folders is inode/directory.

Now the file explorer app should have Open With > sync odrive folder when you right a click a folder
And it will have Open With > sync odrive place holder file when you right click on a .cloudf or .cloud file

Postscript: I found that on my kubuntu install that having the mimeapps.list run sync_odrive_folder.sh for inode/directory made it so that my system would not open folders when selected in Computer > Places. It would run the sync_odrive_folder.sh script instead.
A modified version of sync_odrive_folder.sh is needed to prevent that.:

#!/bin/bash
    
 # test if the folder in in your odrive mount point path
if [[ "${1}" =~ "<your odrive mount point path>" ]]; then

 # if it is run the sync job

   6>&1;output="go"; while [ "$output" ]; do output=$(find "${1}" -maxdepth 1 -name "*.cloud" -exec python "$HOME/.odrive-agent/bin/odrive.py" sync "{}" \;|tee /dev/fd/6); done  

else
  # if it is not open the folder in dolphin
   /usr/bin/dolphin ${1}
fi
exit $?
1 Like