jueves, 2 de junio de 2016

Perfil por defecto en Firefox (hasta 45)

Hola chavales, por lo que parece el típico perfil por defecto de Firefox para aquellos usuarios que ejecutan Firefox por primera vez y que se almacenaba en "C:\Program Files (x86)\Mozilla Firefox\browser\defaults\profile", a partir de Firefox 46 ha dejado de funcionar.

No sé que motivos habrán llevado a Mozilla a quitar esta funcionalidad que tan bien iba.

Por cierto, hoy me he dado cuenta de que cuando pruebas a meter configuraciones en el "prefs.js" y metes una que el Firefox no entiende, al iniciar la primera vez y crear el perfil te crea un fichero "Invalidprefs.js" con el contenido del "prefs.js".

Es una lata porque no te indica exactamente cuál es la preferencia que tienes mal puesta, pero al menos te indica que hay algo mal en ese fichero. Y me da la sensación de que tras una preferencia mal puesta deja de ejecutar el fichero, con lo que a partir de ahí ya no hace caso al resto de preferencias que están más abajo.

Yo la configuración que he generado tiene los siguientes ficheros:
  • override.ini: con "EnableProfileMigrator=false" para que al iniciar Firefox por primera vez no pregunte si quieres importar la configuración desde Internet Explorer.
  • cert8.db: Base de datos con certificados donde he importado el certificado raíz de la FNMT
  • secmod.db: Base de datos con módulos de seguridad, donde he importado el FNMT_P11.dll para poder leer las Smart cards de la FNMT.
  • prefs.js: Configuración de la página por defecto, el no abrir páginas especiales la primera vez que se inicia, no actualizar, y no bloquear java.


A continuación os dejo el fichero "prefs.js":


// Home page
user_pref("browser.startup.homepage", "https://lexnet.justicia.es/");
user_pref("browser.startup.homepage_override.buildID", "20160315153207");
user_pref("browser.startup.homepage_override.mstone", "45.0.1");

//  disable checking default browser
user_pref("browser.shell.checkDefaultBrowser", false);

// Disable updater
user_pref("app.update.enabled", false);

// make absolutely sure it is really off
user_pref("app.update.auto", false);
user_pref("app.update.mode", 0);

// Don't show 'know your rights' on first run
pref("browser.rights.3.shown", false);

// Don't show WhatsNew on first run after every update
pref("browser.startup.homepage_override.mstone","ignore");

// Disable extensions blocklist
user_pref("extensions.blocklist.enabled", false);

// Activate java plugins
user_pref("plugin.state.java", 2);
user_pref("plugin.state.npdeployjava", 2);


Salu2 a to2

sábado, 17 de octubre de 2015

Ordenadores para el tercer mundo

Hola a todos, el martes uno de los comerciales que había ido a un país sudamericano a ver qué vendía se me presentó con un OLPC OX 1.5 que había traído de allí para ver qué podíamos hacer con él.

  http://wiki.laptop.org/go/Hardware_specification_1.5


La iniciativa OLPC (One Laptop Per Child) pretendía crear un pequeño ordenador portátil barato orientado a niños que viven en países en vías de desarrollo. Es en sí un hardware barato, con un microprocesador compatible con la arquitectura X86 de Intel, y con un sistema operativo basado en Linux Fedora.

Hasta aquí todo bien, pero el proyecto recibió montones de críticas, y ahora sé por qué. Como se dice en mi tierra, el OLPC no es sólo un portátil, además es una mierda como una casa.



La primera impresión que da al verlo es que es un juguete. Un diseño que parece hecho "a prueba de niños", un teclado tosco e incómodo, una cruceta y unos botones para jugar a juegos, y una pantalla TFT  enana. Y tras encenderlo se confirma que es un juguete al ver un Linux que no parece un Linux.

Con un entorno gráfico extremadamente capado, casi monocromo, y en el que unas pocas aplicaciones y un par de juegos educativos en lo único que se tiene.

Tiene un navegador web ligero, de los que no sirven para nada. Admitamoslo, o tienes un Chrome o un Firefox, o no puedes acceder a la mitad de los contenidos de la web. Y tiene un procesador de textos que digamos simplemente que no es el Libreoffice.

Pero lo más sangrante es que no aprovecha los recursos de la máquina. Con una SD interna de 4GB de la que aprovecha sólo 2GB, ningún juego que use la cruceta, y una resolución de pantalla bastante mayor de la que se usa, tienes probablemente el sistema más desaprovechado del mundo.

Así que lo único que tienes al final es un juguete para los niños que ni siquiera es barato.

Frente a esta penosa iniciativa, hay otras más juiciosas. Un amigo me comentó la iniciativa "Play power" http://playpower.org/

Con un precio de tan sólo 10$, tienes algo parecido a lo que fue en su día un Spectrum o una NES de Nintendo. Con juegos educativos y un televisor donde conectarlo (y electricidad) puedes formar a muchos niños en la bases de la informática. Y esto en países donde el saber mecanografiar es la diferencia entre el duro trabajo del campo y el trabajo más cómodo (y normalmente mejor pagado) de una oficina, esto es algo que marca la diferencia.

RESUMIENDO: OLPC mierda, Play Power mola.

Salu2 a to2

lunes, 3 de agosto de 2015

El televisor Sony Bravia con Android

Hola a todos. Hace poco me he comprado una TV Sony Bravia con Android.



Me la compré con Android básicamente para poder ver las películas de Google Play. Me gusta Google Play sobre otras plataformas porque se pueden comprar películas (además de alquilarlas) y porque cada 3 meses o así hay ofertas de películas por 4€ en SD y 6€ en HD.

Pero al entrar en Google Play para ver las aplicaciones cual fue mi sorpresa que aparecían muy pocas aplicaciones.

Tras investigar un poco resulta que las aplicaciones están filtradas y solamente aparecen aquellas aplicaciones que se sabe que funcionan correctamente en esta TV y con el mando del televisor. Pero claro, uno quiere más (aunque tenga que conectar un ratón a uno de los USB).

La solución fue fácil, primero instalé desde el Google Play el "ES File Explorer". Luego descargue el APK del "Aptoide" en un pen drive y se lo conecté al televisor. Tras esto, con el "ES File Explorer" navegué hasta el pen drive y seleccioné el APK, entonces te aparece una advertencia diciendo que no puedes instalar aplicaciones desde "orígenes desconocidos".

En esta advertencia hay un botón que al pulsarlo te lleva a las opciones de configuración donde puedes habilitar la instalación desde "orígenes desconocidos". Tras habilitar la opción, volví al "ES File Explorer", vuelta a ejecutar el APK del "Aptoide" y ya pude instalarlo.

Así que a partir de ahora para instalar aplicaciones tengo dos formas: o bien las instalo desde Aptoide, o bien descargo el APK a un pen drive y lo instalo utilizando "ES File Explorer".

Salu2 a to2



lunes, 13 de julio de 2015

Instalar Python 2.6 en CentOS 7

Hola chavales, CentOS 7 viene con Python 2.7 instalado, mientras que CentOS 6 venía con Python 2.6.

Como no todas las aplicaciones de Python 2.6 funcionan bien en Python 2.7 (estas raras excepciones a veces ocurren), puede que necesitemos instalar Python 2.6.

Para ello lo que haremos será recompilar el Python 2.6 de CentOS 6 a partir del SRPM:

  yum groupinstall "Development Tools"
  yum install readline-devel openssl-devel gmp-devel  ncurses-devel  gdbm-devel zlib-devel  expat-devel libGL-devel tk tix libX11-devel  tcl-devel tk-devel tix-devel bzip2-devel sqlite-devel db4-devel libffi-devel  valgrind-devel systemtap-sdt-devel  tcl libffi-devel

 # Parcheamos libdb4
 yum install compat-db47
 ln -s /usr/include/db4.7.25/ /usr/include/db4

 # Parcheamos libffi
 mv /usr/include/ffi.h /usr/include/ffi.h.original
 ln -s /usr/include/ffi-x86_64.h /usr/include/ffi.h

 # Parcheamos /usr/lib/rpm/brp-python-bytecompile
 # edita el fichero /usr/lib/rpm/brp-python-bytecompile y en la
 # segunda línea reemplaza "errors_terminate=$2" por
 # "errors_terminate=0"


 adduser mockbuild

 # Como no es bueno construir paquetes con el root, crearemos un usuario llamado "compilar"
 adduser compilar
 su - compilar 
 wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/python-2.6.6-52.el6.src.rpm

 rpm -i python-2.6.6-52.el6.src.rpm
 cd ~/rpmbuild/SPECS

 # Edite el fichero "python.spec" y elimine las referencias a 
 # los ficheros: "dbm.so" y "ossaudiodev.so", y cambie la referencia
 # "plat-linux2" por  "plat-linux3". Luego añada la referencia a "%{dynload_dir}/dbm_failed.so"

 rpmbuild -ba python.spec



Encontrarás lo paquetes RPM generados en "../RPMS/x86_64/"
Y ahora vuelve a dejar el fichero "/usr/lib/rpm/brp-python-bytecompile" como estaba.

Puedes instalar los paquetes con "rpm -i" o añadirlos a tu repositorio.

Un saludo

jueves, 4 de junio de 2015

Alternativa a Active Directory bajo Linux

¿Qué haces cuando tienes un parque de equipos Linux y quieres gestionarlos como lo harías con Active Directory?

De cara al mecanismo de login, es relativamente sencillo. Casi desde siempre se ha podido utilizar un LDAP para tener una gestión centralizada de usuarios. Pero Active Directory ofrece más cosas.

Esas otras cosas que tiene Active Directory se llaman "políticas". Y permiten establecer el fondo de pantalla de un usuario, instalar software en un equipo o configurar una impresora.

Pues bien, ahora podemos tener eso mismo en Linux. Existe un proyecto de la Junta de Andalucía llamado GECOS que hace exactamente esto.

¿Cómo lo hace? Pues lo hace utilizando Opscode Chef (https://www.chef.io/chef/).

A "grosso modo" GECOS se puede dividir en 3 partes:
  • El Centro de Control GECOS: que ofrece una interfaz web para gestionar los usuarios, equipos y políticas de forma cómoda. Este Centro de Control lo que hace es meter valores en Chef por detrás.
  • Un servidor de Chef: que controla la configuración de los equipos en la sombra.
  • Una utilidad de configuración para distribuciones basadas en Ubuntu: que sirve para configurar el cliente de Chef de forma que tire contra el servidor de Chef, y para configurar el login de usuarios de forma que tire contra LDAP o Active Directory.
Este último punto, las utilidades de configuración, ya se encuentran integradas y preparadas en la distribución de Linux Guadalinex GECOS (basada en Linux Mint).

De forma que con GECOS se puede:
  • Cambiar el fondo de escritorio de un usuario
  • Instalar software en un equipo
  • Configurar una impresora en un equipo
  • Mostrar un mensaje de alerta al usuario
  • Etc

Por el lado malo, a fecha de hoy la versión de GECOS existente aún tiene muchos pequeños fallitos y detalles que pulir.

Además, recordemos que Active Directory tiene un esquema más o menos fijo, con lo que el script para importar usuarios de Active Directory dentro de GECOS  funciona más o menos bien.

Pero LDAP tiene un esquema que cada uno configura según su gusto, con lo que cada LDAP es de su padre y de su madre. Así que necesitarás conocimientos de programación para modificar el script base y realizar muchas importaciones de prueba hasta conseguir importar correctamente tu LDAP dentro de GECOS.

Salu2 a to2

lunes, 16 de marzo de 2015

Enviando datos en crudo a una impresora

Hola chavales, en el curro me he topado con un problema con unas viejas impresoras matriciales.
Resulta que el programa que envía los datos a imprimir, los manda "en crudo" ("raw" para los colegas).

Explico, nosotros tenemos un driver que suplanta una impresora Postscript y crea un PDF. Pues bien, la impresión "en crudo" lo que hace básicamente el saltarse el driver a la torera y enviar los datos directamente al puerto.

Para hacer las pruebas pertinentes, utilizamos un programita de Micro$oft:
 https://support.microsoft.com/es-es/kb/138594?wa=wsignin1.0

Gracias a las pruebas con este programita detectamos que el driver no se ejecutaba, y que los datos iban del tirón al puerto en cuestión.

Así que ya sabéis que si una impresora matricial no funciona, quizá la culpa no sea del driver.

Salu2 a to2

jueves, 5 de marzo de 2015

Trabajo con impresoras desde la línea de comandos en Windows

Hola a todos, hoy se ma ha planteado la necesidad de ver cómo se puede cambiar el nombre de una impresora desde la línea de comandos de Windows.

Pues bien, resulta que Microsoft incorpora una serie de Scripts VBS para trabajar con las impresoras.

https://technet.microsoft.com/es-es/library/cc771846%28v=ws.10%29.aspx

Lo primero es localizar estos scripts en el ordenador. En el servidor donde estaba trabajando se encontraban en la ruta C:\Windows\System32\Printing_Admin_Scripts\es-ES\

A partir de ahí puedes utilizar estos scripts para hacer cosas como listar las impresoras del sistema:

   cscript prnmngr.vbs -l 

O cambiar el nombre de una impresora:

  cscript prncnfg.vbs -x -p "Microsoft XPS Document Writer" -z XPS

Salu2 a to2