52

I've just right clicked on the DVD icon in the Unity Launcher in order to eject it, but instead of hitting the 'Eject' button, I missed and hit the 'Unlock from Launchpad' option instead.

How do I go about ejecting the disk from the drive now that the Launcher option is missing?

6 Answers 6

76

In order to eject a disk from the drive, whether it's a CD or a DVD, open a terminal and simply execute the eject command.

6
  • Does the icon come back next time you insert a disc? Dec 7, 2012 at 23:21
  • 2
    The icon does not actually come back for that particular disk. A similar one will appear, at a lower resolution and without the eject option, and the full one will appear when you insert a new disk. I'm not sure how to undo this - I'm still looking into that.
    – user2405
    Dec 7, 2012 at 23:28
  • 1
    I think you need too add the device after the eject command, like eject /dev/sr0 --- It seems the default symlink /dev/dvd is not created anymore by default, and "eject" only works for /dev/dvd when entered without parameters
    – marto
    Dec 7, 2012 at 23:43
  • Working on Ubuntu 16.04 via remote shell (SSH). It requires sudo. Nov 23, 2018 at 19:02
  • eject worked for me then got stopped working, with the following error: "eject: /dev/cdrom: not found mountpoint or device with the given name". After executing eject /dev/sr0 I could again use eject, eject -T etc. Mar 28, 2019 at 15:10
23

To open the CD drive / eject the CD:

  • Open Terminal using Ctrl+Alt+T, and type eject
  • To close the tray, type eject -t
  • And to toggle (if open, close and if closed, open) type eject -T

All these commands can be typed into the run dialogue (Alt+F2)

For more options, type eject -h into Terminal.

9

Opening the Tray

Commands:

  • open tray: eject
  • close tray: eject -t

Easy Function for .bashrc

alias opentray='eject'

A few issues arise when ejecting drives. Sometimes they don't want to eject, because they are mounted etc. You can override this with eject -l /media/mountpoint or (/mnt/mountpoint). I wrote a function that can be called by simply typing opentray on your command line.

Notice

This works only if

  • you setup a permanent mount point for your drive /dev/sr0 (same thing as /dev/cdrom, which is just symbolically linked to /dev/sr0)
  • your mount point is automatically created when you insert a disk into the drive. (This can be ignored if you remove/comment out all lines where rm -r "${mountdir}" exists that way the mount point will never be removed automatically)
  • Must run as root unless you changed the permissions manually of mounting functions (I have never tried this)

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
}

Closing the Tray

For completeness, you can add this alias to your .bashrc ( or .bash_aliases file) to pull the tray back in from the command line. You do not need to be root.

alias closetray='eject -t'
2

The eject command might fail if it does not recognize your external cdrom drive. In that case, you will have to identify the /dev device manually and run the explicit command. A good candidate if you have an external USB drive is

eject /dev/sr0

1

The man page for eject on Ubuntu contains no force options (either -F or --force).

You may eject a "busy" (in use) DVD:

eject -m

This worked for me to replace a defective dvd with a freshly burned one to continue an installation.

0

In the application "Terminal" either enter:

  • eject
  • eject --force
3
  • 1
    eject --forceeject: unrecognized option '--force'
    – karel
    Apr 14, 2019 at 11:52
  • For older kernels: eject -F Apr 15, 2019 at 12:28
  • 1
    The --force doesn't work for me on Ubuntu 18.04, but eject -v /dev/sr0 does give usefull information. (or eject -h)
    – Paul
    Jun 19, 2020 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy