20111230

Infografía Debian

Infografía que detalla los sabores de Debian, esta fue distribuida por la cuenta Debian de G+ haciendo referencia al sitio http://claudiocomputing.wordpress.com

20111105

DebConf12

12 Conferencia Anual Debian
7 - 14 de Julio del 2012
Managua, Nicaragua

Contrato Social Debian

1 Debian permanecerá 100% libre.
2 Contribuiremos a la comunidad de software libre.
3 No ocultaremos los problemas.
4 Nuestra prioridad son nuestros usuarios y el software libre.
5 Trabajos que no siguen nuestros estándares de software libre.

http://www.debian.org/social_contract

20111026

Crear conjunto personalizados de diagramas para dia

Dia es un software para generar diagramas, se puede ejecutar tanto en Linux, Windows y MacOS. Contiene un amplio conjunto de objetos, sin embargo puede surgir la necesidad de contar con uno personalizado.

Para emplear un grupo personalizado:
  • Se necesita tener listo un conjunto de imágenes.
  • Abrir Dia, Archivo -> Nuevo
  • Archivo -> Abrir -> seleccionar
  • Archivo -> Exportar
  • Seleccionar tipo -> .shape
  • exportar

  • editar archivo

    <connections>
    <point x="0" y="0" />
    <point x="2" y="0" />
    <point x="4" y="0" />
    <point x="0" y="2" />
    <point x="2" y="2" />
    <point x="4" y="2" />
    <point x="0" y="4" />
    <point x="2" y="4" />
    <point x="4" y="4" />
    </connections>


  • Archivo -> Hojas y Objetos
  • Nuevo
  • Nombre de la hoja -> "iXmed"
  • Nuevo
  • Forma SVG -> objeto.shape
  • Aplicar
  • Cerrar

  • Seleccionar el objeto
  • 20111021

    permutación de lineas


    $ seq -w 0 10
    00
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10

    $ seq -w 0 10 | shuf
    04
    02
    10
    06
    01
    03
    05
    08
    09
    00
    07

    $ seq -w 0 10 | shuf -n1
    06

    20111005

    resaltado de busquedas en vim

    Existen ocasiones en que se busca una cadena en un archivo, con grep rápidamente se encuentra mas si nos coloree lo que buscamos
    $ /bin/grep --color cadena archivo


    Cuando queremos que el mismo comportamiento se pueda emplear en vim es necesario
  • activar el parámetro
    :set hls




  • para apagarlo
    :set nohls


  • mas información
    :help hls
  • 20110721

    antivirus en linux

    Son muy pocos los virus en Linux y su infección no es comparable al sistema de las ventanas.
    En mi caso, comúnmente presto mi memoria usb a los compañeros para que transfieran archivos y han detectado que contiene un virus, a mi no me afecta pero no lo han podido eliminar en su sistema, por lo que me he dado a la tarea de eliminarlo yo


    $ apt-get install clamtk #clamav
    $ sudo freshclam
    $ clamscan --bell -i -r /media/
    /media/ice/fire/moco.exe: Trojan.IRCBot-3848 FOUND

    ----------- SCAN SUMMARY -----------
    Known viruses: 1005950
    Engine version: 0.96.5
    Scanned directories: 93
    Scanned files: 384
    Infected files: 1
    Data scanned: 197.55 MB
    Data read: 3180.54 MB (ratio 0.06:1)
    Time: 74.111 sec (1 m 14 s)

    Una vez detectado, veo contiene dicho directorio y a eliminar :D

    servicios de google desde linea de comandos

    Para usar los servicios de google



    $ apt-get install googlecl
    $ google calendar list
    Please specify user: petrohs
    Please log in and/or grant access via your browser at https://www.google.com/accounts/OAuthAuthorizeToken?... then hit enter.
    #pide autorizacion web
    [petrohs]
    pru2,Jul 21 18:59 - Jul 21 19:59
    grfgdff,Jul 21 19:30 - Jul 21 20:30
    07/21 pru3,Jul 21 20:00 - Jul 21 21:00
    prueba,Jul 22 18:00 - Jul 22 19:00

    $ google calendar today
    [petrohs]
    pru2,Jul 21 18:59 - Jul 21 19:59
    grfgdff,Jul 21 19:30 - Jul 21 20:30
    07/21 pru3,Jul 21 20:00 - Jul 21 21:00

    $ google calendar add nuevo
    $ google calendar today
    [petrohs]
    pru2,Jul 21 18:59 - Jul 21 19:59
    grfgdff,Jul 21 19:30 - Jul 21 20:30
    nuevo,Jul 21 19:33 - Jul 21 20:33
    pru3,Jul 21 20:00 - Jul 21 21:00

    $ google contacts list > respaldoContactosGMAIL.txt

    $ google help
    Welcome to the Google CL tool!
    Commands are broken into several parts:
    service, task, options, and arguments.
    For example, in the command
    "> picasa post --title "My Cat Photos" photos/cats/*"
    the service is "picasa", the task is "post", the single
    option is a title of "My Cat Photos", and the argument is the
    path to the photos.

    The available services are
    'picasa', 'blogger', 'youtube', 'docs', 'contacts', 'calendar'
    Enter "> help " for more information on a service.
    Or, just "quit" to quit.

    $ google blogger post --title 'servicios de google desde linea de comandos' --tags 'tips,google' /tmp/ss.txt
    0) -- opochtli --
    1) matando zombis asociación civil
    2) -patohs-
    3) temacilli
    Please select one of the items by number: 0

    google calendar en linea de comandos

    Utilidad en linea de comando para uso de google calendar

    $ apt-get install gcalcli
    $ gcalcli --user petrohs --pw contra list
    $ gcalcli --user petrohs --pw contra agenda
    Thu Jul 21 7:30pm grfgdff
    Fri Jul 22 6:00pm prueba

    $ gcalcli --user petrohs --pw contra calw
    +----------+----------+----------+----------+----------+----------+----------+
    |Sunday |Monday |Tuesday |Wednesday |Thursday |Friday |Saturday |
    +----------+----------+----------+----------+----------+----------+----------+
    |17 Jul |18 Jul |19 Jul |20 Jul |21 Jul ***|22 Jul |23 Jul |
    | | | | | | | |
    | | | | |7:30pm |6:00pm | |
    | | | | |grfgdff |prueba | |
    +----------+----------+----------+----------+----------+----------+----------+

    $ gcalcli --user petrohs --pw contra calm
    +----------+----------+----------+----------+----------+----------+----------+
    |July 2011 |
    +----------+----------+----------+----------+----------+----------+----------+
    |Sunday |Monday |Tuesday |Wednesday |Thursday |Friday |Saturday |
    +----------+----------+----------+----------+----------+----------+----------+
    | | | | | | 1 | 2 |
    +----------+----------+----------+----------+----------+----------+----------+
    | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
    +----------+----------+----------+----------+----------+----------+----------+
    |10 |11 |12 |13 |14 |15 |16 |
    +----------+----------+----------+----------+----------+----------+----------+
    |17 |18 |19 |20 |21 *** |22 |23 |
    | | | | | | | |
    | | | | |7:30pm |6:00pm | |
    | | | | |grfgdff |prueba | |
    +----------+----------+----------+----------+----------+----------+----------+
    |24 |25 |26 |27 |28 |29 |30 |
    +----------+----------+----------+----------+----------+----------+----------+
    |31 | | | | | | |
    +----------+----------+----------+----------+----------+----------+----------+

    $ gcalcli --user petrohs --pw contra quick pru2
    $ gcalcli --user petrohs --pw contra quick '8pm pru3'
    $ gcalcli --user petrohs --pw contra agenda
    Thu Jul 21 6:59pm pru2
    7:30pm grfgdff
    8:00pm pru3
    Fri Jul 22 6:00pm prueba

    llaves para ssh

    * En el unix cliente generar la llave
    $ ssh-keygen -b 2048 -C "unix serv1" -t rsa

    * Se generan dos archivos en el directorio del ssh
    $ ls -l .ssh/id*

    * Transferir la llave al servidor unix
    $ ssh-copy-id -i .ssh/id_rsa.pub cta@serv2

    * En caso de no existir ssh-copy-id
    + copiar el archivo .ssh/id_rsa.pub al servidor unix
    $ scp .ssh/id_rsa.pub cta@serv2:/tmp
    + en el servidor, concatenar la llave publica al resto de las llaves
    $ (echo && echo "#desarrollo" && cat /tmp/id_rsa.pub) >> authorized_keys

    * validar que se puede realizar la conexión y nos regresa el nombre del servidor remoto
    $ ssh cta@serv2 "hostname"

    ***El servidor debe estar configurado para aceptar las conexiones por llave

    20110709

    xlockmore

    Debe existir una forma mas elegante, profesional y a la Debian de hacer esto. Al instalar 6.0 y buscar xautolock no instalo xlock que es mi usual protector de pantalla. Buscando el paquete veo que no se encuentra :( mas que en sid.

    Muevo mi sources list, coloco la nueva ruta, instalo y regreso el source original

    $ sudo bash
    # mv sources.list sources.listR
    # echo 'deb http://ftp.mx.debian.org/debian/ sid main contrib non-free' > sources.list
    # apt-get update
    # apt-get install xlockmore
    # mv sources.listR sources.list

    20110704

    Gnu Privacy Guard

    http://www.gnupg.org/gph/es/manual/c16.html
    • gpg --gen-key
    • gpg --output archivo.asc --gen-revoke clave
    • gpg --edit-key clave


    petrohs@tlahtolli:~$ gpg --gen-key
    gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Por favor seleccione tipo de clave deseado:
    (1) RSA y RSA (predeterminado)
    (2) DSA y Elgamal
    (3) DSA (sólo firmar)
    (4) RSA (sólo firmar)
    ¿Su selección?: 1
    las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
    ¿De qué tamaño quiere la clave? (2048)
    El tamaño requerido es de 2048 bits
    Por favor, especifique el período de validez de la clave.
    0 = la clave nunca caduca
    = la clave caduca en n días
    w = la clave caduca en n semanas
    m = la clave caduca en n meses
    y = la clave caduca en n años
    ¿Validez de la clave (0)? 5y
    La clave caduca vie 01 jul 2016 23:08:16 CDT
    ¿Es correcto? (s/n) s

    Necesita un identificador de usuario para identificar su clave. El programa
    construye el identificador a partir del Nombre Real, Comentario y Dirección
    de Correo electrónico de esta forma:
    "Heinrich Heine (Der Dichter) "


    Nombre y apellidos: Omar Hernandez Sarmiento
    Dirección de correo electrónico: omar.hernandez.sarmiento@
    Comentario: Cuenta Laboral
    Ha seleccionado este ID de usuario:
    «Omar Hernandez Sarmiento (Cuenta Laboral) »

    ¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? V
    Necesita una frase contraseña para proteger su clave secreta.

    Introduzca frase contraseña:
    repita la contraseña:
    Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
    alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
    la red y los discos) durante la generación de números primos. Esto da al
    generador de números aleatorios mayor oportunidad de recoger suficiente
    entropía.

    No hay suficientes bytes aleatorios disponibles. Por favor, haga algún
    otro trabajo para que el sistema pueda recolectar más entropía
    (se necesitan 239 bytes más).
    +++++
    .......+++++
    gpg: clave 3546CFFD marcada como de confianza absoluta
    claves pública y secreta creadas y firmadas.

    gpg: comprobando base de datos de confianza
    gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias,
    modelo de confianza PGP
    gpg: nivel: 0 validez: 2 firmada: 0 confianza: 0-, 0q, 0n, 0m, 0f, 2u
    gpg: siguiente comprobación de base de datos de confianza el: 2016-07-02
    pub 2048R/3546CFFD 2011-07-04 [[caduca: 2016-07-02]]
    Huella de clave = D6B8 6480 9147 D923 FF87 6AB2 5F76 CA6E 3546 CFFD
    uid Omar Hernandez Sarmiento (Cuenta Laboral)
    sub 2048R/621DE7A3 2011-07-04 [[caduca: 2016-07-02]]

    petrohs@tlahtolli:~$ gpg --output /tmp/r3546CFFD.asc --gen-revoke 3546CFFD

    sec 2048R/3546CFFD 2011-07-04 Omar Hernandez Sarmiento (Cuenta Laboral)

    ¿Crear un certificado de revocación para esta clave? (s/N) s
    Por favor elija una razón para la revocación:
    0 = No se dio ninguna razón
    1 = La clave ha sido comprometida
    2 = La clave ha sido reemplazada.
    3 = La clave ya no está en uso
    Q = Cancelar
    (Probablemente quería seleccionar 1 aquí)
    ¿Su decisión? 0
    Introduzca una descripción opcional; acábela con una línea vacía:
    >
    Razones de la revocación: No se dio ninguna razón
    (No se dió descripción)
    ¿Es correcto? (s/N) s

    Necesita una frase contraseña para desbloquear la clave secreta
    del usuario: "Omar Hernandez Sarmiento (Cuenta Laboral) "
    clave RSA de 2048 bits, ID 3546CFFD, creada el 2011-07-04

    se fuerza salida con armadura ASCII.
    Certificado de revocación creado.

    Por favor consérvelo en un medio que pueda esconder; si alguien consigue
    acceso a este certificado puede usarlo para inutilizar su clave.
    Es inteligente imprimir este certificado y guardarlo en otro lugar, por
    si acaso su medio resulta imposible de leer. Pero precaución: ¡el sistema
    de impresión de su máquina podría almacenar los datos y hacerlos accesibles
    a otras personas!
    petrohs@tlahtolli:~$ gpg --edit-key F1B71CDB
    gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Clave secreta disponible.

    pub 2048R/F1B71CDB creado: 2011-07-04 [caduca: nunca ] uso: SC
    confianza: absoluta validez: absoluta
    sub 2048R/B9C17DFE creado: 2011-07-04 [caduca: nunca ] uso: E
    [ absoluta ] (1). Petronilo Sanchez (Obrero Informatico)

    Orden> addphoto

    Escoja una imagen para usar en su ID fotográfico. La imagen debe ser un
    archivo JPEG. Recuerde que la imagen se almacena en su clave pública.
    Si usa una foto muy grande, ¡su clave será también muy grande!
    Una imagen cercana a 240x288 tiene un tamaño adecuado.

    Introduzca nombre del archivo JPEG para ID fotográfico: /tmp/_JuanCarlosBodoque.jpg
    ¡Este JPEG es realmente grande (26235 bytes)!
    ¿Seguro que quiere usarlo? (s/N) s
    ¿Es correcta la foto? (s/n) s

    Necesita una frase contraseña para desbloquear la clave secreta
    del usuario: "Petronilo Sanchez (Obrero Informatico) "
    clave RSA de 2048 bits, ID F1B71CDB, creada el 2011-07-04


    pub 2048R/F1B71CDB creado: 2011-07-04 [caduca: nunca ] uso: SC
    confianza: absoluta validez: absoluta
    sub 2048R/B9C17DFE creado: 2011-07-04 [caduca: nunca ] uso: E
    [ absoluta ] (1). Petronilo Sanchez (Obrero Informatico)
    desconocido (2) [jpeg image of size 26235]

    Orden> quit
    ¿Grabar cambios? (s/N) s
    petrohs@tlahtolli:~$

    20110624

    tmux

    TMUX - Terminal MUltipleXer

    Mucho mas que un emulador de terminal o dividir la consola


    En mi caso, me permite tener en la misma ventana:
    0. Administrador de archivos
    1. Script
    2. Configuraciones
    3. Funciones
    4. Consola

    Para tener un entorno de programación mas cómodo ¿?

    20110622

    twitter desde linea de comandos

    Existen muchos clientes de twitter para linea de comandos, sin embargo, desde que se desactivo la autentificacion básica han quedado obsoletos.

    TTYtter es un cliente escrito en perl por Cameron Kaiser que emplea oauth. Tiene su propia consola o puede ser empleado en linea comandos.

  • Para obtener una copia visitar http://www.floodgap.com/software/ttytter/dl.html y conocer la ultima versión
    $ wget 'http://www.floodgap.com/software/ttytter/dist1/1.2.00.txt' -O ttytter.pl

  • Darle permisos de ejecución
    $ chmod +x ./ttytter.pl

  • Ejecutando por primera ocasión requiere que se de permiso a la aplicación desde la cuenta

  • Consola, solo se ejecuta
    $ ./ttytter.pl -ansi -ssl #asni para color. ssl para https
    -- using SSL for default URLs.
    trying to find cURL ... /usr/bin/curl
    -- no version check performed (use /vcheck, or -vcheck to check on startup)
    (checking credentials) test-login SUCCEEDED!
    -- processing credentials: logged in as petrohs

    ###################################################### +oo=========oo+
    TTYtter 1.2.0 (c)2011 cameron kaiser @ @
    all rights reserved. +oo= =====oo+
    http://www.floodgap.com/software/ttytter/ a==: ooo
    .++o++. ..o**O
    freeware under the floodgap free software license. +++ :O:::::
    http://www.floodgap.com/software/ffsl/ +**O++ # :ooa
    #+$$AB=.
    tweet me: http://twitter.com/ttytter #;;ooo;;
    tell me: ckaiser@floodgap.com #+a;+++;O
    ###################################################### ,$B.*o*** O$,
    # a=o$*O*O*$o=a
    # when ready, hit RETURN/ENTER for a prompt. @$$$$$@
    # type /help for commands or /quit to quit. @o@o@o@
    # starting background monitoring process. @=@ @=@
    TTYtter>


    En el prompt hay muchas opciones solo muestro unos pocos ejemplos:
  • Actualizar estado
    > Solo escribe tu mensaje

  • Ver timeline, los etiqueta con un código
    > /again

  • retuitiar el comentario a1
    > /retweet a1

  • ver menciones
    > /replies

  • responder el comentario
    > /reply zc9 tienes razon

  • mandar dm
    > /dm @petrohs mensaje directo

  • ver dm solo los recientes
    > /dm

  • Ayuda
    > /help

  • Salir
    > /quit

    Desde linea de comandos solo muestro algunas opciones
  • Actualizar estado
    $ ./ttytter.pl -status="mi mensaje"

  • ver dm
    $ echo "/dm" | ./ttytter.pl -ssl -script

  • ver menciones
    $ ./ttytter.pl -ssl -runcommand="/replies"

    Esto da un mundo de posibilidades
  • instalando Debian en vaio vgn-sz450fn

    La instalación del sistema operativo universal en una laptop sony-vaio vgn-sz450fn
    • Descargar Debian GNU/Linux i386 http://cdimage.debian.org/debian-cd/6.0.1a/i386/bt-cd/debian-6.0.1a-i386-CD-1.iso.torrent para después quemarlo en un cd e inciar la computadora con el.
    • Se inicio la computadora dando la opción normal o gráficamente. Seleccione esta ultima porque no lo había probado
    • Cargo los primeros drivers y detecto la tarjeta de red pero no cuenta con el software para emplearlo. Solicita los archivos iwlwifi-3945-1.ucode y iwlwifi-3945-2.ucode :/
    • Estos se encuentran en el paquete firmware-iwlwifi_0.28_all.deb de non-free. Lo descargue, descomprimí $ ar -x firmware-iwlwire*.deb && tar -zxvf data.tar.gz y moví el par de archivos a una usb $ mv lib/firmware/iwlwifi-3945* /media/usb
    • Reinicie la instalación teniendo la usb conectada y avanzo sin mayor problema.
    De lo que vi
    • Esta curiosa la imagen que ponen en la instalación gráfica, aunque para mi gusto, bastante infantil.
    • Probablemente es mi equipo y/o escogí algo incorrectamente pero tardo en instalar mucho tiempo
    Ahora lo mas importante es usarla para configurar aun tantas cosas :)

    20110617

    Raulito el Friki

    Raulito el Friki es el geek que todos queremos ser.

    Colección de las tiras publicadas por Recurrente sobre la vida y obra de nuestro heroe


    Y no podían falta los carteles que adornan las tiras


    He cambiado la forma de publicar las tiras del gran Recurrente

    20110608

    api SoundCloud

    Como hoy, extrañamente, si tenia ganas de trabajar; termine rápido el pendiente y al no haber mas requerimientos para hoy, me puse a jugar con SoundCloud

    Intentando leer un poco de http://developers.soundcloud.com/ veo que existen aplicaciones para escritorio pero no hay una que se adapate a mis necesidades por lo que por mera morbosidad me puse a realizar consultas a la api.

  • Primero, es necesario registrarse. La cuenta básica es gratuita por lo que no existe inconveniente de ir a http://soundcloud.com/ para crearla.
  • La cuenta nos permite ingresar a la interfaz pero para usar la api es necesario dar de alta una aplicación en http://soundcloud.com/you/apps/new Es importante guardar los datos de identificación
  • NOTA: Los pasos realizados los estoy ejecutando con curl desde linea de comandos. Como dato adicional, en el trabajo esta websense y para salir libremente empleo tor-browser por lo que paso como parámetro adicional a curl la salida del proxy
    $ TOR='--socks5 127.0.0.1:9050'
  • Si queremos comunicarnos tenemos que autentificarnos, para ello emplea oauth.
    $ curl $TOR 'https://api.soundcloud.com/oauth2/token' -d 'client_id={numeroCliente}' -d 'client_secret={numeroSecreto}' -d 'grant_type=password' -d 'username={cuenta@correo}' -d 'password={contrasenna}'
    {"access_token":"435cacc0cedf0249c4e1153453ac8144","expires_in":3599,"scope":"*","refresh_token":"4084a8c8e9e91e50dd4eadb3e151a240"}

    El valor importante es access_token. Se pueden emplear otros métodos de autentifiación
  • La consulta para obtener un listado de canciones es
    $ curl $TOR 'https://api.soundcloud.com/tracks.json?oauth_token=f751eb4a184caaa56fe60dce34abdbf9&q=zztop'
    La salida json es bastante amplia pero los interesantes son los campos download_url
  • Para descargan la canción es empleando dicho campo
    curl $TOR -L 'https://api.soundcloud.com/tracks/16106687/download?oauth_token=f751eb4a184caaa56fe60dce34abdbf9' -o /tmp/s.mp3
  • Listo para escuchar
    $ mpg321 /tmp/s.mp3
  • Siguiente paso, la automatización :D
  • 20110112

    Búsqueda manpages en Firefox

    Dentro de las herramientas que tiene Firefox esta la barra de búsquedas en donde puede ser configurado un motor en particular.

    Se genero una nueva configuración para que dicho motor consulte las paginas del manual que entrega UNIXhelps for Users

    El proceso consiste en un nuevo .xml que contiene etiquetas de Open Search

    <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
    xmlns:moz="http://www.mozilla.org/2006/browser/search/">
    <ShortName>manUNIXhelp</ShortName>
    <Description>man pages desde UNIXhelp for Users</Description>
    <InputEncoding>ISO-8859-1</InputEncoding>
    <Image width="16" height="16">data:image/x-icon;base64,AAABAAEAExMQAAEABACYAQAAFgAAACgAAAATAAAAJgAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARERAAAAAAAAAAABEREREQAAAAAAAAARERERERAAAAAAAAERAAAAAAEAAAAAABERAAAAAAEQAAAAABEQAAEAABEQAAAAAREQABEQABERAAAAAREQABEQABERAAAAAREQABEQABERAAAAAREQABEQABERAAAAAREQABEQABERAAAAABEQABEQABEQAAAAABEQABEQABEQAAAAAAEAABEAABEAAAAAAAARERERERAAAAAAAAABEREREQAAAAAAAAAAARERAAAAAAAAAAAAAAAAAAAAAAAA/g/gAPAB4ADgAOAAwABgAIAAIACAACAAgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAgAIAAIACAACAAwABgAOAA4ADwAeAA/g/gAA==</Image>
    <Url type="text/html" method="GET" template="http://unixhelp.ed.ac.uk/CGI/man-cgi?{searchTerms}"/>
    <moz:SearchForm></moz:SearchForm>
    </OpenSearchDescription>

    El archivo se debe de guardar en ~/.mozilla/searchplugins/

    El código en github esta en https://github.com/petrohs/manSearch.xml--firefox-
    También se ha mandado a publicar dentro de los complementos de Mozilla https://addons.mozilla.org/es-ES/firefox/addon/270895/