如何在安装 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

相关推荐
奔跑中的小象6 天前
统信UOS 系统AISBench大模型评测工具使用手册
uos·aibench
奔跑中的小象10 天前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
奔跑中的小象14 天前
UOS V2500 沐曦mx-exporter监控加速卡(非K8S)
grafana·prometheus·uos·vllm·沐曦
Kina_C22 天前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
fleaxin4 个月前
大华海光GPU服务器安装PVE和统信系统虚拟机
服务器·nvidia·pve·uos·统信
NotStrandedYet6 个月前
《国产系统运维笔记》第7期:打工人换统信UOS国产电脑后,第一件事:装RabbitMQ!
运维·mqtt·rabbitmq·国产化·uos·统信·信创运维
muyan96 个月前
统信uos-server-20-1070e-arm64-20250704-1310 安装mysql-5.7.44
linux·mysql·yum·rpm·uos·统信
muyan96 个月前
浅吐槽一下统信uos linux
linux·运维·国产化·uos·统信·去ioe
奔跑中的小象6 个月前
统信 UOS V2500 服务器 | OpenClaw AI Agent 全流程安装部署手册
ai·uos·统信·openclow
babytiger7 个月前
scrcpy 编译在ubuntu2404 和UOS上
ubuntu·uos·scrcpy