subir un directorio completo a un ftp

El cliente de ftp por defecto de las distribuciones de linux es bastante
limitado y poco potente, por ejemplo para subir recursivamente un
directorio completo, o subir ficheros con un patr=F3n usando * o
expresiones regulares, he aqu=ED una chuleta.

Lo primero … instalar ncftp
hacemos login como siempre

[shell]
ncftp -u usuario -p password ftp.servidor.com
[/shell]

Y ahora para subir un directorio …

[shell]
put -R directorio
[/shell]

…. mas facil, windows 🙂

Firefox: pijaditas

Dos problemillas de firefox:

  • No hay audio
  • editar :/etc/firefox/firefoxrc y FIREFOX_DSP=”auto” ponerlo a: none,auto,asla,esd,arts
  • No se ve el texto en animaciones flash
  • Instalar paquetes : gsfonts-x11 gsfonts y msttcorefonts. Si reiniciando las X sigue igual seguramente os falta configurar algo en el fichero de configuracion, en mi caso me falta el gestor de fuentes freetype, con instalar x-ttcidfont-conf y elegir truetype, funcionó sin problemas

Actualización:

audio para mozilla con el player de macromedia:

Reconfiguramos mozilla, los ficheros de /etc/mozilla/mozillarc y ponemos
[shell]
dpkg-reconfigure mozilla-browser
[/shell]

o directamente /etc/mozilla/mozillarc con el siguiente contenido
[shell]
MOZILLA_DSP=esddsp
MOZILLA_LOCALE_AUTO=true
[/shell]

El demonio esd es predecesor al standard ALSA y como se supone obsoleto cargamos los módulos que simulan que tenemos OSS
[shell]
modprobe snd-pcm-oss snd-mixer-oss
[/shell]

cerramos mozilla, abrimos y rula 😀

Me queda pendiente el uso de alsa directamente

Capitalize texto con perl y tildes

… Es lo que tiene usar tildes, que normalmente no se tiene encuenta de primeras a los lenguajes que no sean sajones.

Por ejemplo si queremos hacer poner la primera letra en mayúsculas de ‘PRUEBA ESTA OPCIÓN’: lo haríamos pasando a minusculas con lc() todo y luego la primera a mayusculas con ucfirst();
[shell]
#!/usr/bin/perl
$texto=’PRUEBA ESTA OPCIÓN’;
print ucfirst(lc($texto));
[/shell]

El resultado es: Prueba esta opciÓn

eso es un asco… asi que lo que hacer es usar los locale así:

[shell]
#!/usr/bin/perl
use locale;
$texto=’PRUEBA ESTA OPCIÓN’;
print ucfirst(lc($texto));
[/shell]

y el resultado ahora sí es: Prueba esta opción

evolution: bloqueo al responder y abrir emails

Hace unos dias que evolucion se bloquea al abrir un email, responder o al tener que hacer un salto de linea al escribir el email.

los errores de .xsession-errors son estos:
[shell]
(evolution-2.4:6176): camel-WARNING **: camel_exception_get_id called with NULL parameter.
(evolution-2.4:6176): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC (gc)’ failed
*** glibc detected *** free(): invalid pointer: 0x08787848 ***
[/shell]

He encontrado la solución temporal, me imagino que el proximo paquete de evolution estará corregido
[shell]
G_SLICE=always-malloc evolution
[/shell]

Referencias:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358071
http://lists.debian.org/debian-devel/2006/03/msg00941.html

Para saber que version de libglib usas :
[shell]
ldd `which evolution` | grep libglib
[/shell]

chuleta de find

Para que no se me olvide:
[shell]
find ./ -type f -regex .*avi -exec cp ‘{}’ /destino/ \;
[/shell]

busca en donde esté situado ficheros ( -type f) que acaben en avi ( con find siempre .* al comienzo ) y ejecuta la copia el nombre de fichero es ‘{}’ y \; marca el fin del comando