我最近将我的 Dell Inspiron 5558 升级到了 Ubuntu 18.04。自从升级以来,DVD 驱动器一直在随机时间自动打开。我该如何解决这个问题?
答案1
Ubuntu 18.04 是否有setcd
可用的软件包?如果有,请安装它,然后运行:
sudo setcd -s /dev/sr0
它应该输出类似这样的内容:
/dev/sr0:
Auto close tray: cleared
Auto open tray: cleared
Use O_NONBLOCK flag: set
Lock tray: set
Check CD type: cleared
如果“自动打开托盘”显示的是“设置”,则运行sudo setcd -o0 /dev/sr0
应该可以解决您的问题,直到下次重启。
根本原因可能是桌面环境中可用于安装可移动磁盘的工具。它会不时轮询 DVD 驱动器。如果设置了“自动打开托盘”,则轮询完成后托盘将打开,并且该工具将停止访问驱动器。
如果禁用“自动打开”功能对您有帮助,您可能还想禁用“自动关闭”功能,因为它可能会在您即将将光盘放入托盘时尝试关闭驱动器。我在使用 KDE 的 Debian 7 左右的系统中遇到过这个问题。
Ubuntu 18.04 有systemd
,所以使这些设置持久的最佳方法可能是创建一个服务文件以setcd
在启动时运行必要的命令。
/etc/systemd/system
因此,创建一个具有描述性名称和后缀的文件.service
。例如,我们将其命名为/etc/systemd/system/dvd-stop-open.service
。文件的内容应为:
[Unit]
Description=Disable DVD auto-open
Documentation=man:setcd(1)
[Service]
Type=oneshot
ExecStart=/usr/bin/setcd -o0 /dev/sr0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
创建服务文件后,启用该服务:
sudo systemctl enable dvd-stop-open.service
通过启动服务并验证Active:
服务状态中的字段是否显示以下内容进行测试active (exited)
:
sudo systemctl start dvd-stop-open.service
systemctl status dvd-stop-open.service
或者,您可以通过在 /proc/sys/dev/cdrom/autoeject 中插入“0”来避免更改 systemd
选一个:
使用 rc.local:
echo 0 > /proc/sys/dev/cdrom/autoeject
使用 /etc/crontab:
@reboot root echo 0 > /proc/sys/dev/cdrom/autoeject
或者作为一次性的、非持久的跨启动命令行使用 sudo:
echo 0 | sudo tee /proc/sys/dev/cdrom/autoeject
这将立即生效。无需重新启动 sysctl 或服务文件...