3

I wish to inspect and edit the binary files in ~/.local/share/gvfs-metadata/. I would like to know what hidden information these binary files contain because they seem to divert my GTK applications (such as Evince) from default behavior. What tool can I use to inspect and edit these binary files?

By blind experimentation, I have discovered that if I simply delete all the contents of ~/.local/share/gvfs-metadata/, a GTK application like Evince will resume default behavior, which is nice; but, obviously, this is not the right way to do it. So, what is the right way?

I see lots of commands like gvfs-cat(1) and gvfs-mime(1), but cannot figure out what any of these commands have to do with inspecting or editing the aforementioned hidden information. Even if I could just get a human-readable dump (in XML, or whatever) of the binary files, I'd at least know what question to ask next; but the files just sit there, imperturbable.

Further information: my $XDG_DATA_DIRS seems to be set to /usr/share/xfce4:/usr/local/share/:/usr/share/:/usr/share. My OS distribution is probably not relevant, but if it is: I run Debian jessie 8.

thb
  • 1,125
  • 12
  • 21
  • I finally can comment! Did you try the given program? – WGRM Mar 06 '20 at 19:35
  • What I want to know is what the hell this data is doing in `.local/share` , which just like `/usr/share` and `/usr/local/share` is supposed to hold static data -- or mostly static at least. I have/had some scripts that track the contents of `.local` to record installs of software there, and the scripts get confused by changes beyond my control :( . Would anything bad happen if I just move the `gvfs-metadata` subdirectory and replace it with a symlink ? – q.undertow Aug 03 '23 at 00:13

1 Answers1

2

I've been wondering the same question, ever since. So i gave it another try just yet and look at this, i found a source:

https://github.com/minime2k10/GVFS-Metadata

I didn't check it nor did i try it. This might be the chance for you, to report to me. :)

Anyway. If you just wanna know what it stored, you will have to call the specific command for a given file. Since all information are file related, you dont call for all entries in the db. You call for the attributes stored for a given file:

gio info --attributes=metadata:: /path/to/file

or if you want to edit them

gio set --type=string /path/to/file metadata::WHICH "Here a string value"

while you can get a list via

gio info --query-writable /path/to/file

Also have a look at "GVFS metadata: Shellbags for Linux" in duck.com or google.com.

I hope you have some ideas, now.

WGRM
  • 787
  • 3
  • 14