KDE eject modificato [Tips]

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
iobondo
Linux 0.x
Linux 0.x
Messaggi: 24
Iscritto il: mer 19 mag 2004, 0:00
Nome Cognome: Andrea Bondoni
Slackware: 12.1
Kernel: 2.6.31.4
Desktop: kde
Località: Storo (TN), Italy

KDE eject modificato [Tips]

Messaggio da iobondo »

Per quelli che come me usano kde senza l'automount, sara capitato spesso montando un cd e dopo aver usato vari programmi e/o aperto shell da konqueror con file dello stesso, di non riuscire più ad espellere il CD :evil:

A me capita 1 volta su 2, ogni volta mi tocca cercare l'applicazione che mi occupa il device.

Allora ho pensato che si potesse fare qualcosa di più pratico con il mio caro linux,
ecco allora che ho modificato /opt/kde/bin/kdeeject che altro non è che uno script

Codice: Seleziona tutto

#!/bin/sh
# Script used by kdesktop to eject a removable media (CDROM/Tape/SCSI/Floppy)
# Relies on the 'eject' program, 'cdcontrol' on *BSD
#
# Copyright GPL v2 by David Faure <david@mandrakesoft.com>
#
if test $# -ge 1 -a "$1" != "--help"; then
  quiet=0
  if test "$1" = "-q"; then
    quiet=1
    shift
  fi
  # 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 test $? -eq 0; then
    dcop kdesktop default refreshIcons
    exit 0
  elif test $quiet -eq 0; then
    kdialog --title "KDE Eject" --warningyesno "Eject $1 failed ! \n (se scegli si sappi che causerà la chiusura del programma/i \n che occupa/ano il device) \n Vuoi forzare l'azione ? "
    if test $? -eq 0; then
      kill `lsof -t $1`
      kdeeject $1
    fi
  fi
else
  kdialog --title "KDE Eject" --msgbox "Usage: $0 <name> where name is a device or a mountpoint."
fi
exit 1
In pratica quando cliccando su eject del device e lo stesso fallisce causa il device occupato, anziche produrre solamente un warning, come è solito fare, chiederà se si vuole forzare l'azione o no.
se si decide di forzare l'azione (if test $? -eq 0) allora contrillo i processi che occupano il device e li killo (kill `lsof -t $1`) :idea:
Un pò brutale ma efficace ;)

Se può essere utile bene ... altimenti insultate pure :roll:

sir_alex
Linux 3.x
Linux 3.x
Messaggi: 735
Iscritto il: lun 21 mar 2005, 0:00
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu
Località: Milano - Corbola (RO)
Contatta:

Messaggio da sir_alex »

Placet, peraltro penso sia simile a quanto fa ora k3b, che se trova il device occupato ti chiede di distruggere democraticamente il programma che lo blocca... :D

Avatar utente
goldy
Packager
Packager
Messaggi: 1267
Iscritto il: lun 3 mag 2004, 0:00
Slackware: Current
Kernel: 2.6.26.5
Desktop: KDE 3.5.10
Località: Bologna
Contatta:

Messaggio da goldy »

Utile , io spesso sono costretto a killare kio_media o kio_cdaudio per far uscire il cd.
Adesso provo con la tua modifica.
Grazie

Avatar utente
nicop
Linux 2.x
Linux 2.x
Messaggi: 232
Iscritto il: mer 18 gen 2006, 11:21
Nome Cognome: Nicola Palmieri
Slackware: 12.0
Kernel: 2.6.21.5
Desktop: Gnome Slacky
Località: San Martino In P. (Cb)
Contatta:

Messaggio da nicop »

sir_alex ha scritto:Placet, peraltro penso sia simile a quanto fa ora k3b, che se trova il device occupato ti chiede di distruggere democraticamente il programma che lo blocca... :D
capitato anche a me....dovevo formattare il dvd rescrivibile e mi diceva device occupato!!!ho smontato il device e tutto è tornato apposto!!!

Rispondi