{"id":879,"date":"2015-08-17T19:12:03","date_gmt":"2015-08-17T10:12:03","guid":{"rendered":"http:\/\/matoken.org\/blog\/?p=879"},"modified":"2015-08-17T20:12:26","modified_gmt":"2015-08-17T11:12:26","slug":"gvfs-mountpoint","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2015\/08\/17\/gvfs-mountpoint\/","title":{"rendered":"GVfs \u306e\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u3092\u63a2\u3059"},"content":{"rendered":"<p>Android \u306a\u3069\u3067\u3088\u304f\u4f7f\u3046 USB \u306e mtp \u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u304c\uff0cGVfs \u3067\u81ea\u52d5\u30de\u30a6\u30f3\u30c8\u3055\u308c\u307e\u3059\uff0e\u30d5\u30a1\u30a4\u30eb\u30de\u30cd\u30fc\u30b8\u30e3\u306e Nautilus \u306a\u3069\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u304c\uff0c\u9014\u4e2d\u3067\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e\u305d\u3053\u3067\u7aef\u672b\u4e0a\u304b\u3089 rsync \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u5931\u6557\u3057\u3066\u3082\u5931\u6557\u3057\u305f\u90e8\u5206\u3060\u3051\u518d\u8a66\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3057\u305f\uff0e\u4eca\u56de Debian stretch amd64 + Gnome-shell \u74b0\u5883\u3060\u3068\u4ee5\u524d\u306e\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u306e <code>~\/.gvfs<\/code> \u306b\u306f\u30de\u30a6\u30f3\u30c8\u3055\u308c\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\uff0e<\/p>\n<pre><code>% ls -lA ~\/.gvfs \r\n\u5408\u8a08 0\r\n<\/code><\/pre>\n<p>Nautilus \u306e\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3053\u308c\u3082\u7aef\u672b\u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u7121\u3055\u305d\u3046\uff0e <code>mtp:\/\/[usb:001,009]\/<\/code><\/p>\n<p>Nautilus \u3067 umount \u3057\u3066\uff0cfuser mount \u3057\u3066 rsync \u3057\u3066\u307f\u3088\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c mtpfs \u3082 jmtpfs \u5931\u6557\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0e<\/p>\n<pre><code>% mtpfs fuse\/mtp\r\nListing raw device(s)\r\nDevice 0 (VID=1004 and PID=631c) is a LG Electronics Inc. LG-E610\/E612\/E617G\/E970\/P700.\r\n   Found 1 device(s):\r\n   LG Electronics Inc.: LG-E610\/E612\/E617G\/E970\/P700 (1004:631c) @ bus 1, dev 6\r\nAttempting to connect device\r\nAndroid device detected, assigning default bug flags\r\nError 1: Get Storage information failed.\r\nError 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.\r\nError 2: Error 02fe: PTP: Protocol error, data expected\r\nListing File Information on Device with name: LGL22\r\nLIBMTP_Get_Storage() failed:-1\r\n% ls -la \/home\/mk\/fuse\/mtp\r\n\u5408\u8a08 8\r\ndrwxr-xr-x 2 mk mk 4096  8\u6708 17 17:19 .\r\ndrwxr-xr-x 8 mk mk 4096  8\u6708 17 17:19 ..\r\n<\/code><\/pre>\n<pre><code>% jmtpfs fuse\/mtp\r\nDevice 0 (VID=1004 and PID=631c) is a LG Electronics Inc. LG-E610\/E612\/E617G\/E970\/P700.\r\nAndroid device detected, assigning default bug flags\r\n% ls -la \/home\/mk\/fuse\/mtp\r\nls: \/home\/mk\/fuse\/mtp \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093: \u5165\u529b\/\u51fa\u529b\u30a8\u30e9\u30fc\u3067\u3059\r\n% fusermount -u \/home\/mk\/fuse\/mtp\r\n<\/code><\/pre>\n<p>Nautilus \u3067\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066 <code>\u7aef\u672b\u3067\u958b\u304f<\/code> \u304b\u3089\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f\uff0e<\/p>\n<p><a data-flickr-embed=\"true\"  href=\"https:\/\/www.flickr.com\/photos\/119142834@N05\/20463353649\/in\/dateposted-public\/\" title=\"Screenshot from 2015-08-17 18-19-43\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/farm6.staticflickr.com\/5801\/20463353649_a0b1e662ff.jpg\" width=\"500\" height=\"366\" alt=\"Screenshot from 2015-08-17 18-19-43\"><\/a><script async src=\"\/\/embedr.flickr.com\/assets\/client-code.js\" charset=\"utf-8\"><\/script><\/p>\n<p><a data-flickr-embed=\"true\"  href=\"https:\/\/www.flickr.com\/photos\/119142834@N05\/20650063075\/in\/dateposted-public\/\" title=\"Screenshot from 2015-08-17 18-26-02\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/farm1.staticflickr.com\/631\/20650063075_1af84ff304.jpg\" width=\"500\" height=\"384\" alt=\"Screenshot from 2015-08-17 18-26-02\"><\/a><script async src=\"\/\/embedr.flickr.com\/assets\/client-code.js\" charset=\"utf-8\"><\/script><\/p>\n<p>\u3069\u3046\u3082 GVfs \u306e\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u306f <code>~\/.gvfs<\/code> \u304b\u3089 <code>\/run\/user\/1000\/gvfs<\/code> \u306b\u5909\u308f\u3063\u305f\u3088\u3046\u3067\u3059\uff0e <code>1000<\/code> \u306f \u30e6\u30fc\u30b6\u306e UID \u3067\u3057\u3087\u3046\u306d\uff0e<\/p>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\uff0crsync \u3067\u30c7\u30fc\u30bf\u30b3\u30d4\u30fc\u304c\u51fa\u6765\u307e\u3057\u305f\uff0e<\/p>\n<pre><code>% rsync -av \/run\/user\/1000\/gvfs\/mtp:host=%5Busb%3A001%2C009%5D\/\u5185\u90e8\u30b9\u30c8\u30ec\u30fc\u30b8\/DCIM \/export\/Photo\r\n<\/code><\/pre>\n<p>\u305d\u306e\u5f8c <code>man gvfsd-fuse<\/code> \u306b\u767a\u898b\uff0e<\/p>\n<pre><code>   gvfsd-fuse is normally started by gvfsd(1). In this case, the mount point is $XDG_RUNTIME_DIR\/gvfs or $HOME\/.gvfs.\r\n<\/code><\/pre>\n<p>\u78ba\u8a8d\u3059\u308b\u3068\u4e00\u7dd2\u3067\u3059\u306d\uff0e<\/p>\n<pre><code>% echo $XDG_RUNTIME_DIR\/gvfs\r\n\/run\/user\/1000\/gvfs\r\n<\/code><\/pre>\n<p>\u3057\u304b\u3057\uff0c<code>gvfs-*<\/code> \u7cfb\u306e\u30c4\u30fc\u30eb\u3067\u3082\u78ba\u8a8d\u3067\u304d\u305d\u3046\u306a\u3093\u3067\u3059\u304c\u3046\u307e\u304f\u884c\u304b\u306a\u3044\u3067\u3059\u306d\u2026\u2026\uff0e<\/p>\n<pre><code>% gvfs-mount -h\r\n\u7528\u6cd5:\r\n  gvfs-mount [\u30aa\u30d7\u30b7\u30e7\u30f3...] [LOCATION...]\r\n\r\n\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30de\u30a6\u30f3\u30c8\u3057\u307e\u3059\u3002\r\n\r\n\u30d8\u30eb\u30d7\u306e\u30aa\u30d7\u30b7\u30e7\u30f3:\r\n  -h, --help                      \u30d8\u30eb\u30d7\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3059\u308b\r\n\r\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30aa\u30d7\u30b7\u30e7\u30f3:\r\n  -m, --mountable                 \u30de\u30a6\u30f3\u30c8\u53ef\u80fd\u3068\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3059\u308b\r\n  -d, --device=DEVICE             \u30c7\u30d0\u30a4\u30b9\u30d5\u30a1\u30a4\u30eb\u3067\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30de\u30a6\u30f3\u30c8\u3059\u308b\r\n  -u, --unmount                   \u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3059\u308b\r\n  -e, --eject                     \u53d6\u308a\u51fa\u3059\r\n  -s, --unmount-scheme=SCHEME     \u6307\u5b9a\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30e0\u3067\u3059\u3079\u3066\u306e\u30de\u30a6\u30f3\u30c8\u3092\u89e3\u9664\u3059\u308b\r\n  -f, --force                     Ignore outstanding file operations when unmounting or ejecting\r\n  -a, --anonymous                 Use an anonymous user when authenticating\r\n  -l, --list                      \u30ea\u30b9\u30c8\u8868\u793a\u3059\u308b\r\n  -o, --monitor                   \u30a4\u30d9\u30f3\u30c8\u3092\u76e3\u8996\u3059\u308b\r\n  -i, --detail                    \u305d\u306e\u4ed6\u306e\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\r\n  --version                       Show program version\r\n% gvfs-mount -l\r\nDrive(0): INTEL SSDSA2CW600G3\r\n  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)\r\nDrive(1): ST932032 0AS\r\n  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)\r\n  Volume(0): 320 GB \u30dc\u30ea\u30e5\u30fc\u30e0\r\n    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)\r\n    Mount(0): 320 GB \u30dc\u30ea\u30e5\u30fc\u30e0 -&gt; file:\/\/\/media\/mk\/555bf630-0ca8-4282-9a79-7acfd6355a0a\r\n      Type: GProxyMount (GProxyVolumeMonitorUDisks2)\r\nVolume(0): LGE Android Phone\r\n  Type: GProxyVolume (GProxyVolumeMonitorMTP)\r\n  Mount(0): LGE Android Phone -&gt; mtp:\/\/[usb:001,009]\/\r\n    Type: GProxyShadowMount (GProxyVolumeMonitorMTP)\r\nMount(1): mtp -&gt; mtp:\/\/[usb:001,009]\/\r\n  Type: GDaemonMount\r\n% gvfs-info -f &#39;mtp:\/\/[usb:001,009]\/&#39;\r\n\u5c5e\u6027:\r\n  standard::type: 2\r\n  standard::name: [usb:001,009]\r\n  standard::display-name: LGL22\r\n  standard::icon: multimedia-player\r\n  standard::content-type: inode\/directory\r\n  standard::size: 0\r\n  standard::symbolic-icon: multimedia-player-symbolic\r\n  access::can-read: TRUE\r\n  access::can-write: FALSE\r\n  access::can-execute: TRUE\r\n  access::can-delete: FALSE\r\n  access::can-trash: FALSE\r\n  access::can-rename: FALSE\r\n  filesystem::size: 38238453760\r\n  filesystem::free: 12884361216\r\n  filesystem::type: mtpfs\r\n  gvfs::backend: mtp\r\n<\/code><\/pre>\n<ul>\n<li><a href=\"https:\/\/wiki.debian.org\/mtp\">mtp &#8211; Debian Wiki<\/a><\/li>\n<li><a href=\"https:\/\/wiki.gnome.org\/action\/show\/Projects\/gvfs?action=show&amp;redirect=gvfs\">Projects\/gvfs &#8211; GNOME Wiki!<\/a><\/li>\n<\/ul>\n<div>\n<p>\n\u8ffd\u8a18)<br \/>\nmount \u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3067\u304d\u308b\u3088\u3068\u6559\u3048\u3066\u3082\u3089\u3044\u307e\u3057\u305f\uff0e\u3053\u306e\u6642\u306f mount \u30b3\u30de\u30f3\u30c9\u3084 \/etc\/motd \u3082\u78ba\u8a8d\u3057\u305f\u3051\u3069\u898b\u5f53\u305f\u3089\u306a\u3044\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u518d\u78ba\u8a8d\u3057\u305f\u3089\u3061\u3083\u3093\u3068\u898b\u3048\u307e\u3057\u305f\uff0e\u30a2\u30a4\u30b3\u30f3\u4e0a\u306f mount \u3057\u3066\u308b\u3051\u3069\u4e2d\u304c\u898b\u3048\u306a\u3044\u3068\u3044\u3046\u72b6\u614b\u304c\u3088\u304f\u8d77\u3053\u308b\u306e\u3067\u3059\u304c\u305d\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u78ba\u8a8d\u3057\u305f\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u3061\u306a\u307f\u306b\u305d\u306e\u6642\u306f USB \u629c\u304d\u5dee\u3057\u3067\u3082\u75c7\u72b6\u5909\u308f\u3089\u305a Android \u5074\u3067 PTP \/ MTP \u3068\u5207\u308a\u66ff\u3048\u308b\u3068\u898b\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e<\/p>\n<p><pre><code>\r\n% mount|grep gvfs\r\ngvfsd-fuse on \/run\/user\/1000\/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)\r\n% cat \/etc\/mtab|grep gvfs\r\ngvfsd-fuse \/run\/user\/1000\/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0\r\n<\/code><\/pre>\n<\/p>\n<ul>\n<li><a href=\"https:\/\/plus.google.com\/u\/0\/+KenichiroMATOHARA\/posts\/ZLCLyHcAzSh\">\u66f8\u3044\u305f\uff0eAndroid \u306e\u5199\u771f\u304c\u6e9c\u307e\u3063\u305f\u306e\u3067\u3053\u308c\u3067\u5438\u3044\u4e0a\u3052\u307e\u3057\u305f\uff0e &quot;GVfs \u306e\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u3092\u63a2\u3059 | matoken&apos;s meme&quot;\u2026<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Android \u306a\u3069\u3067\u3088\u304f\u4f7f\u3046 USB \u306e mtp \u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u304c\uff0cGVfs \u3067\u81ea\u52d5\u30de\u30a6\u30f3\u30c8\u3055\u308c\u307e\u3059\uff0e\u30d5\u30a1\u30a4\u30eb\u30de\u30cd\u30fc\u30b8\u30e3\u306e Nautilus \u306a\u3069\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u304c\uff0c\u9014\u4e2d\u3067\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e\u305d\u3053\u3067\u7aef\u672b\u4e0a\u304b\u3089 r [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[7,6],"tags":[276,275,290],"class_list":["post-879","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","tag-debian-linux","tag-linux","tag-stretch"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=879"}],"version-history":[{"count":0,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/879\/revisions"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}