Estas aquiContenido / Usar el DNI electrónico en Debian Etch (4.0) GNU/Linux
Usar el DNI electrónico en Debian Etch (4.0) GNU/Linux
Ahora que va a estar de moda el nuevo DNI electrónico, probablemente queramos utilizarlo en Linux, aparte del omnipresente Windows.
Si este es nuestro deseo, podemos cumplirlo fácilmente. A continuación describo cómo lo he conseguido yo en una distribución muy popular: Debian Etch (4.0, actualmente en pruebas y que dentro de poco será la versión estable)...
Los pasos a seguir son los siguientes:
A) Configurar el dispositivo lector de tarjetas:
Yo uso el lector LTC-31 USB (de la compañía C3PO), versión 2.
El soporte para este dispositivo en el núcleo ("kernel") de linux es bastante bueno. La "versión 2" de este lector está soportada por los núcleos 2.4.x y 2.6.x. (La "versión 1" sólo estaba soportada para la versión 2.4.x, y para la 2.6.x había que parchear y recompilar el núcleo.)
Para usar este lector en Debian Etch simplemente hay que instalar los siguientes paquetes (por ejemplo con apt-get, o con synaptic):
libccid
pcscd
pcsc-tools
B) A continuación, instalamos los siguientes paquetes, necesarios para acceder a la tarjeta del DNIe:
libopensc2
libopensc2-dev
mozilla-opensc
opensc
C) Seguidamente, descargamos los "drivers" para linux específicos del DNIe.
En concreto, es este fichero (cuando usted lea esto puede que el nombre del fichero haya cambiado, en ese caso, busque el equivalente en esa misma web).
Este fichero .zip contiene los paquetes .deb necesarios para usar el DNIe.
Podría usted, perfectamente, instalar esos paquetes (quitando previamente las versiones instaladas en el paso B), pero para evitar "ensuciar" nuestro sistemas con versiones diferentes de las oficiales, nos limitaremos a instalar el paquete "opensc-dnie_1.2.1-3_i386.deb", que es el específicamente hecho para el DNIe.
Para ello, es necesaria hacer una pequeña modificación en este paquete.
D) "Trucar" opensc-dnie:
La versión disponible en la web del DNIe es para Debian Sarge (3.1). El problema es que para Etch (la versión siguiente, 4.0) las versiones de los paquetes anteriores (paso B) han cambiado. Esto provocará problemas al intentar instalar el paquete "opensc-dnie".
Para solucionarlo, vamos a modificar el archivo de control (que contiene la información de dependencias de paquetes) del paquete "opensc-dnie".
Una forma de hacerlo es así:
D.1) Iniciamos sesión gráfica (recomiendo gnome) como "root"
D.2) Copiamos el archivo "opensc-dnie_1.2.1-3_i386.deb" que venía en el .zip que bajamos de la web, al directorio /usr/src
D.3) Abrimos el navegador de archivos (nautilus), nos vamos a ese directorio, hacemos click en ese fichero con el botón derecho del ratón, y damos en "extraer aquí".
D.4) Nos creará un directorio "opensc-dnie_1.2.1-3_i386.deb_FILES" con los contenidos del .deb.
Vamos a ese directorio y veremos estos ficheros:
control.tar.gz
data.tar.gz
debian-binary
D.5) Descomprimimos también "control.tar.gz": botón derecho y "extraer aquí".
D.6) Vamos al nuevo directorio creado y abrimos con el editor de texto (gedit) el fichero "control":
En la línea que empieza por "depends", sustituimos todas las apariciones de "svn" por "2". Así eliminamos las versiones que nos dan guerra, y usamos las de Debian Etch.
Guardamos el fichero.
D.7) Abrimos una consola y nos vamos a ese directorio que contiene el fichero de texto que acabamos de modificar (será una cadena de "cd"s algo tediosa...).
Una vez allí, construimos un nuevo "control.tar.gz". Escribimos en la consola:
(Primero borramos copia de seguridad del fichero modificado)
# rm control~
# tar -czf control.tar.gz ./*
D.8) copiamos este nuevo "control.tar.gz" al directorio /usr/src, que también contiene el "opensc-dnie_1.2.1-3_i386.deb" original.
(Hacemos copia de seguridad de ese .deb original, por si acaso.)
D.9) Abrimos ese .deb (con el gestor de archivadores de gnome), pulsamos en el botón "Añadir", y seleccionamos el archivo "control.tar.gz" que acabamos de crear. Esto nos sustituirá el antiguo "control.tar.gz" por este nuevo.
D.10) Instalamos el paquete "opensc-dnie_1.2.1-3_i386.deb" modificado, desde la consola:
#dpkg -i opensc-dnie_1.2.1-3_i386.deb
E) Si lo hemos hecho todo bien, no habrá problemas y se instalará correctamente.
Cerramos la sesión gráfica de "root", iniciamos nueva sesión como usuario normal y podremos usar el DNIe con el navegador mozilla/iceweasel.
Para probar, podemos acceder a algún servicio de la Seguridad Social (http://www.seg-social.es), o de la Agencia Tributaria (http://www.aeat.es).
Espero, que esto pueda resultar de utilidad.
Un saludo.




Supongo que para Ubuntu será algo muy similar, ¿no?
Veo que los drivers están para Ubuntu Dapper, supongo que también funcionarán en Edgy.
Entonces resumiendo sería algo como instalar todos los paquetes que comentas (desde synaptyc o mediante consola):
sudo aptitude install libccid pcscd pcsc-tools libopensc2 libopensc2-dev mozilla-opensc opensc
Luego bajar los drivers para Ubuntu e instalar solo opensc-dnie_1.2.1-3_i386.deb
Que alguien me corrija si no es así o si lo ha probado y no funciona (aun no tengo el lector de tarjetas, ¿alguien sabe donde adquirir ese modelo?)
Yo no he conseguido instalarlo en Ubuntu Edgy, pero la verdad es que soy un novato con Linux. Primero lo intenté instalar con los drivers de Dapper, y como no me funcionó intenté 'trucar' el fichero 'control' de forma similar a lo que se cuenta en el artículo, sustituyendo todas las dependencias por las versiones que tengo instaladas en mi Edgy, pero tampoco me funciona.
¿Alguien lo ha conseguido?
Precisamente yo tengo Etch, aunque para cuando me llegue el eDNI quizá vayamos por Lenny o por la siguiente...
Una puntualización: no es necesario abrir una sesión gráfica como root (lo que tiene un cierto riesgo). Tanto Gnome como KDE tienen comandos para ejecutar programas gráficos como superusuario en una sesión de usuario corriente. Son, respectivamente, gksu y kdesu.
Ejemplos:
gksu nautilus (explorador de archivos)
gksu file-roller (compresor)
gksu gedit (editor de texto)
kdesu konqueror (explorador de archivos)
kdesu ark (compresor)
kdesu kedit (editor de texto)
Por supuesto, para la consola tenemos el SU.
Con respecto al artículo
En primer lugar, creo que se me olvidó indicar un paquete adicional que también es necesario instalar:
pinentry-gtk2
(Si usamos Gnome)
Por otra parte, el resumen de lo expuesto es:
- Instalar los paquetes necesarios para usar el lector de tarjetas.
- Instalar los paquetes necesarios para la tarjeta del DNIe, en concreto. Esto incluye, fundamentalmente, el paquete "opensc-dnie" pues los demás paquetes ya suelen venir en nuestra distribución de Linux.
- Únicamente hay que modificar un poco este último paquete para que se "trague" las versiones de los paquetes de nuestra distribución. Para Ubuntu, y otras distros basadas en Debian, el proceso sería efectivamente similar.
Como siempre, lo ideal sería que incluyeran el archivo fuente del paquete, para que se pudiera modificar fácilmente y que cada uno pudiera construir el suyo.
Con respecto a los lectores de tarjetas:
Es algo que, inexplicablemente, parece que nadie ha contemplado. Personalmente, yo el mío lo he conseguido a través de terceros (cuestión de contactos).
Sin embargo, no están disponibles en las tiendas normales de informática (al menos por mi zona). Hay una empresa española que colabora con la FNMT (ver www.cert.fnmt.es) desde hace años, y los suministra por internet.
Espero que los usuarios hagan presión y las autoridades tomen medidas a este respecto (acuerdos de colaboración, etc.). De lo contrario el DNIe resultará inútil, como se puede suponer.
Mi lector también me llegó a traves de terceros. Por si os sirve de algo, en la caja pone 'obsequio de red.es'
... para que podamos hacernos con uno.
¿No se puede instalar para amd64 en etch? Lo digo porque no hay problemas para los paquetes de los repositorios oficiales, pero el archivo .zip sólo tiene versiones para i386.
Hola
para convertir los paquetes se puede utilizar este script:
#!/bin/sh for DEB in *i386.deb;do NAME=`echo $DEB | sed 's/-[0-9]*_i386.deb//g'` PATCH=`echo $DEB | sed 's/.*-\([0-9]*\).*/\1/g'` let PATCH++;DIR="$NAME-${PATCH}_amd64" dpkg-deb -x $DEB $DIR dpkg-deb -e $DEB $DIR/DEBIAN sed -i "s/\(^Version: [0-9.]*\)-[0-9]*/\1-$PATCH/g;s/Architecture: i386/Architecture: amd64/g" $DIR/DEBIAN/control sed -i '/sort/ s/+1/-k 2/g' $DIR/DEBIAN/* sed -i '/sort/ s/+2/-k 3/g' $DIR/DEBIAN/* dpkg-deb -b $DIR doneBasta guardarlo en la carpeta donte estén los i386.dev (llámalo por ejemplo conve), darle permiso de ejecución y ejecutarlo ( ./conve)
salu2
Sabeis de algun enlace donde explica como instalar en sistemas de 64 bits.
porque hasta ahora, no he visto nada.
Un saludo a todos