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/

20100411

Error firefox

Tras actualizar Firefox (3.0.19) en mi Linux se presento el error.
$ firefox
Could not find compatible GRE between version 1.9.0.1 and 1.9.0.*.

Buscando en la red -para ello empleo w3m, navegador en consola- el error se resuelve con
$ sudo xulrunner-1.9 --register-global

20100302

matar evolution

En ocasiones se requiere matar el evolution, normalmente empleaba el kill a los procesos pero en la red encontré la forma de hacerlo con el mismo evolution

$ evolution --force-shutdown

alsa mute/unmute

Por alguna razón que aun no encuentro el porque, siempre que prendo mi Linux el volumen esta al 0% y con mute activado. Para ajustar las características del audio lanzaba gnome-volume-control, para realizar esta tarea desde linea de comandos haremos uso de las utilerías de alsa

$ amixer -c 0 sset Master 50% unmute
Donde
-c 0 primer dispositivo
sset ajustar
Master canal principal
unmute desactivar mute

Se puede asignar una combinación de teclas para el fluxbox si se modifica
$ grep mute .fluxbox/keys
Shift XF86AudioRaiseVolume :ExecCommand amixer -c 0 sset Master mute
Shift XF86AudioLowerVolume :ExecCommand amixer -c 0 sset Master unmute

O que al ingresar al escritorio active el audio
$ grep mute .fluxbox/startup
amixer -c0 sset Master 50% unmute &

20100228

extraer el audio de un flv

* Para extraer el audio de todos los vídeos en flash de un directorio empleando ffmpeg

$ ls -1 *.flv | sed -e "s/.flv//" -e "s/.*/ffmpeg -i &.flv -acodec libvorbis -vn &.ogg/" | sh


$ #Listar todos los archivos flv del directorio
$ ls -1 *.flv
arch1.flv
arch2.flv
arch3.flv
arch4.flv
arch5.flv
$ #Eliminar .flv
$ ls -1
*.flv | sed -e "s/.flv//"
arch1
arch2
arch3
arch4
arch5
$ #Creando el comando
$ ls -1
*.flv | sed -e "s/.flv//" -e "s/.*/ffmpeg -i &.flv -acodec libvorbis -vn &.ogg/"
ffmpeg -i arch1.flv -acodec libvorbis -vn arch1.ogg
ffmpeg -i arch2.flv -acodec libvorbis -vn arch2.ogg
ffmpeg -i arch3.flv -acodec libvorbis -vn arch3.ogg
ffmpeg -i arch4.flv -acodec libvorbis -vn arch4.ogg
ffmpeg -i arch5.flv -acodec libvorbis -vn arch5.ogg

20091109

xscreensaver en winbug$


Mi señora, que poco a poco se involucra en el uso de Software Libre, vio los protectores de pantalla de mi Linux y me dijo "están bonitos, porque no me los pasas" a lo que conteste que no son para win...

Pero la inquietud me hizo buscar y san google me llevo a winlock una aplicación que al instalar agrega un protector de pantalla mas a winbug$ desde el cual pueden ser configurados los clásicos screensaver.

Ahora, a esperar su reacción :)





20090928

conky

Despues de haber instalado conky
$ apt-get install conky

Este es mi archivo de configuración
$ cat .conkyrc
alignment top_left
update_interval 2.0
default_color gray

TEXT
${exec cal}
${color red} $alignc $nodename ${color }
$hr
$alignc uptime $uptime

${color white} MEM ${color} $memperc% ${color white} $alignr CPU ${color} $cpu%
${memgraph 15,150 830606 1e0683} ${cpugraph 15,150 830606 1e0683}
${color ddaa00}${top_mem name 1}${top_mem mem 1} $alignr ${top name 1}${top cpu 1} ${color}
${top_mem name 2}${top_mem mem 2} $alignr ${top name 2}${top_mem cpu 2}
${top_mem name 3}${top_mem mem 3} $alignr ${top name 3}${top_mem cpu 3}
${top_mem name 4}${top_mem mem 4} $alignr ${top name 4}${top_mem cpu 4}
${top_mem name 5}${top_mem mem 5} $alignr ${top name 5}${top_mem cpu 5}
${top_mem name 6}${top_mem mem 6} $alignr ${top name 6}${top_mem cpu 6}
${top_mem name 7}${top_mem mem 7} $alignr ${top name 7}${top_mem cpu 7}
${top_mem name 8}${top_mem mem 8} $alignr ${top name 8}${top_mem cpu 8}
${top_mem name 9}${top_mem mem 9} $alignr ${top name 9}${top_mem cpu 9}

${color white}swap${color} ${swapbar 10,150} $swapperc%
$hr

${color white}/ ${fs_bar 10,220 /} ${fs_used_perc /}%
${color white}/home ${fs_bar 10,220 /home} ${fs_used_perc /home}%
$hr


20090907

alsamixer error

Después de una actualización, ya no tenia sonido.
Al ejecutar
$ alsamixer
alsamixer: function snd_ctl_open failed for default: No such file or directory

Para corregirlo
$ sudo chmod 777 /dev/snd/*

20090819

archivos cuyo nombre tiene guion

Suponiendo que alguien creo un archivo llamado -rw-r--r--
$ ls
.bash_history .bashrc -rw-r--r--
$ file *rw*
-rw-r--r--: gzip compressed data, from MS-DOS


Lo intento listar, mover, descomprimir y no lo permite
$ ls '-rw-r--r--'
ls: invalid line width: -r--r--
$ mv '-rw-r--r--' rw
mv: invalid option -- r
Try `mv --help' for more information.
$ ls \-rw\-r\-\-r\-\-
ls: invalid line width: -r--r--


Intentando varias formas por fin logre renombrarlo
$ find . -name "-rw*" -exec mv {} rw.gz \;
$ ls
.bash_history .bashrc rw.gz

cambio contraseña

Para cambiar la contraseña de cuenta en un dominio winbug$ desde linux

$ smbpasswd -r servidor.dominio -U cuenta
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user cuenta

20090615

tnsnames

En ocasiones es necesario ingresar a una base de datos oracle por sqlplus que no se encuentra registrada en el tnsnames del servidor y no se cuenta con los permisos para modificarlo; en estos casos se puede emplear un tnsnames local.
  • Editar el tnsnames local
usuario@servidor:~/miTNSnames/$ vi tnsnames.ora
  • Definir la variable TNS_ADMIN para que apunte al directorio empleado.
usuario@servidor:~/miTNSnames/$ export TNS_ADMIN="$HOME/miTNSnames"
  • Conectarse.
usuario@servidor:~/miTNSnames/$ sqlplus usuario/contra@SID
Escrito con el Navegador Flock

20090608

vim ssh

Para editar desde gvim un archivo de un servidor remoto vía ssh(1)
gvim scp://mzadmin@10.103.12.77/cdrs/CDrs/SopInterRoam/xjimenez/USANC_TAP3/CDUSANCMEXNC06049.txt
o
:e scp://mzadmin@10.103.12.77/cdrs/CDrs/SopInterRoam/xjimenez/USANC_TAP3/CDUSANCMEXNC06049.txt

Mayor información
:help netrw
Escrito con el Navegador Flock

20090519

scripts para generar sentencias sql apartir de listados de archivos

Se tiene un directorio con 534 archivos en el formato CDMEXNCxxxxxyyyyy donde yyyyy son un numero de serie y xxxxx son etiquetas de operadores

$ ls -1 CD*| head
CDMEXNCARGNC03179
CDMEXNCARGNC03180
CDMEXNCARGNC03181
CDMEXNCARGNC03182
CDMEXNCAUSOP02976
CDMEXNCAUSOP02977
CDMEXNCAUSOP02978
CDMEXNCAUSOP02979
CDMEXNCAUTCA02374
CDMEXNCAUTCA02375

Estos datos fueron registrados en una tabla de BD, ¿se necesita consultar todos los registro? Solo entrega un registro por archivo.
La sentencia a emplear es

select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='ARGNC' and sqn=3179;

Para evitar el copiar cada segmento y pegarlo registro por registro

$ for _a in `ls -1 CD* | cut -c8-12 | sort -u`
> do
> echo "union">>file.sql;
> echo "select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='$_a' and sqn in \
> `ls -1 | grep $_a | cut -c13-17 | xargs | sed -e 's/ /,/g' -e 's/.*/(&)/'`" >> file.sql
> done
$ head file.sql
union
select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='ARGNC' and sqn in (03179,03180,03181,03182)
union
select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='AUSOP' and sqn in (02976,02977,02978,02979)
union
select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='AUTCA' and sqn in (02374,02375,02376,02377)
union
select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='AUTMM' and sqn in (03060,03061,03062,03063)
union
select vplmn, sqn, cre_date, name_fl, tot_reg from ixmed_d_roamtapout_sum where vplmn='AUTPT' and sqn in (02988,02989,02990,02991)

Ahora se puede emplear el archivo file.sql eliminando la primera linea para obtener el resultado. Si se cuenta la cantidad de registros que entrega en este caso es idéntico a la cantidad de archivos.

Explicación del código
  • `ls -1 CD* | cut -c8-12 | sort -u`
    • Se lista en una sola columna todos los archivos que inicien con CD, se cortan del caracter 8 al 12 y se ordenan eliminando duplicados
    • $ ls CD* | head
      CDMEXNCARGNC03179
      CDMEXNCARGNC03180
      CDMEXNCARGNC03181
      CDMEXNCARGNC03182
      CDMEXNCAUSOP02976
      CDMEXNCAUSOP02977
      CDMEXNCAUSOP02978
      CDMEXNCAUSOP02979
      CDMEXNCAUTCA02374
      CDMEXNCAUTCA02375
      $ ls CD* | cut -c8-12 | head
      ARGNC
      ARGNC
      ARGNC
      ARGNC
      AUSOP
      AUSOP
      AUSOP
      AUSOP
      AUTCA
      AUTCA
      $ ls CD* | cut -c8-12 | sort -u | head
      ARGNC
      AUSOP
      AUTCA
      AUTMM
      AUTPT
      AUTTR
      BELMO
      BELTB
      BGR01
      BHRBT
  • for _a in `ls -1 CD* | cut -c8-12 | sort -u`; do [...] done;
    • Se emplea un ciclo for para asignar a la variable $_a todas las cadenas que cumplan con el resultado del ls
  • Dentro de cada ciclo
    • Imprime union y lo manda al archivo file.sql
    • Imprime la sentencia concatenada con la salida del ls y lo envia al archivo file.sql
    • `ls -1 | grep $_a | cut -c13-17 | xargs | sed -e 's/ /,/g' -e 's/.*/(&)/'`
      • Se listan los archivos
      • Se busca el que tenga $_a en su nombre
      • Corta del caracter 13 al 17
      • Convierte la salida de una columna a una fila
      • Transforma todos los espacios en comas
      • Agrega a toda la cadena paréntesis al inicio y al final
      • $ ls -1 CD* | head
        CDMEXNCARGNC03179
        CDMEXNCARGNC03180
        CDMEXNCARGNC03181
        CDMEXNCARGNC03182
        CDMEXNCAUSOP02976
        CDMEXNCAUSOP02977
        CDMEXNCAUSOP02978
        CDMEXNCAUSOP02979
        CDMEXNCAUTCA02374
        CDMEXNCAUTCA02375
        $ ls -1 CD* | grep ARGNC
        CDMEXNCARGNC03179
        CDMEXNCARGNC03180
        CDMEXNCARGNC03181
        CDMEXNCARGNC03182
        $ ls -1 CD* | grep ARGNC | cut -c13-17
        03179
        03180
        03181
        03182
        $ ls -1 CD* | grep ARGNC | cut -c13-17 | xargs
        03179 03180 03181 03182
        $ ls -1 CD* | grep ARGNC | cut -c13-17 | xargs | sed -e 's/ /,/g'
        03179,03180,03181,03182
        $ ls -1 CD* | grep ARGNC | cut -c13-17 | xargs | sed -e 's/ /,/g' -e 's/.*/(&)/'
        (03179,03180,03181,03182)

Escrito con el Navegador Flock

20090511

SMTP prioridad alta

Cuando se maneja directamente en el protocolo SMTP y se requiere que el mensaje sea enviado con una prioridad elevada se puede aplicar la etiqueta


X-Priority: 1


Escrito con el Navegador Flock

20090323

ajustar fecha

Para ajustar la fecha del sistema en base a servidores en México
$ sudo ntpdate mx.pool.ntp.org
ó
$ sudo ntpdate ntp.astrosmo.unam.mx

Escrito con el Navegador Flock

20090318

colabora con wikipedia

¿Quien no ha empleado la wikipedia?
¿Con que se ha retribuido?

Es importante las donaciones en efectivo pero existen otras formas de colaborar. Por mi parte ha iniciado un seguimiento de las paginas que he consultado y si encuentro un cambio inapropiado (algo como: yo estuve aquí) lo regreso a su original.

Escrito con el Navegador Flock

20090308

issue.net

El mensaje que se muestra justo antes de solicitar la contraseña cuando se hace un login remoto esta definido en el archivo /etc/issue.net

El mio es un paste(1) de cowsay(1) y figlet(6)
issue.net

alias

Alias empleados
alias mocp='mocp /ruta/a/musica/ -T /usr/share/moc/themes/green_theme';
alias _TNSNames=" sudo gvim /ruta/a/tnsnames.ora"
alias sl="sl -lFea"
alias apt-get="sudo apt-get"
alias mount="sudo mount"
alias f-spot="dbus-launch f-spot"