![防止在 Linux Mint 下自动安装 Android SD 卡](https://linux22.com/image/1359527/%E9%98%B2%E6%AD%A2%E5%9C%A8%20Linux%20Mint%20%E4%B8%8B%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%20Android%20SD%20%E5%8D%A1.png)
我最近买了一部旧版 Android 手机,以便可以在上面测试 Android 应用。我需要它,因为我有一部 Nexus 7,但没有旧版 Android 手机、硬件等可供测试。
我在使用 Cinnamon 的 Linux Mint 下遇到了问题。当我插入手机或在手机插入电源的情况下从手机中取出 SD 卡并重新插入时,Linux 会自动挂载 SD 卡。这是一个问题,因为一旦在 Linux 下挂载了 SD 卡,它就会从运行 Android 2.3.5 的手机上卸载,并且我无法再测试我编写的需要 SD 卡存在且可写的 Android 应用程序。
在 Mint 17 中,您可以检查菜单 > 系统设置 > 首选项 > 首选应用程序 > 可移动媒体,然后会显示此窗口。(在以前的 Mint 版本中,此窗口位于菜单 > 系统工具 > 系统设置 > 系统 > 详细信息 > 可移动媒体下)
我已将“选择如何处理媒体”上的设置更改为始终“询问要做什么”。但是,SD 卡仍会挂载,然后系统会询问我如何打开这些文件(媒体播放器、照片导入器、文件浏览器等)。如果我单击“插入媒体时从不提示或启动程序”复选框,则 SD 卡会挂载,并且不会询问我如何打开这些文件。
对于 Ubuntu 用户来说,Eject 只是一个新手用词,意思是 umount(卸载),就像“Adminstrator”是另一个 ubuntu 新手用词,指的是 root 用户。如果我卸载 SD 卡,手机将无法再次识别它,除非我取出 SD 卡并重新插入。手机会短暂地看到它,直到 Linux Mint 接管它。
有两种可能的解决方案,甚至更多:
防止 Linux 自动挂载 SD 卡(见下文)
告诉 Android 不要允许所插入的计算机接管 SD 卡
如何防止sdcard自动挂载:
dconf-editor > org > cinnamon > 桌面 > 媒体处理
现在它已经被 Linux 识别了:
bullshark@beastlinux ~ $ dmesg | tail -n 25
[597212.218323] sd 21:0:0:0: [sde] Attached SCSI removable disk
[597212.218639] sr 21:0:0:1: Attached scsi CD-ROM sr2
[597212.218910] sr 21:0:0:1: Attached scsi generic sg7 type 5
[597217.139373] sd 21:0:0:0: [sde] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
[597217.140726] sd 21:0:0:0: [sde] No Caching mode page present
[597217.140735] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597217.143595] sd 21:0:0:0: [sde] No Caching mode page present
[597217.143602] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597217.152240] sde: sde1
[597389.751008] 4:2:1: cannot get freq at ep 0x84
[597390.238742] 4:2:1: cannot get freq at ep 0x84
[597624.903132] sde: detected capacity change from 1977614336 to 0
[597637.677763] sd 21:0:0:0: [sde] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
[597637.679616] sd 21:0:0:0: [sde] No Caching mode page present
[597637.679626] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597637.682508] sd 21:0:0:0: [sde] No Caching mode page present
[597637.682515] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597637.692758] sde: sde1
[597661.857979] sde: detected capacity change from 1977614336 to 0
[597688.775455] sd 21:0:0:0: [sde] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
[597688.776814] sd 21:0:0:0: [sde] No Caching mode page present
[597688.776823] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597688.780055] sd 21:0:0:0: [sde] No Caching mode page present
[597688.780062] sd 21:0:0:0: [sde] Assuming drive cache: write through
[597688.788639] sde: sde1
bullshark@beastlinux ~ $
然而,当 Linux 检测到手机时,它仍然会卸载 SD 卡。
Linux 检测到但未挂载,几秒钟后:
编辑#2(解决方案):
我通过改变 USB 连接类型(USB 大容量存储)解决了这个问题:
答案1
Linux Mint Cinnamon 是 Gnome Shell 的一个分支,我发现 gsettings 是默认安装的。这就是为什么
gsettings set org.gnome.desktop.media-handling automount false
在我的例子中,它可以防止操作系统自动安装 SD 卡。