在linux笔记本电脑(ubuntu)上禁用cd / dvd按钮


11

我的托德勒不断地按cd / dvd按钮并试图破坏托盘。我知道应该可以禁用弹出按钮,让她的生活更艰难。怎么做?这是ubuntu(没关系)linux。另请参阅此相关问题

和这个一样,但是在Windows上

编辑:这是哈迪


1
这使我想起一个录像带,该录像带的某人脚本不断弹出并关闭光盘驱动器。有一根绳子将磁盘托盘连接到婴儿摇杆。光盘驱动器刚好震撼了婴儿!
Jonno_FTW

@Jonno_FTW:类似的故事也来自德国的ubuntuusers网站。有人创建了一个“基准”来衡量驱动器在一分钟内打开和关闭的频率。不用说,有人想出了如何通过网络做到这一点,并在工作中获得了一些乐趣。
鲍比(Bobby)

Answers:


5

这很好,它可以很好地工作(代码不是很健壮,但是如果我永远不需要的话,我可以自己进行改进)
Davide

这在Fedora 19中不起作用。使用Thinkpad T410笔记本电脑。
slm 2013年

刚开始在Ubuntu上没有工作,但我没有看到帖子的更新(搜索“ UPDATE1 03.Jan.2013”​​,该补丁具有使解决方案链接到的修复程序,请再次使用,请不要错过该评论当给它一个机会时
–Björn2014年

12

在命令行中:

eject -i 1

要恢复正常:

eject -i 0

或者,您可以使用以下软件软件将其弹出:

eject

在所有情况下,如果有多个弹出设备,则可以添加设备名称。

显然,这不适用于所有版本的弹出。如果您不喜欢它,则可以完全绕过弹出并以“硬”方式进行:

echo 1 | sudo tee /proc/sys/dev/cdrom/lock

谢谢,但是对我的操作系统不起作用:$ ject -i 1退出:无效选项-i $ eject --version退出Jeff Tranter(tranter@pobox.com)2.1.5版
Davide,2009年

抱歉,注释无法正确对齐代码段,因此无法编辑!让我再试一次:$ eject -i 1结果eject: invalid option -- i-您应该可以从其他评论中找出版本
-Davide

奇怪的。$ eject -i 1在Karmic中对我有效。版本2.1.5。
里根

1
如果您想用困难的方式做,那么<code> <pre> sudo echo 1&gt; / proc / sys / dev / cdrom / lock </ pre> </ code>可以用于任何版本的弹出,因为您没有使用弹出。
大猩猩

@gorilla,你应该补充一点作为自己的答案..
嘎嘎吉诃德

2

Ubuntu的默认自动安装器在装入插入的光盘时不会锁定CD / DVD try。但是,如果您手动安装光盘(例如使用sudo),则托盘应锁定并保持锁定状态,直到您卸下光盘为止。

因此,此过程可以完成您想要的操作,而不会禁用其他功能,甚至可以编写脚本以进行快速访问:

  1. 插入光盘,
  2. 运行sudo umount /media/cdrom,然后
  3. sudo mount /dev/cdrom /media/cdrom

显然,将这​​些路径和设备替换为系统使用的路径和设备。


可行,但是不方便(实际上我确实知道这一点)。无论如何,谢谢您的回答。
Davide

2

一个用户留下了评论的另一个问题。评论应该是一个单独的答案。我在这里写他的建议,因为它可能对某人有用(在Hardy Haron中不起作用),并且可能比从我接受的问题中安装代码更方便。

锁定:

sudo bash -c 'echo 1 > /proc/sys/dev/cdrom/lock'

开锁:

sudo bash -c 'echo 0 > /proc/sys/dev/cdrom/lock'

当然,将使用可能从面板链接的小型Shell脚本。


是否需要重新启动服务才能使其正常工作?按下弹出按钮时,驱动器仍在打开。
CauselessEffect

我写的@CauselessEffect对我没用
Davide

1

您可能要尝试使用cdctl。可以在这里找到:http : //cdctl.sourceforge.net/。此开关将完成您想要的。

       -oS, --lockdoor=S
          Locks the eject button so the disc cannot be manually ejected.  Requires  kernel  ver‐
          sion 2.2.4 or newer.  Set S to 0 to unlock the drive, and to 1 to lock it.

我在Fedora,RHEL,CentOS上已经使用了10年,但是该软件包可以作为tarball使用,并且应该可以在Ubuntu上编译。注意:该软件包有一段时间没有更新,但是可以正常工作。gentoo网站上有一个修补程序,可解决一个小问题,以便可以使用最新的内核进行编译。该修补程序在这里可用:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/files/cdctl-0.15-cdc_ioctls.patch?revision=1.1

安装后,可以使用以下命令锁定CD托盘:

cdctl -o1

解锁托盘:

cdctl -o0

我最近将cdctl重新打包以用于Debian / Ubuntu 12.10。可在此处获得,http://www.lamolabs.org/blog/wp-content/uploads/2011/01/cdctl_0.15-1.lamolabs.1_amd64.deb


对我而言,它不是建立在最新版本的Ubuntu上。需要来自gentoo的此补丁:sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/…。严重的是,为什么要麻烦一个不会采用此类简单补丁的工具。
dgrant

嗯,因为它是我发现的唯一可以满足我需要的工具。除了应用补丁没什么大不了的,我还在这里的yum存储库中维护了此版本的构建版本:lamolabs.org/yum-repos/Fedora/14/x86_64/…。不能直接用我转,但你可以使用的应用程序外星人,将其转换addictivetips.com/ubuntu-linux-tips/...
slm 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.