GNOME Bugzilla – Bug 550232
Opening GnuCash file in GVFS/network share folder doesn't work
Last modified: 2018-06-29 22:09:30 UTC
Please describe the problem: GnuCash failed to open the file and says something like: Can't parse the URL /home/ceefour/.gnucash/data/sftp:,,blabla,blabla.gnucash It seems to be an escaping problem, where GnuCash fails to replace ":" with a proper replacement character (I guess ",") See also attached screenshot. Steps to reproduce: 1. Put a GnuCash file in another machine 2. Share that folder using Samba or SFTP (just having openssh-server will do) 3. Connect to that network share (Samba/SFTP) 4. Launch GnuCash 5. Open that GnuCash file in the network share Actual results: GnuCash failed to open the file and says something like: Can't parse the URL /home/ceefour/.gnucash/data/sftp:,,blabla,blabla.gnucash Expected results: Should just open the file correctly. There is nothing wrong with GVFS. If the exact file is copied to local disk it's also fine. Does this happen every time? Yes. Also confirmed by 'datakid' in Ubuntu Launchpad bugtracker. Other information: Bug report at Launchpad: https://bugs.launchpad.net/bugs/231612
Created attachment 117771 [details] Screenshot showing actual error message. Screenshot showing actual error message.
Gnucash doesn't support or use GVFS.
Does that mean this bug will never be fixed?
Changing component
I think I fixed this with 18765. Would someone please test this on 2.3.11 or later?
It's not fixed yet in 2.3.14. That is, I tried gnucash sftp://files.kobaltwit.lan/testfile.gnucash And got 1. a pop-up asking me for a username and password for this connection 2. a pop-up asking me to unlock the gnome-keyring 3. a parse error for sftp://<username-I-entered>:<passwd-I-entered>@files.kobaltwit.lan/testfile.gnucash This is more or less what I expected, considering I re-wrote the uri parsing code. The problem here is that sftp is an unknown protocol for gnucash (as would smb or cifs be), but it will try to load a backend for it anyway. This obviously won't work. I think I could fix at least the uri parsing part, though I can't guarantee that would be sufficient to make such exotic uri's work.
(In reply to comment #5) > I think I fixed this with 18765. Would someone please test this on 2.3.11 or > later? For the record, what got fixed in 18765 is that gnucash no longer treats unknown protocols as if a relative url was passed. So gnucash will no longer prepend $HOME/.gnucash/data whenever something like sftp://... is passed as filename.
(In reply to comment #6) > I think I could fix at least the uri parsing part, though I can't guarantee > that would be sufficient to make such exotic uri's work. I looked into this more closely. It's as Josh says in comment 2. This won't work because gnucash doesn't use/support GVFS (Gnome Virtual File System) or GIO. I did fix a small bug that improves the error message, but that's about it for now. (In reply to comment #3) > Does that mean this bug will never be fixed? Not necessarily, but so far no one appears to be/have been working on it. As things stand now, you have two options for working with files on remote systems: 1. Either mount the filesystem locally (possible for cifs, nfs,...). There are still bugs in this approach as well (for example bug #352491 and bug #412707). 2. Or create a connection to the remote filesystem via for example Nautilus and then from within GnuCash open your datafile via $HOME/.gvfs/<service name>/<path to your file>. The latter works due to how GIO/GVFS works. As long as a GIO accessed service is open (for example by opening a connection to the server via Nautilus), you can access it locally via $HOME/.gvfs/<service name>/... So you should keep Nautilus open the whole time while working with the file in GnuCash.
GnuCash bug tracking has moved to a new Bugzilla host. The new URL for this bug is https://bugs.gnucash.org/show_bug.cgi?id=550232. Please continue processing the bug there and please update any external references or bookmarks.