封尘网

让学习成为一种习惯!

ubuntu通过usb连接手机无法访问到手机硬盘

最近发现一个问题,出现的几率还是挻大的。就是ubuntu系统中使用usb连接手机传输数据时(就是挂把手机硬盘挂载到系统中)会出现以下问题。

 

错误提示

点击手机硬盘时出现“无法处理的错误消息:The name:1.629 was not provided by any.service files” 但是其怪那个手机助手就可以了哦。

 

 

 

排查异常,既然已经发现了USB设备,图标都显示出来那在系统中就可以找到一些相关信息。

 swper@15IKBN  ~  lsusb |grep Huawei
Bus 001 Device 028: ID 12d1:107e Huawei Technologies Co., Ltd. LLD-AL20

 

由于手机硬盘不是直接通过mount挂载到系统中的,所以使用mount命令无法查看到。

swper@15IKBN  ~  journalctl -xe|grep -i android
6月 17 22:12:54 15IKBN gvfsd[460267]: Android device detected, assigning default bug flags

发现一个gvfsd工具,然后就发现了有以下命令。

 

使用命令gvfs-mount -l 可以查看到手机硬盘挂载到哪里了

 swper@15IKBN  /dev/disk/by-uuid  gvfs-mount -l    
This tool has been deprecated, use 'gio mount' instead.
See 'gio help mount' for more info.

Drive(2): Linux File-CD Gadget
  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
  Volume(0): 华为手机助手
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    Mount(0): 华为手机助手 -> file:///media/swper/%E5%8D%8E%E4%B8%BA%E6%89%8B%E6%9C%BA%E5%8A%A9%E6%89%8B
      Type: GProxyMount (GProxyVolumeMonitorUDisks2)
Volume(0): LLD AL20
  Type: GProxyVolume (GProxyVolumeMonitorMTP)
  Mount(0): LLD AL20 -> mtp://HUAWEI_LLD-AL20_37KNW18521008409/
    Type: GProxyShadowMount (GProxyVolumeMonitorMTP)
Mount(1): mtp -> mtp://HUAWEI_LLD-AL20_37KNW18521008409/
  Type: GDaemonMount

注意上面的mtp://HUAWEI_LLD-AL20_37KNW18521008409/ 这个后面的产品ID号各不相同。

 

那知道了这个硬盘目录,怎么进入呢?桌面系统肯定点图标就好了。当然也可以直接使用命令操作

gvfs-open mtp://HUAWEI_LLD-AL20_37KNW18521008409/   #这个来自上面查到的数据信息,回车即可看到文件目录打开。除非出面上面的错误提示。

 

知道了文件的目录但是并不知道挂载点呢,此时可以更详细的查看挂载目录的信息

注意 local path它就是挂载在系统中的位置了,甚至手机一些信息都有记录。

 ✘ swper@15IKBN  ~  gio info mtp://HUAWEI_LLD-AL20_37KNW18521008409/
显示名称:Honor 9i
名称:HUAWEI_LLD-AL20_37KNW18521008409
类型:directory
大小:  0
uri:mtp://HUAWEI_LLD-AL20_37KNW18521008409/
local path: /run/user/1000/gvfs/mtp:host=HUAWEI_LLD-AL20_37KNW18521008409
unix mount: gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
属性:
  standard::type: 2
  standard::name: HUAWEI_LLD-AL20_37KNW18521008409
  standard::display-name: Honor 9i
  standard::icon: phone, phone-symbolic
  standard::content-type: inode/directory
  standard::size: 0
  standard::symbolic-icon: phone-symbolic, phone
  id::filesystem: mtp:host=HUAWEI_LLD-AL20_37KNW18521008409
  access::can-read: TRUE
  access::can-write: FALSE
  access::can-execute: TRUE
  access::can-delete: FALSE
  access::can-trash: FALSE
  access::can-rename: FALSE
  filesystem::size: 56943968256
  filesystem::free: 6172704768
  filesystem::type: mtpfs
  filesystem::remote: FALSE
  metadata::nautilus-list-view-sort-column: name
  metadata::nautilus-list-view-sort-reversed: false

 

注意最后两行,元数据信息通过nautilus工具管理,(我当时真的没办法,看哪个都像命令,一个在命令行中试过。)然后发现有它这么一个命令。

文件,又名“Nautilus”,是 GNOME 桌面环境的默认文件管理器。它提供简单集成的方式来管理文件和浏览文件系统。

“文件”不仅提供所有基本的文件管理功能,还支持搜索和管理本地和远程网络上的文件及文件夹,读写可移动存储上的数据,运行脚本和启动程序。它有三种视图:图标网格、图标列表、树列表。可以用插件和脚本扩展它的功能。

 

 swper@15IKBN  ~  nautilus -h
用法:
  org.gnome.Nautilus [选项…] [URI…]

帮助选项:
  -h, --help                 显示帮助选项
  --help-all                 显示全部帮助选项
  --help-gapplication        显示 GApplication 选项
  --help-gtk                 显示 GTK+ 选项

应用程序选项:
  -c, --check                执行一组快速自检测试。
  --version                  显示程序的版本。
  -w, --new-window           在浏览指定的 URI 时总是打开新窗口
  -q, --quit                 退出 Nautilus。
  -s, --select               在上级文件夹中选择指定的 URI。
  --display=显示             要使用的 X 显示

这里一个-q参数就是解决问题的方法了。执行它就等刷新了nautilus -q

 

所以最终解决方法就

nautilus -q

如果不执行这命令,你可以重启系统,选择权在你手里。我的目的就是不重启机器把问题解决就行了。

 

 

详细Nautilus命令说明可以参考:

man nautilus
https://wiki.gnome.org/Apps/Nautilus
https://apps.gnome.org/zh-CN/app/org.gnome.Nautilus/

 

关于gvfs的用法很多可以参考以下网页

https://manpages.ubuntu.com/manpages/bionic/man7/gvfs.7.html
https://manpages.ubuntu.com/manpages/trusty/man1/gvfs-info.1.html

 

提醒:本文最后更新于 463 天前,文中所描述的信息可能已发生改变,请谨慎使用。