Script em Xdialog para montar / desmontar dispositivos
Publicado por Sandro Marcell 29/12/2006
[ Hits: 7.216 ]
Homepage: http://sanmarcell.wordpress.com
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.
#!/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
Configurar usuarios samba na boa sem dor de cabeça em modo texto
Script de backup para banco Firebird
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Linux Mint: Zram + Swapfile em Btrfs
O widget do Plasma 6 Área de Notificação
[Resolvido] Conselho distribuiçao brasileira (13)
Vou destruir sua infância:) (3)









