Como hibernar un Mac de forma todavía más sencilla

ApagarTras publicar el pasado sábado una entrada dedicada a como habilitar de forma sencilla la hibernación en nuestro Mac, mi amigo Guillermo me comentó que le sonaba que existía una manera de modificar la configuración del sistema para que al cerrar la tapa del portátil, en lugar de suspenderse, se hibernase, sin necesidad de widtgets. Como obviamente es más sencillo eso que abrir el Dashboard, buscar el icono de Deep Sleep y esperar a que se apague el equipo, me decidí a buscar por la red como hacer tal cosa.

Después de un rato rebuscando por los enlaces que me mostraba Google, encontré una pequeña reseña al comando de Leopard que permite la configuración del gestor de energía. La ayuda oficial la puedes encontrar en la web de desarrollo de Apple.

En nuestro caso particular, la sintaxis que deberemos emplear es:

sudo pmset -a hibernatemode 1

Una vez introducido en la consola, nos pedirá que introduzcamos la contraseña de administrador y hecho esto ya tendremos nuestro portátil configurado para que al cerrar la tapa se hiberne. En caso de que quisiésemos volver a la configuración anterior solo tenemos que poner un 3 en lugar de un 1.

Como hibernar un Mac de forma sencilla

ApagarHay que decirlo, Mac OS X no es ni mucho menos el sistema operativo perfecto. Pero tampoco lo es Ubuntu, Debian, Windows, Red Hat, etc… Cada uno tiene sus virtudes y sus desventajas.

Algo que echo en falta en mi Mac es la hibernación que me permitía hacer mi antiguo Toshiba con Windows XP. Leopard ofrece dos opciones a la hora de dejar de usar el equipo, apagarlo o ponerlo en reposo, opción similar a la suspensión de Windows. El problema del reposo es que el equipo queda encendido, aunque consumiendo mucha menos energía, y al dejar un portátil toda la noche sin el cable de corriente, a la mañana siguiente puedes encontrarte con un 10% menos de batería como mínimo.

Pero gracias a unos pequeños Widgets que he descubierto gracias a Facilware ahora puedes hibernar el Mac de la misma manera que Windows, cargando el contenido de la RAM en el disco duro y apagando por completo el portátil. A volver a encender el equipo, cargará todos los datos de la memoria y te cargará el equipo tal y como estaba al lanzar la hibernación. Estos Widgets se llaman igual, Deep Sleep, y funcionan de la misma manera, así que escoge el que más rabia te de. Puedes descargarlos aquí o aquí.

Sincroniza tus favoritos con Foxmarks: Firefox + Safari + Iexplore + iPhone

FoxmarksHay algunas extensiones de Firefox que son imprescindibles, para mi, la primera en ser instalada es siempre Foxmarks. ¿No conoces esta extensión? Foxmarks es un servicio web que almacena tus favoritos y que ofrece un plugin para sincronizarlos con el navegador. Yo lo uso a diario ya que gracias a él tengo los mismos favoritos en mi Mac, en el PC del trabajo y en el Firefox Portable que suelo llevar en el pendrive. Cada cierto tiempo, éste plugin envía a la web los cambios que hayas hecho, replicándose a los demás equipos tan pronto pidan una actualización. Como comprenderéis, tener esa web que has añadido en el trabajo cuando llegas a casa es comodísimo. Es una copia de seguridad perfecta y además desde hace unas versiones, te almacenas hasta las contraseñas del Firefox.

Y como se ve que no estaban contentos con lo que habían hecho hasta ahora, acaban de sacar dos versiones más, una para el Internet Explorer y otra para Safari (de momento solo la versión de Mac), con lo que ya casi abarcan todo el abanico de los navegadores mayoritarios.

Como “extra”, el poder sincronizar el Firefox y el Safari, también te permite hacer la sincronización via iTunes de los favoritos con el iPhone o iPod Touch, con lo que, al menos en mi caso, la jugada es perfecta.

Como abrir documentos de Office 2007 con versiones anteriores

Office 2007Desde hace ya casi un año, vengo disfrutando en mi casa del placer de haber dejado a un lado Windows y sus problemas tras haberme pasado a la plataforma Mac. Ahora hasta se me hace raro trabajar en un PC, donde las facilidades que me brinda mi Macbook Pro no existen.

Lamentablemente en casa tengo cuatro equipos con Windows XP a los que me veo obligado a dar soporte. Uno de los problemas que más a menudo me estoy encontrando últimamente es que a mi hermano le están enviando trabajos en docx, el nuevo formato que por defecto usa el Office 2007 y que no es compatible con las versiones anteriores. Y como cada vez más compañeros tienen éste Office, te ves forzado a actualizarte o pedirles de nuevo el fichero en un formato realmente estándar.

Al menos hasta hace un tiempo, ya que Microsoft, consciente de esta molestia, ha decidido sacar un parche para que los Office antiguos puedan abrir los nuevos documentos. Para obtenerlo no tenéis más que buscarlo en la página de Microsoft o descargarlo del siguiente enlace:

Paquete de compatibilidad de Microsoft Office para formatos de archivos de Word, Excel y PowerPoint 2007.

Enviar notificaciones vía email con Nagios

Nagios

Una de las funciones más interesantes de Nagios es la notificación de los eventos de la red. Una avería en una línea no es difícil de detectar, suelen ser los usuarios los primeros en quejarse. Pero una caída de un servicio que en ese momento no se está usando es más complida de ver. Para no tener que estar todo el día mirando el monitor del Nagios, existe la opción de crear contactos y que se les notifiquen los eventos de la manera que se elija (email, SMS, …). Obviamente la herramienta más común para estas notificaciones será el correo, ya que no todas las empresas disponen de una pasarela de envío de SMS o similar. Para poder enviarlas nos hará falta un servidor de correo, bien en nuestra propia red como en internet. Paso a relataros como he solucionado yo el tema sin usar un servidor de correo en el equipo del Nagios.

Para empezar, en el fichero de configuración de contactos se deben crear los perfiles de los usuarios a los que se debe avisar, así como los grupos a los que pertenecen.

#definimos un contacto predefinido, para no tener que declarar todas las opciones de cada usuario
define contact{
name contacto-basico
service_notification_period laboral
host_notification_period laboral
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notificar-host
register 0
}

#definimos el grupo admins, al que pertenece el contacto dani
define contactgroup{
contactgroup_name admins
alias Administradores
members dani
}

#definimos el contacto dani, con un alias y una direccion de email
define contact{
contact_name dani
use contacto-basico
alias Dani
email dani@ejemplo.es
}

Una vez editados los contactos, nos hace falta añadir el comando al fichero oportuno para que Nagios sepa donde buscarlo. Además configuramos la sintaxis con la que se invocará desde Nagios. En éste caso pasamos varias variables predefinidas en el sistema.

#definimos el comando notificar-host
define command{
command_name notificar-host
command_line /tmp/correo.pl $CONTACTEMAIL$ $NOTIFICATIONTYPE$ $HOSTNAME$ $HOSTSTATE$ $HOSTADDRESS$
}

Por último, debemos crear “correo.pl”, que en éste caso es un script en Perl que nos permitirá el envío de correos. Cambiaremos los parámetros para adaptarlo a nuestras necesidades y lo guardaremos en “/tmp”, como hemos definido en el fichero anterior.

#!/usr/bin/perl
use Net::SMTP;
$destinatario=$ARGV[0];
$tipo=$ARGV[1];
$host=$ARGV[2];
$estado=$ARGV[3];
$ip=$ARGV[4];
$smtp= Net::SMTP-> new ("smtp.ejemplo.es");
$smtp->mail("nagios\@ejemplo.es");
$smtp->to("$destinatario");
$smtp->data();
$smtp->datasend("To: $destinatario\n");
$smtp->datasend("Subject: NAGIOS - $tipo: $host con estado $estado\n");
$smtp->datasend("Notificacion de tipo: $tipo\n");
$smtp->datasend("Equipo: $host ($ip)\n");
$smtp->datasend("Estado actual: $estado\n");
$smtp->datasend();
$smtp->quit;

Una vez configurado todo esto, ya dispondremos de notificaciones vía email. He partido de la suposición de que Nagios está funcionando y configurado y que esto es un añadido, de forma que no haya que configurar nada más. La mejor opción para aprender a configurar Nagios es partir de los ficheros de ejemplo y modificarlos de acuerdo a vuestras necesidades.

EDITO

Para los que necesiten una versión que funcione en con un servidor que requiera autentificación:

#!/usr/bin/perl
use Net::SMTP;
$destinatario=$ARGV[0];
$tipo=$ARGV[1];
$host=$ARGV[2];
$estado=$ARGV[3];
$ip=$ARGV[4];
$smtp= Net::SMTP->new('smtp.ejemplo.com');
$smtp->auth('usuario', 'contraseña');
$smtp->mail('nagios@ejemplo.com');
$smtp->to(”$destinatario”);
$smtp->data();
$smtp->datasend(”To: $destinatario\n”);
$smtp->datasend(”Subject: NAGIOS – $tipo: $host con estado $estado\n”);
$smtp->datasend(”\n”);
$smtp->datasend(”Notificacion de tipo: $tipo\n”);
$smtp->datasend(”Equipo: $host ($ip)\n”);
$smtp->datasend(”Estado actual: $estado\n”);
$smtp->datasend();
$smtp->quit;

Ahora mismo estoy probándolo y no me ha dado problemas. En caso de que queráis hacer un debug, podeis cambiar la línea del servidor por la siguiente:

$smtp= Net::SMTP->new(’smtp.ejemplo.com’, Debug => 1);

Y luego probar el script usando:

./nombre_script.pl dirección_de_correo_de_prueba error equipo estado ip

Como compartir carpetas sin compartirlas en Mac OS X Leopard

LeopardCDSuena algo enrevesado, pero puede ser un truco muy útil. En Leopard, compartir una carpeta no es demasiado complicado, bastaría con configurar correctamente las opciones del sistema y luego en cada carpeta que queramos compartir activar la opción y dar permisos. Si son varias carpetas y están anidadas, con hacer los permisos de la carpeta raiz extensibles a las subcarpetas llegaría y no se necesitaría demasiado tiempo. Lo engorroso es si queremos compartir varias carpetas dispersas por nuestro equipo y tenemos que darle los mismos permisos a todas una a una.

La solución a esto es bien sencilla. Tan solo tenemos que crear una carpeta vacía que será la única que vamos a compartir. El truco, una vez compartida esta carpeta y configurados los permisos, es crear enlaces a las carpetas que tienen el contenido que queremos hacer visible al resto de usuarios de la red. Para crearlos tenemos dos opciones, hacerlo vía termina o mediante un programa como puede ser SymbolicLinker. Yo he preferido hacerlo por línea de comandos ya que me parece cómodo. Situándoos en el terminal en la carpeta compartida debéis introducir “ln -s directorio_a_compartir nombre_del_enlace“. Una vez hecho esto, en la carpeta compartida habrá un enlace a cada recurso que hayáis introducido para compartir.

Para completar éste truco, comentar dos posibles usos. Si creamos enlaces en la carpeta de dropbox no tendremos que mover o duplicar tus ficheros para subirlos a la nube, con el consiguiente ahorro de espacio o comodidad de uso. Si deseas, por ejemplo, copiar la carpeta Documentos en dropbox, al crear el enlace en la carpeta del dropbox ya se sincronizaría automáticamente.

Por otro lado se puede evitar un error de Leopard bastante curioso. Los entornos Windows, cuando se comparte una carpeta dan la opción de ponerle un nombre distinto al original, pudiendo así compartir carpetas con igual nombre usando varios alias. En Leopard no permite asignar estos alias y pero si compartir dos carpetas con el mismo nombre (Windows no permite dos recursos iguales y lo advierte), dando muchos problemas a la hora de acceder a los recursos. Para solucionarlo se hace lo mismo que antes, se crea un enlace con un nombre distinto para cada carpeta y listo.