Re: Problema cdrom
On Thu, 03 Mar 2005 20:29:58 +0100, Cristian Versari
<cversari@csr.unibo.it> wrote:
> Cristian Versari ha scritto:
> > kill -9 `lsof -n /dev/hdc | awk '{ print $2 }' | sort -u` ;
> > eject /dev/hdc
>
Ho guardato l'output di "lsof -n /dev/hdc" e, se non ho capito
male è quel processo che rompe le balle e trattiene il device.
Ho notato però che dopo un po' quel processo viene comunque
killato; mi viene da pensare che la tua soluzione sia utile
quando uno fa l'unmount e si accorge che ci vogliono
ancora una trentina di secondi (questo nel mio caso!)
prima che lo user possa vedere il suo cd sputato indietro
(il problema si verifica sia tramite comando "eject" sia
tramite bottoncino sul dispositivo bottoncino).
In realtà penso che il problema del thread-starter è un po'
diverso: vorrebbe espellere il cd tramite menu-popup di kde,
che utilizza lo script /usr/bin/kdeeject. Penso che sia li
l'inghippo. Gia con kde 3.2 dava dei problemi:
http://www.cancermeeting.it/mess_312376_1257210.html
A testimonianza del fatto che i miei dubbi sono fondati,
dopo aver eseguito l'unmount e aver killato il processo
come dici tu, ho provato a dare da terminale "kdeeject /cdrom"
ed è spuntato fuori llo stesso kdialog con il msg di errore.
Il problema è in quello script o chissaddove!
Visto che lo script è cortissimo e io sono un ignorantone di
script di shell e di molte altre cose, vi posto lo script /usr/bin/kdeeject...
magari qualcuno vede al volo qualcosa che non va.
----------
if [ $# = 1 -a "$1" != "--help" ]; then
# Checking for stuff in the PATH is ugly with sh.
# I guess this is the reason for making this a kde app...
OS=`uname -s`
case "$OS" in
OpenBSD)
cdio -f $1 eject >/dev/null 2>&1
;;
*BSD)
dev=`echo $1 | sed -E -e 's#/dev/##' -e 's/([0-9])./\1/'`
cdcontrol -f $dev eject >/dev/null 2>&1
;;
*)
eject $1 >/dev/null 2>&1
;;
esac
if [ $? = 0 ]; then
dcop kdesktop default refreshIcons
exit 0
else
# QUESTO E' IL DIALOG IN QUESTIONE !!!
kdialog --title "KDE Eject" --error "Eject $1 failed!"
fi
else
kdialog --title "KDE Eject" --msgbox "Usage: $0 <name> where name is
a device or a mountpoint."
fi
exit 1
----------
Il comando 'uname -s' restituisce "Linux", quindi lo switch dovrebbe
matchare il terzo caso e sputare fuori il cd, ma questo non
avviene.
Paolo
Reply to: