Script em Xdialog para montar / desmontar dispositivos

Publicado por Sandro Marcell 29/12/2006

[ Hits: 6.795 ]

Homepage: http://sanmarcell.wordpress.com

Download montar




Escrevi este simples script com o intuito de facilitar a montagem/desmontagem do CD-ROM e disquete no meu Slackware. Ele monta o dispositivo escolhido, mostrando uma barra de progresso e depois abre o gerenciador de arquivos e mostra todo o conteúdo do dispositivo.

ATENÇÃO: Os caminhos/dispositivos descritos no script são referentes a distribuição Slackware, se você usa uma distribuição diferente, faça as modificações necessárias. Verifique também as permissões de acesso aos dispositivos.

  



Esconder código-fonte

#!/bin/bash

# Script escrito por: SANDRO MARCELL PADILHA BARBOSA
# E-mail: sandro_marcell@yahoo.com.br
# Slackware GNU/Linux 10.1
# É necessário o Xdialog-2.1.2
# SEU_GERENCIADOR_DE_ARQUIVOS = substitir pelo seu gerenciador favorito! Ex.: rox /mnt/floppy& ou nautilus /mnt/cdrom&
 
Principal ()
{
OPÇÃO=$(Xdialog --stdout --title "Monta_X" --no-tags --menu "O QUE VOCÊ DESEJA FAZER?" 0 0 0 \
1 "Montar CD-ROM" \
2 "Montar Disquete" \
3 "Desmontar CD-ROM" \
4 "Desmontar Disquete" \
5 "Sair")

case $OPÇÃO in
1) Montar_CDROM ;;
2) Montar_Disquete ;;
3) Desmontar_CDROM ;; 
4) Desmontar_Disquete ;;
5) exit ; clear ;;
esac
}

CDROM=/mnt/cdrom
DISQUETE=/mnt/floppy

Verificando_CDROM ()
{
cdr=$(grep -l $CDROM /etc/mtab)
if [ $? = '0' ]; then
Xdialog --title "Monta_X" --msgbox "O CD-ROM já está montado!" 6 40
exit 1
fi   
}

Verificando_Disquete ()
{
dqt=$( grep -l $DISQUETE /etc/mtab )
if [ $? = '0' ]; then
Xdialog --title "Monta_X" --msgbox "O disquete já está montado!" 6 40
exit 1
fi   
}

Rodando() { ps $1 | grep $1 >/dev/null; }

PERCENTO=0

Montar_CDROM ()
{
Verificando_CDROM
mount /dev/cdrom&
MONTAGEM=$!

(
while Rodando $MONTAGEM
do
PERCENTO=$[ $PERCENTO+1 ]
echo "$PERCENTO"
sleep 0.5
done
echo "100"
) | Xdialog --title "Monta_X" --gauge "Montando CD-ROM! Aguarde..." 6 40 0

Xdialog --title "Monta_X" --msgbox "CD-ROM montado!" 6 40

SEU_GERENCIADOR_DE_ARQUIVOS /mnt/cdrom&

exit
}

Montar_Disquete ()
{
Verificando_Disquete
mount /dev/fd0&
MONTAGEM=$!

(
while Rodando $MONTAGEM
do
PERCENTO=$[ $PERCENTO+1 ]
echo "$PERCENTO"
sleep 0.5
done
echo "100"
) | Xdialog --title "Monta_X" --gauge "Montando disquete! Aguarde..." 6 40 0

Xdialog --title "Monta_X" --msgbox "Disquete montado!" 6 40

SEU_GERENCIADOR_DE_ARQUIVOS /mnt/floppy&

exit 
}

Desmontar_CDROM ()
{
Xdialog --title "Monta_X" --no-buttons --infobox "Desmontando CD-ROM! Aguarde..." 6 50 
umount /dev/cdrom
if [ $? = "0" ]; then
eject
Xdialog --title "Monta_X" --msgbox "CD-ROM desmontado!" 6 40

else

Xdialog --title "Monta_X" --msgbox "Dispositivo ocupado ou não montado!" 6 40
Principal
fi
}

Desmontar_Disquete ()
{
Xdialog --title "Monta_X" --no-buttons --infobox "Desmontando disquete! Aguarde..." 6 50 
umount /dev/fd0
if [ $? = "0" ]; then
Xdialog --title "Monta_X" --msgbox "Disquete desmontado!" 6 40

else

Xdialog --title "Monta_X" --msgbox "Dispositivo ocupado ou não montado!" 6 40
Principal
fi
}
Principal
exit


Scripts recomendados

CloneHD

Status do sistema

Script para monitoramento de processos em execução no sistema

InstallDPKG - Instalando pacotes DEB no Slackware

Monitoramento de espaço em disco


  

Comentários
[1] Comentário enviado por SMarcell em 13/01/2007 - 03:51h

Beleza moçada do VOL! No fórum da comunidade slacklife eu postei uma versão melhorada deste script, segue o link. Valeu!

>> http://www.slackbr.org/forum/viewtopic.php?t=4316

Falou!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts