Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How to mount gvfs google-drive without OTA
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Massimo B.
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1537
Location: Germany

PostPosted: Fri Jun 23, 2017 8:07 am    Post subject: How to mount gvfs google-drive without OTA Reply with quote

Hi.

I created all Google stuff for Evolution without gnome-online-accounts. Though I've seen that gnome-online-accounts provides more, like some gvfs or something mount to Google Drive. Do I need gnome-online-accounts for that or does it also work without?

How do I mount a google drive via gvfs? This doesn't work:
Code:
# gvfs-mount google-drive://mo@gmail.com
Error mounting location: volume doesn't implement mount


net-libs/gnome-online-accounts does not have a standalone and control-center has another 31 packages and 26.052 KiB of dependencies.. Biggest dep of gnome-control-center is gnome-session and I can't avoid that, pulling all like settings-daemon, accountsservice alsa-plugins,pulseaudio,speex and a huge lot more.
I don't have a Gnome Desktop but Xfce. I even have some gnome stuff installed like libgnome and gnome-desktop, but this is not sufficient for the control-center. I gave x11-misc/gigolo a try, but gigolo doesn't even provide any type like "google", only Davfs, ftp, ssh etc.

Current gnome-base/gvfs is installed like this:
Code:
Installed versions:  1.30.4^t(14:04:56 06.04.2017)(cdda fuse gnome-online-accounts google gtk http mtp nfs policykit samba udev udisks -afp -archive -bluray -gnome-keyring -gphoto2 -ios -systemd -test -zeroconf)

_________________
ppc:PowerBook5,8 15"(1440)-G4/1.67,2G|amd64:HP EliteBook 8560w,i7-2620M,16G|amd64:Acer Z5610 (Core2QuadQ8200),8G|amd64-prefix:OpenSuse
Lila-Theme
Back to top
View user's profile Send private message
EmilyB
n00b
n00b


Joined: 28 Jun 2017
Posts: 1

PostPosted: Wed Jun 28, 2017 5:25 pm    Post subject: Reply with quote

I found out today that to get gvfs to play nice with Google Drive there are some steps you need to take. You need to emerge gvfs with "gnome-online-accounts" and "google" use flags then you temporarily need to emerge gnome-control-center with "gnome-online-accounts" use flag to configure the google account and go through 2FA. Once the account is setup, it is stored in gconf/dconf and you can remove gnome-control-center and all of its deps (until you need to adjust your account again).

So add to your "package.use":

Code:
# Needed to make gvfs support google drive
gnome-base/gvfs gnome-online-accounts google

# Reduce the number of dependencies on gnome-control-center, we just need it to setup the account.
gnome-base/gnome-settings-daemon openrc-force -colord -cups  # Remove openrc-force if you use systemd.[/quote]
gnome-base/gnome-control-center -bluetooth -colord -cups -ibus


Then as root:
Code:
# emerge -avuN gvfs
# emerge -av1 gnome-control-center


Then as user:
Code:
$ gnome-control-center


Then next time you run "emerge --depclean" it will remove "gnome-control-center" and all of its deps.

That said, gvfs is extremely slow to open up your drive as it doesn't sync or apparently doesn't even cache the contents of your drive so every time you open up the drive there is a few minutes delay as it reads in everything. Then it works fine until you close thunar/nautilus/whathaveyou and you have to wait again. I'm also unable to open any files from it as the drive doesn't actually seem to be mounted. I'm looking for a solution to it at the moment.
Back to top
View user's profile Send private message
Massimo B.
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1537
Location: Germany

PostPosted: Mon Jul 03, 2017 5:54 am    Post subject: Reply with quote

Thanks. You mean all those dependencies are only required once for setting up the Google Drive, and can be removed later?
Code:
# emerge -putv gnome-control-center

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N     ] gnome-base/gnome-control-center-3.22.2-r1:2::gentoo  USE="gnome-online-accounts ibus -bluetooth -colord -cups -debug -kerberos -networkmanager -v4l -wayland" INPUT_DEVICES="-wacom" 7.107 KiB
[ebuild  N     ]  gnome-base/gnome-session-3.22.3::gentoo  USE="-doc -ipv6 -systemd" 760 KiB
[ebuild  N     ]   gnome-base/gnome-settings-daemon-3.22.2::gentoo  USE="colord cups openrc-force policykit udev -debug -networkmanager -smartcard {-test} -wayland" INPUT_DEVICES="-wacom" 1.619 KiB
[ebuild  N     ]    x11-misc/colord-1.3.4:0/2::gentoo  USE="gusb introspection policykit udev -argyllcms -examples -extra-print-profiles -scanner -systemd -vala" ABI_X86="32 (64) (-x32)" 1.230 KiB
[ebuild  N     ]  sys-apps/accountsservice-0.6.43-r1::gentoo  USE="introspection -doc -elogind (-selinux) -systemd" 373 KiB
[nomerge       ] gnome-base/gnome-control-center-3.22.2-r1:2::gentoo  USE="gnome-online-accounts ibus -bluetooth -colord -cups -debug -kerberos -networkmanager -v4l -wayland" INPUT_DEVICES="-wacom"
[nomerge       ]  gnome-base/gnome-settings-daemon-3.22.2::gentoo  USE="colord cups openrc-force policykit udev -debug -networkmanager -smartcard {-test} -wayland" INPUT_DEVICES="-wacom"
[nomerge       ]   media-sound/pulseaudio-10.0::gentoo  USE="X alsa alsa-plugin asyncns bluetooth caps dbus gdbm glib gtk orc qt4 ssl tcpd udev webrtc-aec -doc -equalizer -gnome -ipv6 -jack -libressl -libsamplerate -lirc -native-headset (-neon) -ofono-headset (-oss) -realtime (-selinux) -sox (-system-wide) -systemd {-test} -zeroconf" ABI_X86="32 (64) (-x32)"
[ebuild  N     ]    media-plugins/alsa-plugins-1.1.4-r1::gentoo  USE="pulseaudio -debug -ffmpeg -jack -libav -libsamplerate -speex" ABI_X86="32 (64) (-x32)" 359 KiB
[ebuild  N     ]     media-sound/pulseaudio-10.0::gentoo  USE="X alsa alsa-plugin asyncns bluetooth caps dbus gdbm glib gtk orc qt4 ssl tcpd udev webrtc-aec -doc -equalizer -gnome -ipv6 -jack -libressl -libsamplerate -lirc -native-headset (-neon) -ofono-headset (-oss) -realtime (-selinux) -sox (-system-wide) -systemd {-test} -zeroconf" ABI_X86="32 (64) (-x32)" 1.571 KiB
[ebuild  N     ]  app-i18n/ibus-1.5.14::gentoo  USE="X gtk gtk3 introspection nls python -deprecated -gconf {-test} -vala -wayland" PYTHON_TARGETS="python2_7" 2.163 KiB
[ebuild  N     ]  gnome-base/libgnomekbd-3.22.0.1:0/8::gentoo  USE="introspection {-test}" 441 KiB
[ebuild  N     ]  media-libs/grilo-0.3.3:0.3/0::gentoo  USE="gtk introspection network -examples -playlist {-test} -vala" 627 KiB
[nomerge       ] x11-misc/colord-1.3.4:0/2::gentoo  USE="gusb introspection policykit udev -argyllcms -examples -extra-print-profiles -scanner -systemd -vala" ABI_X86="32 (64) (-x32)"
[ebuild  N     ]  dev-libs/libgusb-0.2.9::gentoo  USE="introspection -static-libs -vala" ABI_X86="32 (64) (-x32)" 285 KiB
[nomerge       ] gnome-base/gnome-control-center-3.22.2-r1:2::gentoo  USE="gnome-online-accounts ibus -bluetooth -colord -cups -debug -kerberos -networkmanager -v4l -wayland" INPUT_DEVICES="-wacom"
[ebuild  N     ]  x11-drivers/xf86-input-libinput-0.25.1::gentoo  362 KiB
[nomerge       ] net-analyzer/wireshark-2.4.0_rc1:0/2.4.0_rc1::gentoo  USE="caps filecaps gtk netlink pcap qt5 ssl zlib -adns -androiddump -ciscodump -doc -doc-pdf -geoip -kerberos -libssh -libxml2 -lua -nghttp2 -portaudio -randpkt -randpktdump -sbc (-selinux) -smi -snappy -spandsp -sshdump -tfshark" CPU_FLAGS_X86="sse4_2"
[ebuild     UD ]  media-libs/speex-1.2_rc1-r2::gentoo [1.2.0-r1::gentoo] USE="ogg%* -static-libs (-armv5te%) (-utils%) (-vbr%*)" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse" 1.037 KiB
[nomerge       ] gnome-base/gnome-control-center-3.22.2-r1:2::gentoo  USE="gnome-online-accounts ibus -bluetooth -colord -cups -debug -kerberos -networkmanager -v4l -wayland" INPUT_DEVICES="-wacom"
[nomerge       ]  media-sound/pulseaudio-10.0::gentoo  USE="X alsa alsa-plugin asyncns bluetooth caps dbus gdbm glib gtk orc qt4 ssl tcpd udev webrtc-aec -doc -equalizer -gnome -ipv6 -jack -libressl -libsamplerate -lirc -native-headset (-neon) -ofono-headset (-oss) -realtime (-selinux) -sox (-system-wide) -systemd {-test} -zeroconf" ABI_X86="32 (64) (-x32)"
[ebuild  N     ]   media-libs/sbc-1.3::gentoo  USE="-static-libs" ABI_X86="32 (64) (-x32)" 241 KiB
[ebuild  N     ]   net-libs/libasyncns-0.8-r4::gentoo  USE="-debug -doc" ABI_X86="32 (64) (-x32)" 334 KiB
[ebuild  N     ]   media-libs/webrtc-audio-processing-0.3::gentoo  USE="-static-libs" ABI_X86="32 (64) (-x32)" 672 KiB

Total: 16 packages (1 downgrade, 15 new), Size of downloads: 19.173 KiB


As you say it is very slow I understand now the blocking slow behaviour I've noticed on some OpenSuse with a full gnome-control-center installation and Google Drive set up.
Especially when it is so slow and has no cashing, I would prefer to mount it on demand only, that is like using autofs or some manual fstab entry.
Can you figure out how to mount the drive via gvfs-mount command?
_________________
ppc:PowerBook5,8 15"(1440)-G4/1.67,2G|amd64:HP EliteBook 8560w,i7-2620M,16G|amd64:Acer Z5610 (Core2QuadQ8200),8G|amd64-prefix:OpenSuse
Lila-Theme
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6276

PostPosted: Mon Jul 03, 2017 1:41 pm    Post subject: Reply with quote

I never tried, but there are net-misc/drive and net-misc/grive which perhaps avoid all the gnome bloat.
Back to top
View user's profile Send private message
Massimo B.
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1537
Location: Germany

PostPosted: Tue Jul 04, 2017 7:47 am    Post subject: Reply with quote

Very interesting. net-misc/drive looks promising, the base coming from some original developers from the Google team. Looks complete, lot of configuration. However the usage seems to be more like a VCS or git approach than a filesystem. You need to push and pull. Then only some file types are supported, so it will never be a storage for arbitrary loop files or archives. This is weird as I'm using the GDrive already from Android for Titanium Backups which are all tar.bz2 files.
Definitly worth a try.
One has to accept and get used to all the go stuff:
Code:
[ebuild  N     ]  dev-lang/go-1.8.3:0/1.8.3::gentoo  USE="-gccgo" 69.088 KiB

net-misc/grive looks like a VCS (push/pull) approach as well, but not as complete as the other, something like of pre-beta status.
_________________
ppc:PowerBook5,8 15"(1440)-G4/1.67,2G|amd64:HP EliteBook 8560w,i7-2620M,16G|amd64:Acer Z5610 (Core2QuadQ8200),8G|amd64-prefix:OpenSuse
Lila-Theme
Back to top
View user's profile Send private message
Massimo B.
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1537
Location: Germany

PostPosted: Tue Jul 04, 2017 10:08 am    Post subject: Reply with quote

Short feedback about net-misc/drive-0.3.9:
It looks very powerful, with push/pull, diff and conflict management, depth and lots of filters.
However when trying to do a huge global drive pull I got lots of name clashes like this:
Code:
...
X /TitaniumBackup/MotoMo/com.android.egg-e125ea391ffc6516ef0200ad9061c10e.apk.bz2 0B4vIxE1EMTq6U1NIMWZ5a0F3NWs
X /TitaniumBackup/MotoMo/com.android.egg-e125ea391ffc6516ef0200ad9061c10e.apk.bz2 0B4vIxE1EMTq6WWtFeVRONjZCbHc

clashes detected. Use `ignore-name-clashes` to override this behavior or `fix-clashes` to try fixing this

Then I tried drive pull -ignore-name-clashes. I did not like to try -fix-clashes as this would rename stuff and break the naming convention of TitaniumBackup probably:
Code:
...
+ /TitaniumBackup/TF700T/com.google.android.apps.chromecast.app-7ca28f78e3baca576d53c64efccb2ffc.apk.bz2
+ /TitaniumBackup/TF700T/de.finanzen100-3c15b94f8364b8462ce901b323cc1b0f.apk.bz2
Addition count 1498 src: 2.43GB
Proceed with the changes? [Y/n]:Y
 8203399 / 2611955088 [>-----------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------]   0.31% 40m13spanic: page 4 already freed

goroutine 323 [running]:
github.com/boltdb/bolt.(*freelist).free(0xc42099bf20, 0x43, 0x7f95d029d000)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/freelist.go:121 +0x29a
github.com/boltdb/bolt.(*node).spill(0xc420a27ab0, 0xc420326080, 0xe0c620)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/node.go:363 +0x1e0
github.com/boltdb/bolt.(*node).spill(0xc420a279d0, 0xc420d48030, 0xc42004c710)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/node.go:350 +0xb4
github.com/boltdb/bolt.(*Bucket).spill(0xc42078b540, 0xc42099bf00, 0xc42004c980)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/bucket.go:570 +0x17b
github.com/boltdb/bolt.(*Bucket).spill(0xc420206398, 0x22a9eacd, 0xe33980)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/bucket.go:537 +0x8f8
github.com/boltdb/bolt.(*Tx).Commit(0xc420206380, 0x0, 0x0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/tx.go:163 +0x125
github.com/boltdb/bolt.(*DB).Update(0xc420134960, 0xc42004cbe8, 0x0, 0x0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/boltdb/bolt/db.go:605 +0xf7
github.com/odeke-em/drive/config.(*Context).SerializeIndex(0xc42009aec0, 0xc4207be780, 0x0, 0x0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/config/config.go:279 +0x164
github.com/odeke-em/drive/src.(*Commands).createIndex(0xc42009af80, 0xc420027e40, 0x0, 0xc42004ccc0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/fetch.go:314 +0x113
github.com/odeke-em/drive/src.(*Commands).localAdd.func1(0xc42004cd88, 0xc4203be980, 0xc42009af80)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/pull.go:574 +0x63
github.com/odeke-em/drive/src.(*Commands).localAdd(0xc42009af80, 0xc4203be980, 0x0, 0x0, 0x0, 0x0, 0x0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/pull.go:605 +0x22e
github.com/odeke-em/drive/src.(*Commands).(github.com/odeke-em/drive/src.localAdd)-fm(0xc4203be980,
 0x0, 0x0, 0x0, 0xc420af4e08, 0x42c65e)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/misc.go:1066 +0x52
github.com/odeke-em/drive/src.(*Commands).playPullChanges.func2.1(0xc4203be980, 0xc, 0xc4200326e0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/pull.go:477 +0x4d
github.com/odeke-em/drive/src.(*changeJobSt).changeJober.func1(0xc420af4ee0, 0x406685, 0x8dc3e0, 0xc4209fc960)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/misc.go:120 +0xaf
github.com/odeke-em/drive/src.jobSt.Do(0x4d, 0xc420327920, 0x754acf, 0x8dc3e0, 0xc4209fc960, 0x0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/drive/src/misc.go:100 +0x27
github.com/odeke-em/drive/src.(*jobSt).Do(0xc42030f4c0, 0x0, 0x0, 0x0, 0x0)
   <autogenerated>:6 +0x56
github.com/odeke-em/semalim.Run.func4.1(0xc42030e280, 0xc4209fc660, 0xc42030e290, 0xc42030e2d0, 0xe0b160, 0xc42030f4c0)
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/semalim/semalim.go:71 +0x56
created by github.com/odeke-em/semalim.Run.func4
   /var/tmp/portage/net-misc/drive-0.3.9/work/drive-0.3.9/src/github.com/odeke-em/semalim/semalim.go:76 +0x141

And here I finish as it starts about go debugging and traces, maybe filing a bug report there.
PS.: -> https://github.com/odeke-em/drive/issues/934

[Moderator edit: broke long whitespace-free lines in code tags to fix thread layout. -Hu]
_________________
ppc:PowerBook5,8 15"(1440)-G4/1.67,2G|amd64:HP EliteBook 8560w,i7-2620M,16G|amd64:Acer Z5610 (Core2QuadQ8200),8G|amd64-prefix:OpenSuse
Lila-Theme
Back to top
View user's profile Send private message
Massimo B.
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1537
Location: Germany

PostPosted: Thu Jul 27, 2017 9:17 am    Post subject: Reply with quote

-> bug 626322: net-misc/drive-0.3.9: Pull, panic invalid page type
_________________
ppc:PowerBook5,8 15"(1440)-G4/1.67,2G|amd64:HP EliteBook 8560w,i7-2620M,16G|amd64:Acer Z5610 (Core2QuadQ8200),8G|amd64-prefix:OpenSuse
Lila-Theme
Back to top
View user's profile Send private message
luciano
Tux's lil' helper
Tux's lil' helper


Joined: 18 Nov 2004
Posts: 124

PostPosted: Thu Feb 08, 2018 10:55 pm    Post subject: Reply with quote

Thank you guys, I found this thread really useful in getting this working for me. Indeed I had not enabled the 'google' flag on gvfs and therefore was unable to mount anything.

Now that I've managed to do that, I'm wondering how I can access this from a shell. Do you know where gvfs mounts files in the real filesystem? I can't figure out how to determine this. I have for example an mmc card mounted and that apperas under /run/media ... But my google drive doesn't seem to.
Back to top
View user's profile Send private message
luciano
Tux's lil' helper
Tux's lil' helper


Joined: 18 Nov 2004
Posts: 124

PostPosted: Thu Feb 08, 2018 11:20 pm    Post subject: Reply with quote

Ok, seems to be working now, was just a bit slow. Also I thin you need the 'fuse' USE flag, to enable access via the normal filesystem (e.g. via a shell).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum