How to eject a CD/DVD from the command line
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
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?
unity command-line dvd eject
add a comment |
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?
unity command-line dvd eject
add a comment |
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?
unity command-line dvd eject
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?
unity command-line dvd eject
unity command-line dvd eject
edited Jul 16 '14 at 15:24
Pandya
20.7k2897157
20.7k2897157
asked Dec 7 '12 at 23:05
user2405
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
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.
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 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 '12 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 '12 at 23:43
Working on Ubuntu 16.04 via remote shell (SSH). It requiressudo
.
– Sopalajo de Arrierez
Nov 23 '18 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 executingeject /dev/sr0
I could again useeject
,eject -T
etc.
– Victoria Stuart
Mar 28 at 15:10
add a comment |
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.
add a comment |
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'
add a comment |
In the application "Terminal" either enter:
eject
eject --force
eject --force
→eject: unrecognized option '--force'
– karel
15 hours ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f226638%2fhow-to-eject-a-cd-dvd-from-the-command-line%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 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 '12 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 '12 at 23:43
Working on Ubuntu 16.04 via remote shell (SSH). It requiressudo
.
– Sopalajo de Arrierez
Nov 23 '18 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 executingeject /dev/sr0
I could again useeject
,eject -T
etc.
– Victoria Stuart
Mar 28 at 15:10
add a comment |
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.
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 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 '12 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 '12 at 23:43
Working on Ubuntu 16.04 via remote shell (SSH). It requiressudo
.
– Sopalajo de Arrierez
Nov 23 '18 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 executingeject /dev/sr0
I could again useeject
,eject -T
etc.
– Victoria Stuart
Mar 28 at 15:10
add a comment |
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.
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.
edited Apr 13 '17 at 12:25
Community♦
1
1
answered Dec 7 '12 at 23:05
user2405
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 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 '12 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 '12 at 23:43
Working on Ubuntu 16.04 via remote shell (SSH). It requiressudo
.
– Sopalajo de Arrierez
Nov 23 '18 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 executingeject /dev/sr0
I could again useeject
,eject -T
etc.
– Victoria Stuart
Mar 28 at 15:10
add a comment |
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 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 '12 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 '12 at 23:43
Working on Ubuntu 16.04 via remote shell (SSH). It requiressudo
.
– Sopalajo de Arrierez
Nov 23 '18 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 executingeject /dev/sr0
I could again useeject
,eject -T
etc.
– Victoria Stuart
Mar 28 at 15:10
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 at 23:21
Does the icon come back next time you insert a disc?
– Tom Brossman
Dec 7 '12 at 23:21
2
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 '12 at 23:28
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 '12 at 23:28
1
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 '12 at 23:43
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
Working on Ubuntu 16.04 via remote shell (SSH). It requires
sudo
.– Sopalajo de Arrierez
Nov 23 '18 at 19:02
Working on Ubuntu 16.04 via remote shell (SSH). It requires
sudo
.– Sopalajo de Arrierez
Nov 23 '18 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.– Victoria Stuart
Mar 28 at 15:10
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.– Victoria Stuart
Mar 28 at 15:10
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered Nov 17 '13 at 18:54
TimTim
20.2k1586143
20.2k1586143
add a comment |
add a comment |
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'
add a comment |
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'
add a comment |
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'
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'
edited Jan 17 '15 at 11:49
answered Jan 17 '15 at 10:21
Jonathan KomarJonathan Komar
27438
27438
add a comment |
add a comment |
In the application "Terminal" either enter:
eject
eject --force
eject --force
→eject: unrecognized option '--force'
– karel
15 hours ago
add a comment |
In the application "Terminal" either enter:
eject
eject --force
eject --force
→eject: unrecognized option '--force'
– karel
15 hours ago
add a comment |
In the application "Terminal" either enter:
eject
eject --force
In the application "Terminal" either enter:
eject
eject --force
answered 16 hours ago
Alberto Salvia NovellaAlberto Salvia Novella
301112
301112
eject --force
→eject: unrecognized option '--force'
– karel
15 hours ago
add a comment |
eject --force
→eject: unrecognized option '--force'
– karel
15 hours ago
eject --force
→ eject: unrecognized option '--force'
– karel
15 hours ago
eject --force
→ eject: unrecognized option '--force'
– karel
15 hours ago
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f226638%2fhow-to-eject-a-cd-dvd-from-the-command-line%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown