通过 Micro-USB 在 12.04 上管理 Kindle Fire

pir*_*tle 11 sync usb mount kindle 12.04

首先,我已经阅读了两者有没有办法让 Kindle Fire 与 12.04 一起使用?以及如何使用 Micro-USB 数据线将文件传输到 Kindle Fire?

我的问题是我无法安装 Kindle Fire 来添加书籍。我已经安装了 calibre,但在计算机本身识别它之前它无法管理任何设备。

后一篇文章有​​一个很好的答案(由@jeremiah 提供),正在取得一些进展。不幸的是,我想我对-tmount.

这就是我所做的...

运行 dmesg 来定位设备:

[    3.920886] sd 6:0:0:0: [sdb] Attached SCSI removable disk
Run Code Online (Sandbox Code Playgroud)

确认它的位置:

$ sudo ls -l /dev/disk/by-id
lrwxrwxrwx 1 root root  9 Aug 18 15:52 usb-Amazon_Kindle_3C6C002600000001-0:0 -> ../../sdb
Run Code Online (Sandbox Code Playgroud)

所以我们知道我的 Kindle 在 /dev/sdb 上被识别。然后我使用了mount@jeremiah 建议的命令:

$ sudo mount -t ext3 /dev/sdb/ /mnt/kindle/
mount: no medium found on /dev/sdb
Run Code Online (Sandbox Code Playgroud)

发生同样的错误sudo mount /dev/sdb /mnt/kindle

注意:我在“mnt”中创建了“kindle”目录

有什么建议?

小智 11

新的 Kindle Fires 只能通过称为 MTP 的协议进行管理,但您仍然可以安装它们。

首先确保你已经安装了 mtpfs。

sudo apt-get install mtpfs
Run Code Online (Sandbox Code Playgroud)

然后,因为udevlibmtp还不知道Kindle Fire的事:

lsusb
Run Code Online (Sandbox Code Playgroud)

我的 Kindle Fire HD 显示为“ Bus xxx Device yyy: ID 1949:0007 Lab126

重要的是USB ID。

接下来,向 udev 添加文件以识别您的设备:

sudo vi /etc/udev/rules.d/51-android.rules
Run Code Online (Sandbox Code Playgroud)

将此行添加到末尾,如果它们不同,则替换您在上面确定的 USB ID:

SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0007", MODE="0666"
Run Code Online (Sandbox Code Playgroud)

连接 Kindle 并查看系统是否找到它:

dmesg
Run Code Online (Sandbox Code Playgroud)

在垃圾邮件中,您应该看到如下内容:

...
[32421.676671] usb 3-1: >new high-speed USB device number 4 using xhci_hcd
[32421.702240] usb 3-1: >New USB device found, idVendor=1949, idProduct=0007
[32421.702247] usb 3-1: >New USB device strings: Mfr=2, Product=3, SerialNumber=4
[32421.702250] usb 3-1: >Product: Kindle
[32421.702254] usb 3-1: >Manufacturer: Amazon
[32421.702257] usb 3-1: >SerialNumber: xxx
...
Run Code Online (Sandbox Code Playgroud)

如果您无法使用 lsusb 找到您的设备,您也可以在此处获取标识符,但是当您编辑 udev 规则时,您必须断开连接并重新连接。

现在让我们做一个地方来安装它。

sudo mkdir -p /media/Kindle
sudo chmod 755 /media/Kindle
Run Code Online (Sandbox Code Playgroud)

此外,确保将保险丝设置为允许普通用户安装东西也无妨。

确保/etc/fuse.conf为此设置:

sudo vi /etc/fuse.conf
Run Code Online (Sandbox Code Playgroud)

查找显示“user_allow_other”的行并确保它没有被注释。

差不多好了!从现在开始,这部分将是自动的。我们所要做的就是现在安装它。

插入并通过安装它通过 USB 连接设置 MTP,如下所示:

mtpfs -o allow_other /media/Kindle
Run Code Online (Sandbox Code Playgroud)

要有耐心,这不是有史以来最快的事情。无论如何,一旦此命令完成,您应该会在 Nautilus 等中看到一个 Kindle 文件系统。

当您使用完毕后,例如我将音乐加载到 中/media/Kindle/Internal\ Storage/Music,或使用电子书工具 Calibre,

sync
fusermount -u /media/Kindle
Run Code Online (Sandbox Code Playgroud)

我将这些命令放入别名中,但您可以轻松地将“RUN=”添加到udev规则中或将它们填充到 shell 脚本中。

我更喜欢 Android 应用程序“ES 文件资源管理器”在我的 Kindle 上四处游荡并查看文件......因为 Kindle 不擅长“自动发现”新文件。