防止在 Linux Mint 下自动安装 Android SD 卡

防止在 Linux Mint 下自动安装 Android SD 卡

我最近买了一部旧版 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 接管它。

有两种可能的解决方案,甚至更多:

  1. 防止 Linux 自动挂载 SD 卡(见下文)

  2. 告诉 Android 不要允许所插入的计算机接管 SD 卡

如何防止sdcard自动挂载:

dconf-editor > org > cinnamon > 桌面 > 媒体处理

dconf-编辑器

现在它已经被 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 卡。

相关内容