如何在安装 UOS 桌面版的笔记本电脑中实现光盘自动挂载?

操作系统支持现状

插入光盘后,操作系统能够检测到并在桌面文件管理程序窗口中增加光盘图标,需要手动点击光盘图标才能够挂载

网上的方法

修改 /etc/fstab 文件

https://www.linuxquestions.org/questions/linux-newbie-8/automount-dvd-rom-when-dvd-is-inserted-455000/

https://askubuntu.com/questions/342188/how-to-auto-mount-from-command-line

目前看这种方式只能够解决开机自动挂载的问题,开机后才插入光盘不能自动挂载。

autofs 实现光盘自动挂载

autofs 是一个自动挂载文件系统的工具,它可以根据需要自动挂载设备或目录,以便访问文件系统中的内容。它可以用来自动挂载光盘或其他可移动介质。

测试过程:

  1. 安装 autofs
  2. 修改 /etc/auto.master 配置,增加 /etc/auto.cdrom 配置,描述光盘自动挂载配置
  3. 重启 autofs 服务

测试结果:

  1. 在光盘插入后,需要主动访问配置文件中光盘挂载目录才能挂载,不访问不会挂载
  2. 可能需要多次访问才会触发挂载

初步测试确认 autofs 并不能直接实现自动挂载,网上搜索发现 autofs 支持自动挂载内容,一通尝试没有解决,暂且跳过。

思考

linux 发行版中一般通过 udevd 来实现热插拔事件的监测并根据规则执行相应的配置,能否通过修改 udevd 规则来实现自动挂载光盘呢?

UOS 中原生光盘热插拔事件处理规则

研究确定 /lib/udev/rules.d/80-debian-compat.rules 文件描述了这一规则,相关内容如下:

复制代码
.....................................................................
ENV{ID_CDROM_DVD_RW}=="?*", \\
  PROGRAM="/bin/sh -c 'ln -s %k /run/udev/link.dvdrw 2>/dev/null; [ `readlink /run/udev/link.dvdrw` = %k ];", \\
  SYMLINK+="dvdrw", OPTIONS+="link_priority=-100"
.....................................................................

尝试修改 PROGRAM,在命令最后添加脚本,测试发现稳定性比较差,拔出光盘的处理也不正确。

增加自定义规则自动挂载光盘

搜索互联网并本地测试,最后增加了 /etc/udev/rules.d/99-cdrom.rules 配置文件来实现自动挂载光盘的动作,此文件内容如下:

复制代码
ACTION=="add",ENV{ID_CDROM_DVD_RW}=="?*", \\
  PROGRAM="/bin/cdrom_mount.sh"

ACTION=="remove",ENV{ID_CDROM_DVD_RW}=="?*", \\
  PROGRAM="/usr/bin/umount %E{DEVNAME}"

规则描述了在插入光盘时执行 /bin/cdrom_mount.sh 命令,在拔出光盘时执行 umount 命令卸载挂载点。测试发现需要同时修改 udevd systemd 服务的某项配置才能正常工作,最后选用了这种解决方案。

光盘自动挂载弹框问题

使用自定义规则挂载、卸载光盘后,UOS 桌面会弹框,提示卸载一个其它用户挂载的设备,需要认证。

研究相关原理,确定与 UDISKS 模块配置的 polikit 规则有关,相关规则位于 org.freedesktop.UDisks2.policy 文件中。

通过在 /etc/udev/rules.d/10-local.rules 文件中添加如下内容解决了此问题:

jsx 复制代码
KERNEL=="sr*",ENV{UDISKS_IGNORE}="1"

上述配置告诉 udevd 对于 sr 开头的设备文件跳过 UDISKS 模块。

参考链接

https://wiki.archlinuxcn.org/zh-hans/Udisks

相关推荐
无泪无花月隐星沉17 天前
uos server 1070e lvm格式磁盘扩容分区
linux·运维·uos
无泪无花月隐星沉18 天前
uos server 1070e 部署glusterfs
uos·glusterfs·国产化os
无泪无花月隐星沉18 天前
uos server 1070e部署Hadoop
大数据·运维·服务器·hadoop·分布式·uos·国产化os
奔跑中的小象1 个月前
统信UOS V2500 环境下K8S 环境部署
云原生·容器·kubernetes·uos
奔跑中的小象1 个月前
统信UOS V2500服务器操作系统+海光K100 AI卡环境下VLLM服务部署
服务器·人工智能·uos·vllm·统信·海光k100
蛊明5 个月前
在VMware中安装统信UOS桌面专业版
linux·vmware·uos
识途老码7 个月前
UOS 20 Pro为国际版WPS设置中文菜单
信创·wps·uos·国产操作系统·统信
识途老码7 个月前
UOS无法安装deb软件包
信创·uos·国产操作系统·统信操作系统
麟城Lincoln8 个月前
【Linux笔记】nfs网络文件系统与autofs(nfsdata、autofs、autofs.conf、auto.master)
linux·网络·笔记·nfs·autofs
Tony11541 年前
UOS系统和windows系统wps文档显示差异问题解决
windows·wps·uos