个人工具

“UbuntuHelp:EjectCDLauncher”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
 
(未显示2个用户的6个中间版本)
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/EjectCDLauncher}}
 
{{From|https://help.ubuntu.com/community/EjectCDLauncher}}
{{Languages|php5}}
+
{{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>
第41行: 第39行:
  
 
#Get parameters
 
#Get parameters
if [ "$1" === "-h" ] || [ "$1" === "--help" ] ; then
+
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"
第50行: 第48行:
 
fi
 
fi
  
if [ "$1" === "-z" ] || [ "$1" === "--zenity" ] ; then
+
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."
第98行: 第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>
第110行: 第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>
第118行: 第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.
 
----
 
----
CategoryDocumentation
 
  
 
[[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.