Montar y expulsar dispositivos con un simple click

No se porque, ni como, la sensación de pertenecer al mundo Mac cada día me gratifica más, sobre todo cuando encuentro por accidente cosas que me pueden hacer la vida mucho más fácil.

Leyendo este post de Manuel Angel en Appleweblog descubrí como solucionar un problema que tengo desde que instale Leopard. Antes en Tiger, cuando tenías un HD montado, pero no accedías a el, se quedaba suspendido pero alimentado, si entrabas en la unidad lo despertaba y escuchabas el ruido característico de los HD… Pero ahora en Leopard no es así, el felino tiene la manía de cada dos por tres (=6) acceder a ellos sin razón aparente, así que si dejas tus unidades externas encendidas se pueden tirar todo el santo día poniéndose en reposo y encendiéndose… Que yo no soy un Einstein pero está claro que eso es perjudicial para la vida de nuestros queridos HDs.

La solución me ha venido gracias a ese post y a googlear un rato buscando la solución más idónea para mi.

Utilizando un script, se puede hacer que nuestro MAC pueda montar y desmontar TODAS las unidades a la vez, o bien las que nosotros elijamos previamente metiéndolos en una lista. En el caso de tener un solo disco externo, este tuto carece de interés, pero si tenéis 4 (como en mi caso) esto os puede ahorrar muchísimo tiempo de andar abriendo finder para expulsarlos uno a uno, o yendo a Unidad de discos, para montarlos uno a uno.

Os voy a explicar las dos formas que he conseguido hacer, 1. Montar/desmontar TODAS las unidades o 2. Montar/desmontar una lista (1, 2, 3 o los que sean) de unidades.

 

 

    1. Montar / Desmontar TODAS la unidades.

a. Para montar todas las unidades es lo más sencillo de hacer, con un editor de textos (Text Edit mismamente) creáis un nuevo documento y metéis lo siguiente:

#!/bin/sh
/usr/sbin/diskutil list | grep -e ‘ \+[0-9]\+: \+[^ ]\+ [^ ]\+’ | sed ’s/.*\(disk[0-9].*\)/\1/’ | xargs -I{} /usr/sbin/diskutil mount {}
killall Terminal

Lo guardáis con el nombre que os apetezca (Montar unidades, Montar todas…) pero importante hacerlo con extensión .sh

Ahora con un simple doble click en Montar todas.sh nos montará todas las unidades que encuentre pinchadas en nuestro Mac

b. Para desmontar todas las unidades, un tanto de lo mismo, documento nuevo e introducís lo siguiente:

#!/bin/sh
osascript -e ‘tell application “Finder” to eject (disks where free space ≠ 0)’
killall Terminal

Lo guardamos como Desmontar todas.sh y listo.

Para los vagos como yo os dejo un zip con los archivos creados:
Scripts para montar y desmontar TODAS las unidades externas

 

 

    2. Montar / Desmontar unidades seleccionadas.

a. Pudiera llegar el caso de que os interese tener siempre montada alguna unidad, o bien, no montar alguna de las unidades, por eso se pueden personalizar los scripts para que monten solo las unidades que previamente hemos decidido.

La operación es muy parecida, creamos un documento nuevo e introducimos (os voy a poner mi caso para hacerlo lo más real posible):

#!/bin/sh
/usr/sbin/diskutil mount `/usr/sbin/disktool -l | grep “DESCARGAS” \
| sed ’s/.*\\(disk[0-9s]*\\).*/\\1/’`
/usr/sbin/diskutil mount `/usr/sbin/disktool -l | grep “VARIOS” \
| sed ’s/.*\\(disk[0-9s]*\\).*/\\1/’`
/usr/sbin/diskutil mount `/usr/sbin/disktool -l | grep “PELICULAS DVDRIP” \
| sed ’s/.*\\(disk[0-9s]*\\).*/\\1/’`
/usr/sbin/diskutil mount `/usr/sbin/disktool -l | grep “PELICULAS HD” \
| sed ’s/.*\\(disk[0-9s]*\\).*/\\1/’`
/usr/sbin/diskutil mount `/usr/sbin/disktool -l | grep “SERIES” \
| sed ’s/.*\\(disk[0-9s]*\\).*/\\1/’`
killall Terminal

Guardamos con extensión .sh

En este caso, mis discos externos son: DESCARGAS, VARIOS, PELICULAS DVDRIP, PELICULAS HD, SERIES.
Cambiáis los nombres y ponéis vuestras unidades tal y como aparecen en Utilidad de discos o en Finder. Podéis poner tantas líneas como queráis, podéis hacer un archivo por cada unidad o bien todas juntas como yo las tengo. En mi caso concreto lo tengo así ya que tengo otro HD viejo siempre montado para las copias de Superduper.

Quiero mencionar que NO hace falta que existan en ese momento todos esos discos, si no encuentra alguno no hace nada en esa línea, por ejemplo yo tengo cajas en modo de rack, y puedo montar 4 discos de los 5 que tengo.

b. Para desmontar las unidades que queramos, crear un documento con:

osascript -e ‘tell application “Finder” to eject “DESCARGAS”‘
osascript -e ‘tell application “Finder” to eject “VARIOS”‘
osascript -e ‘tell application “Finder” to eject “PELICULAS DVDRIP”‘
osascript -e ‘tell application “Finder” to eject “PELICULAS HD”‘
osascript -e ‘tell application “Finder” to eject “SERIES”‘
killall Terminal

Guardamos con extensión .sh

Listo, con esto expulsamos la lista que queramos.

Y otra vez para los vagos, os dejo el link con los archivos creados:
Scripts para montar y desmontar las unidades externas ELEGIDAS
Esta vez tendréis que editarlos para poner vuestras unidades

Y por último, si sois extremadamente vagos como yo, podeis arrastrar los dos archivos al lado de la papelera del dock, para tenerlos accesibles con un simple click de ratón.

NOTA: Si al dar doble click en los archivos, no se abre Terminal es tan sencillo como botón derecho sobre el archivo, obtener información, en la fila de Abrir con… elegís Terminal dentro de Utilidades.

Y eso es todo por hoy, espero que os sirva de ayuda, yo le voy a sacar bastante partido a este invento, ya que tengo que andar encendiendo y apagando los discos cada vez que necesito algo

Salu2

8 comentarios para “Montar y expulsar dispositivos con un simple click”

  1. Miky Dice:

    Pero no se supone que Mac era tan chulo que no necesitabas hacer cosas con el terminal, ni cosas raras como en Linux?
    No sus entiendo, maqueros ^_^

  2. AketzA Dice:

    Si no hace falta, yo lo hago con un click, so capullo, la próxima partida del shogun, al 30%!!!!

  3. slotenbilbao Dice:

    Hola soy un ciberlerdo. Yo tengo un HD para las copias de seguridad con Time Machine.
    Si lo desmonto. No me hara las copias de seguridad cada hora. ¿Verdad? ¿O se podria hacer un scrip o con automator, para que cuando Time Machine quiera hacer la copia el disco se monte?
    ¿Pero podria utilizar lo de desmontar el HD mediante un click para no tener que apagarlo con su propio botón de power? ¿O no tiene nada que ver, y siempre debere apagar el HD manualmente?

  4. unamenos Dice:

    Creo que esto hace lo mismo pero más bonito:

    http://www.macupdate.com/info.php/id/29844

  5. Daniel Dice:

    Joder, Aketza:

    te iba a pegar un rapapolvo en el blog de Aitor -en cuanto he visto que tenías tiempo para “KDD’s” pero no para actualizar tu blog- y de casualidad me he dicho “voy a ir antes al blog no sea que haya vuelto …”.

    Mecagoenlamadrequeparioapaneque!

    Apunte para este post: se podría “empaquetar” el script en un flujo de trabajo de Automator … que siempre queda más “fonito”.

  6. Jose Dice:

    Muy interesante Aketza: pero no se porque no puedo crear yo mismo desde Text Edit los scripts para que los abra el Terminal. Cuando lo guardo con la extensión .sh luego no me deja abrir con Terminal.

    Sin embargo los tuyos si que los abre. No se que estaré haciendo mal.

    Saludos

  7. Script para montar y desmontar varios dispositivos en Apple Life Dice:

    [...] que os haya sido útil y gracias Mac-Gyver (aprovecho para saludarle) que me ayudó a solucionar esos molestos y banales [...]

  8. noruego Dice:

    hola , entren a mi blog sobre apple : http://unsimpleblogsobremac.blogspot.com/


Deja un comentario