Hey,

So I’ve been connecting to an ftp server which I worked on with apps like GNOME Builder, and backed up the contents of with Pika Backup, connecting to it via the GNOME Files application, Nautilus, from the Network tab.

Recently, apps stopped being able to read files I opened with the file picker hosted on the ftp server, and after a lot of debugging I realised that was because Nautilus had for some reason switched from mounting the files under /run/user/1000/gvfs/ftp_address to the more abstract path ftp://ftp_address, under the virtual directory computer:///. Now apps can’t read those files as they are not mounted under an actual path.

I couldn’t find a way in Nautilus, FileZilla, or Dolphin to mount the ftp server files under a specified path /mnt/ftp_username, or even to put it back to the unwieldy but still working path it was under before, using a GUI.

I was recommended by an LLM assistant to use the curlftpfs command, but even with several variations of a command such as the following

sudo curlftpfs -v -o "uid=$UID,gid=$GID" ftp://username:correct%20password@ftp_address /mnt/ftp_username

it always gave the same error

Error setting curl: 

The curl command worked by itself, just not with curlftpfs, but with just curl I can’t mount it.

I’m not sure what else to try, could I have some advice please?

Edit: it seems the error message was a bug with a combination of using curlftpfs and curl v8.9.1

A commenter also suggested using rclone or gio, as apparently curlftpfs is unmaintained and that’s why it’s not working.

  • eldavi@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 hours ago

    in your shoes: i would switch to different connection method to see if it’s curl that’s causing your problem. ssh w sshfs would be the easiest switch since it doesn’t required you to modify the ftp server, other than to install the ssh server.

    if it’s connects, then you know that curl is your culprit and you can further narrow down the problem; or just stick w ssh.

    if it doesn’t connect, then you know that curl is probably okay and that your problem is elsewhere.

    • JackGreenEarth@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 hours ago

      Sorry, I should have mentioned in the post: curl worked by itself, just not with curlftpfs. Someone else suggested using rclone, so I’m going to try that

    • JackGreenEarth@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 hours ago
      aarvi@fedora:~$ gio mount ftp://jack101:correct%20password@oncilla.mythic-beasts.com /mnt/jack101
      gio: file:///mnt/jack101: volume doesn’t implement mount
      gio: ftp://jack101@oncilla.mythic-beasts.com/: Location is already mounted
      

      I think it is already mounted, but under the annoying computer:/// virtual directory, not where I want it, and what does it mean by ‘volume doesn’t implement mount’?

      • 2xsaiko@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        9 hours ago

        Is there really nothing in /run/user/1000/gvfs? Try gio mount -l. Maybe unmount and remount.

        It’s unlikely that it doesn’t actually mount, from the man page:

        Mounting refers to the traditional concept of arranging multiple file systems and devices in a single tree, rooted at /.

        The first error is because you have a separate argument at the end which is a local path. gio mount takes a list of locations to mount and not a mount point.

        • JackGreenEarth@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 hours ago

          Yeah, I tried without the mount point too, but I think that’s just the same as what Nautilus does. There is nothing under /run/user/1000/gvfs

  • NegativeLookBehind@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    12 hours ago

    Just as a test, don’t sudo, change to root and try it. Or, don’t sudo or change to root at all, and see if that will work.

  • a14o@feddit.org
    link
    fedilink
    arrow-up
    2
    ·
    12 hours ago

    Error setting curl:

    That doesn’t seem like a complete error message to me. Is there any more information? Maybe with the -d (debug) flag?

        • JackGreenEarth@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          12 hours ago

          Hmm, that also says it should have been fixed last year

          This bug is fixed in current master, set to be released in curl 8.10.0 on September 11, 2024.

          • a14o@feddit.org
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            11 hours ago

            Fixed in curl, but not in a curlftpfs, apparently. Look at the comments on the accepted answer.

            • JackGreenEarth@lemm.eeOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 hours ago

              Idk how to downgrade it, it doesn’t seem to be working

              aarvi@fedora:~$ sudo dnf dg curl-8.8.0
              Updating and loading repositories:
              Repositories loaded.
              Failed to resolve the transaction:
              No match for argument: curl-8.8.0
              You can try to add to command line:
                --skip-unavailable to skip unavailable packages
              aarvi@fedora:~$ 
              
              • a14o@feddit.org
                link
                fedilink
                arrow-up
                2
                ·
                10 hours ago

                I don’t think downgrading the curl library is promising here. curlftpfs seems to be unmaintained. I recommend looking for alternatives or alternative workflows.