Borrar entrada del about:config en Firefox

A pesar de que cuando entramos en el gestor de preferencias de Firefox poniendo about:config en la dirección nos dice que tengamos cuidado y no metamos la pata, es posible que a pesar de todos nuestras precauciones finalmente acabemos teniendo un valor que no deseamos. Y claro, cuando das al botón derecho del ratón sobre la línea no aparece una opción Borrar. ¿Cómo la eliminamos, entonces?

Es muy fácil, sólo tenemos que situarnos en la entrada errónea, pulsar el botón derecho y elegir la opción «Restablecer». Cerramos el navegador, lo volvemos a abrir (lo que técnicamente se llama «reiniciar») y para nuestro descanso veremos que dicha entrada ya no aparece.

Pero ojo, esto solo funciona con las entradas que nosotros mismos hemos dado de alta. Si queremos eliminar una de las que vienen cargadas por defecto, tendremos que modificar a mano el fichero /home/<nuestro_usuario>/.mozilla/firefox/<algo_raro>.default/prefs.js, eliminando las líneas que no deseemos. Los que usen Firefox en Windows tendrán el archivo en c:\Documents and Settings\<nuestro_usuario>\Datos de programa\Mozilla\Firefox\Profiles\<algo_raro>\prefs.js
(El «algo raro» es nuestro identificador de perfil, que es una combinación extraña de letras y números, distinta para cada uno).

Esto es mejor hacerlo teniendo el navegador cerrado, pues si no lo hacemos, hasta que no lo reiniciemos no aparecerán nuestras modificaciones reflejadas en el about:config.

En esta página (en inglés) podemos aprender más cosas sobre la gestión de las preferencias en Firefox.

Linux, Hacienda y su PADRE

(o mejor: El Bueno, el Feo y el Malo)

Para hacer la declaración de Hacienda en linux necesitamos descargar el instalador para linux de su página de descargas. Después nos dirigimos al directorio donde hayamos descargado el archivo y le daremos atributos de ejecución, ya sea desde Nautilus o por consola:

sudo chmod a+x Renta2011_unix_1_20.sh

Después lo ejecutamos y el instalador nos creará una carpeta en la que alojará el ejecutable «Renta 2011».

Este programa parece que funciona correctamente en linux, pero con una salvedad: necesitamos tener instalado el JDK de java de Sun/Oracle, pues si tenemos el de Openjdk es muy probable que el programa se quede bloqueado en algún momento. Que el programa funcione bien va a depender de si nuestra distribución linux utiliza unos paquetes Java u otros.

Por ejemplo en Debian 6 con openjdk a mi se me bloquea nada más pulsar en «Nueva declaración». Para cambiar el Java que usamos, lanzamos el gestor de paquetes Synaptic y ponemos «jdk» en la casilla debajo de «Quick search». De los paquetes que aparecen marcamos el «openjdk-6-jdk» para desinstalar y pulsamos «Aplicar». Luego marcamos para instalar el paquete «sun-java6-jdk» y aceptamos que instale las dependencias que necesita. Una vez hecho esto el programa PADRE debería funcionar correctamente.

El asno de Buridán

ASNOJean Buridán fue un filósofo escolástico francés del siglo XIV, discípulo de Guillermo de Ockham y uno de los pioneros del escepticismo en Europa. Si bien su trabajo se desarrolló sobre todo en el estudio de la física del movimiento, campo en el que aportó el concepto de ímpetus o momento inercial, por lo que es más conocido es por la paradoja del «asno de Buridán«, la cual sus detractores imaginaron para combatir sus ideas deterministas, en las cuales consideraba la inacción como una opción válida del libre albedrío ante un dilema electivo. Según esta paradoja, si situáramos a un asno hambriento a distancia equidistante de dos montones de heno iguales, y dicho asno sólo actuara motivado por causas racionales, dado que no podría elegir cuál de ellos es mejor, se moriría de hambre. Dejando a un lado la evidente imposibilidad de confirmar experimentalmente la situación con un asno real, lo que veo más interesante de esta paradoja es que si nos detenemos a pensar un rato en ella, enseguida encontramos muchas conexiones con situaciones reales de nuestra vida (por ejemplo eligiendo qué distribución de linux nos vamos a instalar en el ordenador… ¿tenemos realmente motivaciones racionales para elegir una u otra?).

La idea sobre la que se sustenta toda la discusión es que si todas las elecciones que realizamos en la vida las hacemos siguiendo una motivación racional, cuando nos encontremos ante un dilema en el cual no tengamos argumentos racionales para elegir una opción u otra, no deberíamos hacer nada. Pero claro, entonces, igual que el imaginario asno, podríamos morir de hambre. Una salida es considerar que, si realmente ambas opciones son equivalentes, utilizar el azar es un criterio válido para la decisión, pues cualquier opción que resulte elegida podría satisfacer nuestros intereses.

Pero si todas nuestras decisiones las tomamos eligiendo racionalmente lo que es más conveniente, necesario o atractivo para nosotros, esto quiere decir que nuestras decisiones no son en realidad libres, pues las tomamos siguiendo el dictado de nuestras necesidades, gustos o conveniencias. Para poder tomar libremente una decisión, entonces, tendríamos que previamente liberarnos de todas nuestras esclavitudes, tanto materiales como económicas o meramente personales. Pero claro, llegado ese momento, ambas opciones se nos aparecerían como indistinguibles y entonces, para no morir como asnos, elegiríamos una al azar. Es decir, que cuando realmente somos libres es cuando elegimos al azar. Curioso.

Parece que nuestra libertad no radica sólo en la capacidad de elegir, sino en qué elegimos y en por qué lo hacemos. Tal vez consideramos que “somos libres” cuando sentimos que sólo somos esclavos de nosotros mismos.

Instalar el entorno de desarrollo Android en Debian Squeeze

Esta es una versión resumida y traducida al español, con muy poco aporte propio, del blog de Christoph Haas. No solo funciona en Debian Squeeze, los mismos pasos se pueden seguir para instalarlo en otras distribuciones, como p.e. OpenSUSE, lo único que cambiaría sería la forma de instalar el jdk de Oracle, pero para eso ya hay otra entrada donde se explica.

Los pasos a seguir para tener un entorno de desarrollo Android con Eclipse en Debian Squeeze son:

1) Instalar el Java de Oracle (lo siento, si no, no funciona del todo bien).
Para ello tenemos que confirmar que tenemos configurado apt para acceder a los repositorios no libres. Es decir, que en el fichero /etc/apt/sources tengamos una línea más o menos como esta:

deb http://ftp.es.debian.org/debian/ sid main contrib non-free

Puede cambiar el origen dependiendo del país, la forma de acceso y la rama que usemos (sid, stable, etc.), pero lo importante es que al final ponga main contrib y non-free. Instalamos los paquetes:

apt-get install sun-java6-jdk sun-java6-jre

Eliminamos después el paquete gcj, por si acaso.

apt-get install sun-java6-jdk sun-java6-jre

Si estamos en 64 bits hay que instalar también:

sudo apt-get install ia32-libs

2) Instalar Eclipse.
Aunque hay un paquete deb en la distribución, no me ha funcionado. Hay que instalar la versión “Eclipse classic” de la página de descargas de Eclipse y descomprimirla en el directorio /opt:

sudo tar -C /opt -xzf /<directorio_de_descargas>/eclipse-SDK-3.5.1-linux-gtk.tar.gz

Cambiamos el propietario:

sudo chown -R <nuestro_usuario>:<nuestro_grupo> /opt/eclipse

Creamos un script para lanzar el programa, por ejemplo el fichero /opt/eclipse/eclipse_launcher.sh con el contenido:

#!/bin/bash
export MOZILLA_FIVE_HOME="/usr/lib/iceweasel/"
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse

(Si usamos firefox hay que poner firefox en vex de iceweasel)

Damos permisos de ejecución al script:

sudo chmod a+x /opt/eclipse/eclipse_launcher.sh

Opcionalmente, pero queda bien, se puede añadir este lanzador en el menú, de la misma forma que se explica para añadir el lanzador de Firefox en el tercer párrafo de esta entrada.

3) Instalar el SDK de Android.
Descargamos el SDK de la página de descargas y lo descomprimimos en nuestro directorio personal.

cd ~
tar xzf /<ruta al fichero descargado>/android-sdk_r04-linux_86.tgz

Añadimos la ruta de las tools del SDK:

echo 'export PATH=${PATH}:${HOME}/android-sdk-linux/tools' >> /home/<nuestro_usuario>/.bashrc

4) Instalar el plugin de Android en Eclipse:
Arrancamos Eclipse y vamos a “Help / Install new software”. En el campo “Work with” ponemos http://download.eclipse.org/releases/indigo/ (en vez de indigo habrá que poner la versión que tengamos descargada, que puede ser otra, como por ejemplo «juno» o kepler) y pulsamos “enter”. En el cuadro de software disponible (Name / Version) aparecerá “Pending …” y en la esquina inferior derecha de la ventana de Eclipse nos irá contando cuándo lleva descargando (“Fetching children of Indigo: (xx%)”). Puede tardar bastante.

Una vez que se hayan terminado de cargar los componentes disponibles, hacer click en la sección “Web, XML and Java EE Development» y seleccionar el elemento “WST Server Adapters”. Pulsamos “Next” dos veces, aceptamos el acuerdo de licencia y pulsamos “Finish”. Tardará otro rato en instalar el software. Al terminar hay que reiniciar Eclipse.

Volvemos de nuevo a “Help / Install new software” y Pulsamos en el botón “Add” y rellenamos el campo nombre con “Android plugin” y en “Location” ponemos la url http://dl-ssl.google.com/android/eclipse/. Pulsamos OK y nos vuelve a cargar componentes. Seleccionamos todos los elementos de la sección “Developer Tools”. Otra vez “Next … Next … aceptar… y Finish” como antes. En algún momento nos dice que estamos instalando contenido sin firmar. No pasa nada. Pulsamos OK y seguimos. Al terminar, otra vez arrancar Eclipse.

Hay que decirle a Eclipse dónde están las SDK. Para ello vamos a Windows / Preferences y en la sección Android ponemos en la “SDK location” el directorio donde lo descomprimimos en el paso 3.

5) Instalar una máquina virtual.
Lanzar el Android SDK desde el menú o desde un terminal con el comando

$>android

Aparece una ventana de configuración, en la que tenemos que ir a Tools / Options y marcar el checkbox Force https:// ...

En la ventana de “Available Packages” seleccionamos para instalar la versión de Android con la que queramos trabajar. Esto tarda bastante y descarga mucha información al disco. Paciencia. Una vez que termina, vamos a Tools / Manage AVDs y creamos una máquina virtual para el emulador con la versión que deseemos. Se puede pulsar en “Start” y ver el emulador, pero hay que tener en cuenta que tarda bastante en cargar, estaremos un buen rato viendo el logo de ANDROID hasta que termina. Es buena costumbre dejar el emulador abierto mientras codificamos, así, cuando demos «Run» o «Debug» a la aplicación, Eclipse verá que ya está cargado el emulador y todo irá más deprisa. Si cada vez que ejecutamos una prueba cerramos y abrimos el emulador, tendremos que esperar que vuelva a cargar.

Y ya está. Con esto ya podemos hacer nuestra primera aplicación Android.

Minientrada

Por mucho que deseemos creer de otra manera, el amor universal y el bienestar de las especies consideradas en su conjunto son conceptos que, simplemente, carecen de sentido en cuanto a la evolución.

Richard Dawkins en “El gen egoísta”.

Instalar el DNI electrónico en Debian Squeeze / Ubuntu / Linux Mint

Resumo a continuación el procedimiento que yo he seguido para la instalación, y que me ha funcionado tanto en Debian Squeeze como en Linux Mint 16 (en otras distribuciones supongo que también funcionará, utilizando los paquetes correspondientes, pero yo no lo he probado):

1) INSTALAR LIBRERIAS NECESARIAS
sudo apt-get install libccid libpcsclite1 libpcsclite-dev pcscd pcsc-tools libpcsc-perl libusb-dev

2) INSTALAR EL LECTOR DE TARJETAS
Instalamos el lector de tarjetas, en mi caso es un SCR3310.
Descargamos, si no lo tenemos ya, el paquete de instalación del lector.

Descomprimimos el archivo
tar -xvzf /<ruta_al_archivo_descargado>/scmccid_5.0.11_linux.tar.gz

Ejecutamos el archivo de instalación que viene con él
cd /<ruta_al_archivo_descargado>/scmccid_5.0.11_linux
sudo ./install.sh

3) INSTALAR EL CERTIFICADO RAIZ
Importar el certificado raiz de la FNMT accediendo a esta página. Al pulsar sobre el icono con forma de certificado (o un enlace con la palabra «aquí») se abrirá una ventana en la cual marcamos los tres checks que aparecen y luego pulsamos OK.

4) INSTALAR EL PAQUETE OPENSC-DNIE PARA EL DNI ELECTRONICO
Descargamos el paquete que se corresponda con nuestro sistema de la pág. web del eDNI y lo instalamos. En mi caso el paquete a descargar es el Debian_Squeeze_opensc-dnie_1.4.8-2_i386.deb. (Los que usen Linux Mint 11 tienen que descargar el paquete para Ubuntu Natty. Para la versión de Linux Mint 15 sirve la de Ubuntu Precise. Para Linux Mint 16 en 32 bits me ha servido este paquete). La forma más cómoda de instalar el paquete es acceder a él desde el explorador de archivos y pulsando el botón derecho, seleccionar la opción Abrir con instalador de paquetes GDebi.

5) PREPARAR EL NAVEGADOR PARA LA LECTURA DEL DNI ELECTRONICO
Entramos en Firefox /Iceweasel en Editar / Preferencias / Avanzado / Cifrado / Dispositivos de seguridad.
Pulsamos en Cargar y pulsando en el botón Examinar seleccionamos el archivo /usr/lib/libpkcs11-dnie.so y luego pulsamos OK. Pulsamos de nuevo OK y cerramos la ventana de preferencias de Firefox / Iceweasel.

Cerramos el navegador y lo volvemos a abrir. Metemos el eDni en el lector de tarjetas y para comprobar que nos lee nuestro certificado abrimos el Firefox / Iceweasel y vamos a Editar / Preferencias / Avanzado / Criptografía / Ver certificados.
Al pulsar en la pestaña «Mis certificados», nos pedirá el PIN y nos mostrará los certificados del eDNI listos para ser usados en internet

Hay muchas más páginas web sobre cómo instalar el DNI electrónico español en Linux, las que he visto más completas y útiles son:

Instalación de DNI electrónico (DNIe) en Debian Squeeze

Usando el DNI electrónico en Debian squeeze/sid

Documentacion OpenDNIe Instalacion Linux del Cenatic

De todas ellas he extraído información para realizar esta entrada. Muchas gracias a todas.

Instalar la última versión de Iceweasel en Debian 6 (Squeeze)

Aunque ya hay un enlace a un método para hacerlo en la wiki de esDebian, al repasarlo no me ha funcionado del todo bien el paso de importación de la llave, así que pongo aquí el método completo con la forma en la que sí que me ha funcionado (lo estoy ejecutando en un Debian 6 de 32 bits, pero debería funcionar igual en 64 bits)

1) Añadir los repositorios de backport, añadiendo al fichero /etc/apt/sources.list las siguientes lineas:
deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

2) Importar la llave:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 85A3D26506C4AE2A

3) Actualizar e instalar
sudo apt-get update
sudo aptitude install -t squeeze-backports iceweasel

Instalar Firefox en Debian 6

Aunque se puede instalar el navegador Firefox de Mozilla incluyendo el repositorio de Mint Debian, prefiero dejar los repositorios de Debian tal cual, e instalar la última versión de Firefox usando el binario que proporciona Mozilla (en estos momentos la 10, pero funcionaría igual para otras versiones, sólo hay que cambiar el fichero a descargar). El proceso es el siguiente (esto me ha funcionado en un Debian 6 Squeeze para 32 bits):

Descargamos el fichero de aquí. Hacemos login en una consola como root y lanzamos los siguientes comandos (suponiendo que el fichero lo hemos descargado en el directorio Descargas):
#cd /opt
#tar xvf /home/<nuestro_usuario>/Descargas/firefox-10.0.tar.bz2
#cp /opt/firefox/icons/mozicon128.png /usr/share/pixmaps/firefox.png
#ln -s /opt/firefox/firefox /usr/bin/firefox

Luego, para crear un enlace en el menú, vamos a Sistema / Preferencias /Menú principal, seleccionamos Aplicaciones / internet, pulsamos el botón «Elemento nuevo» y creamos un lanzador de tipo Aplicación, le ponemos de nombre «Firefox», comando «/opt/firefox/firefox», comentario «Pues eso», pulsamos Aceptar y ya está.

Edito: he visto que como el directorio creado en /opt pertenece al usuario root, cuando haya una actualización para el navegador ésta no podrá instalarse automáticamente por falta de permisos. La solución es cambiar el propietario de la carpeta, ya sea permanentemente o cuando el navegador nos avise de que hay una actualización disponible (lo podemos saber si pulsamos en Ayuda / Acerca de Firefox).  El comando para ello es:
#chown -R nuestro_usuario:nuestro_grupo /opt/firefox

Para que la carpeta vuelva al usuario root el comando es:
#chown -R root:root /opt/firefox

P.D. : Los binarios que Mozilla suministra en su página principal de descarga son para 32 bits. En los sistemas de 64 bits esta forma de instalar Firefox no funcionará, dando error while loading shared libraries: libstdc++.so.6. La instalación de Iceweasel utilizando los repositorios backport sí que funcionará en 64 bits.

Edito otra vez: Hay otra página de descargas de Mozilla aparte de la citada antes, que es esta. En ella es posible descargarse también los binarios tanto para i686 como para x86_64. A día de hoy (15/3/2012) la versión más actual que se puede descargar es la 11. Es posible también descargarse las versiones en otras lenguas o en variantes locales, para ello no hay más que navegar por el árbol de directorios y elegir la que más nos guste.

Incluir usuario en sudoers

Si intentamos utilizar la opción «sudo» en Debian para ejecutar comandos en consola con nuestro usuario asumiendo privilegios del usuario root (tal y como se hace en Ubuntu y en otras distros ), veremos que el sistema nos da un error que nos dice que nuestro usuario no está incluido en el fichero «sudoers». Aunque hay quien sugiere editar a pelo el fichero /etc/sudoers, creo que es mejor hacerlo utilizando las aplicaciones de administración de Debian, de la siguiente manera:

Accedemos a Sistema / Administración / Usuarios y grupos. Una vez allí aparece seleccionado nuestro usuario (normalmente solo habrá uno, el nuestro, si no, seleccionamos aquél que queramos incluir en «sudoers»). Pulsamos el botón Gestionar grupos, y en la ventana que aparece seleccionamos el grupo «sudo»  y pulsamos el botón Propiedades. En la nueva ventana que nos aparece seleccionamos el «ckeckbox» del usuario a incluir en «sudoers» y pulsamos Aceptar. Se nos pedirá la contraseña de «root», después cerramos las ventanas que nos quedan abiertas, cerramos la sesión y al  volver a iniciar sesión ya podremos utilizar el comando «sudo» con nuestro usuario.

Configurar Selinux para un VirtualHost de Apache en Centos 6

Para que al utilizar un host virtual en Apache (por ejemplo localdev) cuyas páginas se encuentren en un directorio dentro de la carpeta del usuario (por ejemplo en public_html) no tengamos problemas de seguridad con Selinux, tenemos que realizar lo siguiente:

1) Instalar paquetes necesarios

Una instalación por defecto de Centos 6 a partir del CD Live configura Selinux en modo enforcing pero no instala algunos paquetes que vienen bien. En una consola como root hacemos:
#yum install policycoreutils-python setroubleshoot

2) Activar Selinux (en caso de que no lo tengamos ya activado)

Editar (como root) el fichero /etc/selinux/config dejándolo así:

SELINUX=enforcing
SELINUXTYPE=targeted

Tenemos que tener en cuenta que si no lo teníamos activado y modificamos este fichero para activarlo, es necesario reiniciar el equipo, porque hace falta que se haga de nuevo un «relabel» del sistema de ficheros.

3) Crear el host virtual en Apache

Modificar el fichero /etc/httpd/conf/httpd.conf descomentando la línea:
NameVirtualHost *:80 y añadiendo al final de dicho fichero:

DocumentRoot ~user/public_html
Servername localdev

4) Modificar el /etc/hosts

Modificamos la línea del host local incluyendo el nuevo host virtual (en este caso localdev) dejándola más o menos así:
127.0.0.1 localhost localhost.localdomain localdev

5) Configurar el contexto de Selinux y los permisos de la carpeta

Tenemos que lanzar como root los siguientes comandos en una consola.
Para cambiar el contexto Selinux de la carpeta del host virtual al necesario para que lo utilice el servidor web:
#chcon -R -v -u system_u -r object_r -t httpd_sys_content_t ~user/public_html

Para permitir al servidor web que lea el contenido de la carpeta home de los usuarios:
#setsebool -P httpd_enable_homedirs 1

Para que la configuración de Selinux se mantenga después de un «relabel» del sistema de ficheros:
# semanage fcontext -a -t httpd_sys_content_t "~user/public_html

Para que no haya problemas de permisos de acceso a las páginas web:
#chmod -R 755 ~user/public_html

(Los dos primeros comandos pienso que habría también que utilizarlos si en vez de crear un host virtual lo que se hace es utilizar el módulo userdir de Apache.)

6) Reiniciamos Apache y probamos nuestra página de inicio.

http://localdev/index.html

(Esta entrada es una versión resumida de este post, en el que se explica todo con más detalle)