Como enviar correos electronicos desde la linea de comando con ‘sendemail’ en Ubuntu
Hola amigos, estaba buscando una forma de enviar correos electronicos desde la terminal (consola) en Linux (gracias Pipo por la correccion). La razon es que con frecuencia debo enviar el codigo de programas o archivos y es mas conveniente enviarlos directamente desde el terminal.
Este tip tambien serviria para aquellos que tienen un servidor y quieren tener un script que les envie algunos archivos a su correo. En Ubuntu tenemos varias utilidades que nos brindan esta funcion, pero la que es mas ligera se llama sendemail.
La podemos instalar con:
$ sudo apt-get install sendemail
Ahora para utilizarl este comando el formato es:
sendemail -f FROM -t TO -s SERVER -u SUBJECT -m MESSAGE
Por ejemplo para enviar un email con archivo adjunto usando el servidor de Gmail podemos usar:
$ sendemail -f TUUSUARIO@gmail.com -t TUUSUARIO@gmail.com -m “Enviandome un archivo de configuracion de emacs” -s smtp.gmail.com:587 -o tls=yes -xu TUUSUARIO -u “Una prueba con sendemail…” -a ARCHIVOAENVIAR_CON_RUTA_COMPLETA
Donde dice ‘TUUSUARIO’ pones tu nombre de usuario de Gmail (sin el @gmail.com) Te pedira la contrasenha de Gmail. Si no deseas ponerla puedes anhadir el argumento -xp password, pero no lo aconsejaria por motivos de seguridad.
Espero que les sea util. Saludos.
Encuesta:
Habilitar chat de Facebook (XMPP) en Empathy (Ubuntu)
Facebook ha empezado a soportar el protocolo XMPP para chat. XMPP es tambien conocido como Jabber y es el protocolo usado por Google Talk. En Ubuntu podemos tener soporte para chatear en Facebook instalando el paquete “pidgin-facebookchat”.
Sin embargo, la version de este paquete DEB en los repositorios de Karmic ha dejado de trabajar con los servidores de Facebook. Necesitamos descargar el archivo deb más reciente del sitio de Google de Eion Robb (autor de este plugin). El link es: aqui.
Luego de descargarlo lo instalamos con:
$ sudo dpkg -i pidgin-facebookchat-1.65.deb
A continuación, tendrá que eliminar el siguiente archivo:
$ sudo rm /usr/share/telepathy/managers/haze.manager
Ahora vamos a activar el plugin. Vamos a Empathy y agregamos una nueva cuenta. Elegimos tipo de cuenta “Jabber”, luego ponemos como username: username@chat.facebook.com y como password, nuestra contrasena de Facebook. Pulsamos Aceptar. Por alguna razon, Empathy fallara la primera vez. Sin cerrar Empathy borra la cuenta de Facebook que acabas de crear y vuelve a crearla. La segunda vez se conectara sin problemas.
Creo que eso es todo. Algunas personas dicen que es necesario reiniciar Empathy pero esta forma me ha funcionado a mi.
Colocar un fondo de escritorio animado en Ubuntu Karmic y Lucid con Xwinwrap
Quería probar fondo de pantalla de vídeo (como DreamScene en Windows 7). Yo había intentado xwinwrap con Hardy pero en aquel entonces, tuve problemas al ejecutar Compiz en un viejo PC y no se veía bien en todos.Ahora, estoy tratando de que con un ordenador nuevo y Compiz funciona bien en mi Intel GMA 3000 a bordo de un Ubuntu 10.4 Lucid Lynx Alpha.
Si quieres probar esto, debes tener Compiz activado. Tambien necesitas instalar mplayer y los codecs para los vídeos que desea utilizar como fondo de escritorio.
En primer lugar, he descargado Shantz xwinwrap de aqui. Descargalo e instalalo ($sudo dpkg -i paquete.deb). Debes utilizar los archivos deb para su arquitectura correspondiente. Elegí i386 debido a que uso la versión de 32 bits de Lucid (cuestiones de compatibilidad con algunos programas raros que tengo).
Una vez instalado, puedes abrir la terminal e intentar ejecutar el siguiente comando para ver cómo funciona:
xwinwrap -ni -argb -fs -s -st -sp -nf -b -- /usr/lib/xscreensaver/glmatrix -window-id WID |
Salir pulsando Ctrl + C en la terminal.
Luego, he intentado con MPlayer. En primer lugar, es posible que desee configurar mplayer para reproducir en bucle por defecto, de lo contrario MPlayer saldra cuando termine la reproducción del vídeo y junto con mplayer, xwinwrap terminara su ejecucion. Para habilitar el modo de repetición en el mplayer por defecto, edita /home/tuusuario/.mplayer/config (archivo de configuración de MPlayer):
Para ello, pulse Alt + F2 y luego escriba
gedit .mplayer/config
Añadir al final:
loop = 0
Grabas y sales.
Después de ello puedes probar lo siguiente en terminal:
xwinwrap -ni -o 0.9 -fs -s -st -sp -b -nf -- mplayer -wid WID -nosound /full/path/to/video.mpg
Observe la opción “-o 0.9″, esta es la opacidad de los fondos de escritorio de video. Si no utilizas la opción de opacidad (es decir, si usar -o 1,0 o simplemente omites la opción-o), no serás capaz de ver los iconos en el escritorio. Si ha establecido que sea transparente, es posible que desee en blanco del escritorio con un color sólido. De fondo negro funciona bien para la mayoría de los videos, pero te recomiendo que ajustar el color y los valores de opacidad para que se parezca lo suficientemente bueno.
Puedes encontrar videos de wallpaper en Dreamscene.org
Si desea que el escritorio de vídeo que se mantenga al iniciar la sesión siguiente, será necesario a fin de que en el inicio. Puede hacerlo añadiendo el comando que usó en Sistema> Preferencias> Aplicaciones de inicio.
Traducido de: http://www.khattam.info/2010/02/15/howto-video-wallpaper-on-ubuntu-10-04-lucid-lynx/
Mi primer video de Ubuntu usando OpenShot
Ahora que en Ubuntu Lucid Lynx viene por defecto un editor no lineal de video de nombre OpenShot, decidi darle una prueba y hacer mi primer video de Ubuntu con un tema peruano de charango.
Ojala les agrade el video (primera vez que uso este tipo de programas).
Un abrazo.
Que son las variables ‘volatile’ y para que sirven?
Volatile es una palabra clave del C que se puede aplicar solo a algunos tipos de variable (tipicamente enteras y sus derivados) y básicamente es una indicación al compilador para que no guarde el valor de la variable en un registro del micro, sino que fuerza la actualización en memoria. Esto se hace cuando existe la posibilidad de que el valor de la variable sea modificado por otro proceso que se ejecuta concurrentemente con el actual, por ejemplo cuando usas hilos o admitís interrupciones.
Un ejemplo típico es algo como esto:
// Esta suele ser parte de una declaración global
volatile int flag = 0;
// Esto es parte de un proceso
...
while( !flag ) {
// hacer algo mientras el flag sea falso
}
...
// Y esto es parte de una rutina de interrupción y está en una función o metodo diferente del proceso.
...
if( pasa_algo ) {
flag = 1;
}
...
Como veran, la declaración de flag es global para que sea accesible al proceso y a la ISR. Acá tenes que declarar flag como volatile, por que si no, el compilador puede suponer que los accesos y modificaciones a la variableflag son atómicos y por ello, puede guardar el valor de flag en un registro del micro para acelerar la evaluación de la condición del while, perdiendo las modificaciones introducidas por la ISR, si es que ocurrió una mientras estaba en el while. Poniéndola como volatile, forzás al compilador a generar código para recargar siempre de memoria el valor de la variable antes de verificar si es verdadero o falso. Algo parecido sucede para la ISR (Interrupt Service Routine).
Saludos!