最近发现一个问题,出现的几率还是挻大的。就是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