Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 24 down vote accepted

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.

share|improve this answer
Does the icon come back next time you insert a disc? – Tom Brossman Dec 7 '12 at 23:21
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. – Chris Wilson Dec 7 '12 at 23:28
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 '12 at 23:43

To open the CD drive / eject the CD: Open Terminal 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.

share|improve this answer

Opening the Tray


  • 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.


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 ()
    if [ -d "${mountdir}" ] # If directory ${mountdir} exists
        if [ $(mount | grep -c "${mountdir}") = 1 ] # If drive is mounted, 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.  
            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.  
        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.

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'
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.