如何从命令行弹出 CD/DVD

48 command-line dvd eject

我刚刚右键单击 Unity Launcher 中的 DVD 图标以将其弹出,但我没有点击“弹出”按钮,而是错过并点击了“从 Launchpad 解锁”选项。

既然缺少 Launcher 选项,我该如何从驱动器中弹出磁盘?

小智 74

为了从驱动器中弹出磁盘,无论是 CD 还是 DVD,打开终端并简单地执行eject命令。

  • 该图标实际上不会为该特定磁盘返回。将出现一个类似的,分辨率较低且没有弹出选项,当您插入新磁盘时,将出现完整的。我不知道如何撤消这个 - 我还在研究那个。 (2认同)

Tim*_*Tim 22

要打开 CD 驱动器/弹出 CD:

  • 使用打开终端Ctrl+ Alt+ T,和类型eject
  • 要关闭托盘,请键入 eject -t
  • 并切换(如果打开,关闭,如果关闭,打开)类型 eject -T

所有这些命令都可以输入到运行对话框 ( Alt+ F2)

如需更多选项,请eject -h在终端中输入。


Jon*_*mar 9

打开托盘

命令:

  • 打开托盘: eject
  • 关闭托盘: eject -t

.bashrc 的简单函数

alias opentray='eject'

弹出驱动器时会出现一些问题。有时他们不想弹出,因为他们被挂载等。你可以用eject -l /media/mountpoint或 ( /mnt/mountpoint)覆盖它。我写了一个函数,只需opentray在命令行上输入即可调用。

注意

这仅适用于

  • 您为驱动器设置了一个永久安装/dev/sr0(与 相同/dev/cdrom,只是象征性地链接到/dev/sr0
  • 当您将磁盘插入驱动器时,您的挂载点会自动创建(如果您删除/注释掉所有 rm -r "${mountdir}" 存在的行,则可以忽略此问题,这样挂载点将永远不会被自动删除)
  • 除非您手动更改挂载功能的权限,否则必须以 root 身份运行(我从未尝试过)

function opentray ()
{
    mountdir="/media/DVD"
    if [ -d "${mountdir}" ] # If directory ${mountdir} exists
    then
        if [ $(mount | grep -c "${mountdir}") = 1 ] # If drive is mounted, then
        then
            echo "/dev/sr0 is now mounted to ${mountdir}. I'll try to unmount it first and eject/open the tray."
            umount -l "${mountdir}"
            rm -r "${mountdir}"
            sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.  
            eject
            exit
        else
            echo "/dev/sr0 is not mounted. Opening the tray should be easy. Ejecting/opening now."
            rm -r "${mountdir}"
            sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.  
            eject
            exit
        fi
    else
        echo 'The directory "${mountdir}" does not exist. Ejecting/opening the tray.'
        sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.
        eject
        exit
    fi
}
Run Code Online (Sandbox Code Playgroud)

关闭托盘

为了完整起见,您可以将此别名添加到您的.bashrc(或.bash_aliases文件)以从命令行拉回托盘。您不需要是 root。

alias closetray='eject -t'
Run Code Online (Sandbox Code Playgroud)