“UbuntuHelp:EjectCDLauncher”的版本间的差异
来自Ubuntu中文
小 |
小 |
||
(未显示2个用户的5个中间版本) | |||
第2行: | 第2行: | ||
{{Languages|UbuntuHelp:EjectCDLauncher}} | {{Languages|UbuntuHelp:EjectCDLauncher}} | ||
You will get an icon on your panel and when you click on it, the cdrom gets unmounted and ejected. | You will get an icon on your panel and when you click on it, the cdrom gets unmounted and ejected. | ||
− | |||
Create a new file: | Create a new file: | ||
<pre><nowiki> | <pre><nowiki> | ||
gksudo gedit /usr/local/bin/eject_cd | gksudo gedit /usr/local/bin/eject_cd | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Paste the following lines: | Paste the following lines: | ||
<pre><nowiki> | <pre><nowiki> | ||
+ | #! /bin/sh | ||
+ | # | ||
+ | # Try to unmount a CD-Rom device, then eject it. | ||
+ | # | ||
DEVICE="$1" | DEVICE="$1" | ||
第16行: | 第18行: | ||
+ | #Ctrl-C trapping | ||
trap ctrlc INT | trap ctrlc INT | ||
ctrlc() | ctrlc() | ||
第25行: | 第28行: | ||
+ | #Show a dialog with zenity | ||
+ | #@param string The text to display | ||
show_dialog() | show_dialog() | ||
{ | { | ||
第33行: | 第38行: | ||
− | if [ "$1" | + | #Get parameters |
+ | if [ "$1" == "-h" ] || [ "$1" == "--help" ] ; then | ||
echo "Usage: eject_cdrom [-q] DEVICE" | echo "Usage: eject_cdrom [-q] DEVICE" | ||
echo -e "Try to unmount DEVICE then eject it if successful.\n" | echo -e "Try to unmount DEVICE then eject it if successful.\n" | ||
第42行: | 第48行: | ||
fi | fi | ||
− | if [ "$1" | + | if [ "$1" == "-z" ] || [ "$1" == "--zenity" ] ; then |
if [ ! -x "$ZENITY_BIN" ] ; then | if [ ! -x "$ZENITY_BIN" ] ; then | ||
echo "You must install zenity before that." | echo "You must install zenity before that." | ||
第56行: | 第62行: | ||
+ | #Device check | ||
+ | #TODO: Check if DEVICE is truly a device. | ||
if [ ! -e "$device" ] ; then | if [ ! -e "$device" ] ; then | ||
echo "Parameter DEVICE is not a file." | echo "Parameter DEVICE is not a file." | ||
第64行: | 第72行: | ||
echo "Trying to eject CD-Rom..." | echo "Trying to eject CD-Rom..." | ||
+ | #Unmount | ||
umount "$device" 2>/dev/null | umount "$device" 2>/dev/null | ||
last_err="$?" | last_err="$?" | ||
第74行: | 第83行: | ||
fi | fi | ||
+ | #Eject | ||
eject "$device" | eject "$device" | ||
last_err="$?" | last_err="$?" | ||
第86行: | 第96行: | ||
exit 0 | exit 0 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Make the script executable: | Make the script executable: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo chmod +x /usr/local/bin/eject_cd | sudo chmod +x /usr/local/bin/eject_cd | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Create a new launcher on a panel (or wherever you want): | Create a new launcher on a panel (or wherever you want): | ||
<pre><nowiki> | <pre><nowiki> | ||
第98行: | 第106行: | ||
'Custom Application Launcher' | 'Custom Application Launcher' | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Type this (replace /dev/cdrom with your CD-Rom device): | Type this (replace /dev/cdrom with your CD-Rom device): | ||
<pre><nowiki> | <pre><nowiki> | ||
第106行: | 第113行: | ||
Icon: /usr/share/icons/gnome/24x24/devices/gnome-dev-removable.png | Icon: /usr/share/icons/gnome/24x24/devices/gnome-dev-removable.png | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Click 'Close' | Click 'Close' | ||
− | |||
Note: | Note: | ||
This script uses zenity to display errors. However if you don't want this feature, remove the '-z' parameter. | This script uses zenity to display errors. However if you don't want this feature, remove the '-z' parameter. | ||
− | |||
To install zenity: | To install zenity: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install zenity | sudo apt-get install zenity | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Credits: [http://ubuntuforums.org/showthread.php?t=52768 Sam] | Credits: [http://ubuntuforums.org/showthread.php?t=52768 Sam] | ||
---- | ---- | ||
[http://wiki.ubuntu.org.cn/EjectCDLauncher A Chinese translation] of this article. | [http://wiki.ubuntu.org.cn/EjectCDLauncher A Chinese translation] of this article. | ||
---- | ---- | ||
− | |||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2009年5月12日 (二) 16:36的最新版本
You will get an icon on your panel and when you click on it, the cdrom gets unmounted and ejected.
Create a new file:
gksudo gedit /usr/local/bin/eject_cd
Paste the following lines:
#! /bin/sh # # Try to unmount a CD-Rom device, then eject it. # DEVICE="$1" ZENITY_BIN="/usr/bin/zenity" #Ctrl-C trapping trap ctrlc INT ctrlc() { echo -e "\nAborted by user." rm -rf $TMP_DIR exit 2 } #Show a dialog with zenity #@param string The text to display show_dialog() { if [ "$use_zenity" -gt "0" ] ; then zenity --error --title "CD-Rom eject" --info-text "$1" fi } #Get parameters if [ "$1" == "-h" ] || [ "$1" == "--help" ] ; then echo "Usage: eject_cdrom [-q] DEVICE" echo -e "Try to unmount DEVICE then eject it if successful.\n" echo "Possible parameters:" echo -e "-h, --help\tdisplay this help and exit." echo -e "-z, --zenity\tuse zenity to displays errors in dialog windows." exit 0 fi if [ "$1" == "-z" ] || [ "$1" == "--zenity" ] ; then if [ ! -x "$ZENITY_BIN" ] ; then echo "You must install zenity before that." exit 1 fi use_zenity="1" device="$2" else use_zenity="0" device="$1" fi #Device check #TODO: Check if DEVICE is truly a device. if [ ! -e "$device" ] ; then echo "Parameter DEVICE is not a file." exit 1 fi echo "Trying to eject CD-Rom..." #Unmount umount "$device" 2>/dev/null last_err="$?" if [ "$last_err" -eq "1" ] ; then msg="Cannot unmount device $device (busy)." echo "$msg" show_dialog "$msg" exit 1 fi #Eject eject "$device" last_err="$?" if [ "$last_err" -ne "0" ] ; then msg="Cannot eject device." echo "$msg" show_dialog "$msg" exit 1 fi exit 0
Make the script executable:
sudo chmod +x /usr/local/bin/eject_cd
Create a new launcher on a panel (or wherever you want):
Right-click on the panel 'Add to Panel' 'Custom Application Launcher'
Type this (replace /dev/cdrom with your CD-Rom device):
Name: Eject CD-Rom Comment: Unmount and eject the CD-Rom /dev/cdrom Command: /usr/local/bin/eject_cd -z /dev/cdrom Icon: /usr/share/icons/gnome/24x24/devices/gnome-dev-removable.png
Click 'Close' Note: This script uses zenity to display errors. However if you don't want this feature, remove the '-z' parameter. To install zenity:
sudo apt-get install zenity
Credits: Sam
A Chinese translation of this article.