20081215

protector de pantalla (xlock)

Un protector de pantalla mas ligero que el xscreensaver es xlock

Instalación
$ apt-get install xlockmore xautolock
$ apt-get install vlock away


xautolock es el protector. xautolock es un demonio para bloquear automáticamente la pantalla
$ xautolock -time 5 &
Levanta en background bloquear la pantalla si en cinco minutos no hay actividad.

vlock y away son protectores de consola :p

20081126

Renombrando identidad (hostname-username)

Para cambiar el nombre de nuestro equipo

# vi /etc/hosts
127.0.1.1 viejoHostname --> 127.0.1.1 nuevoHostname
# hostname nuevoHostname
# vi /etc/hostname
viejoHostname --> nuevoHostname


Para cambiar el nombre y grupo de nuestro usuario

# usermod -l nuevoUserName viejoUserName
# mv /home/viejoUserName /home/nuevoUserName
# usermod -g nuevoGrupo nuevoUserName

20081112

Empleo del teclado en fluxbox

De las cosas que me agradan en fluxbox es el empleo de combinaciones en teclado para ejecutar acciones de una manera rápida y fácil de configurar.

Para ello se requiere modificar el archivo .fluxbox/keys con las atajos y su respectiva función.

Para no desperdiciar la tecla de winbug$ hago uso de esta como Mod4; para identificar como reconoce esta tecla empleo el comando xev.

petrohs@tlahtolli:/home/petrohs$ cat .fluxbox/keys
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
OnDesktop Mouse4 :NextWorkspace
OnDesktop Mouse5 :PrevWorkspace

Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Mod4 F1 :Workspace 1
Mod4 F2 :Workspace 2
Mod4 F3 :Workspace 3
Mod4 F4 :Workspace 4
Mod4 F5 :Workspace 5
Mod4 F6 :Workspace 6
Mod4 F7 :Workspace 7
Mod4 F8 :Workspace 8
Mod4 F9 :Workspace 9
Mod4 F10 :Workspace 10
Mod4 F11 :Workspace 11
Mod4 F12 :Workspace 12
Mod4 l :ExecCommand xlock
Mod4 t :ExecCommand xterm
Mod4 f :ExecCommand firefox
Mod4 r :ExecCommand bbrun -w
Mod4 g :ExecCommand gvim
Mod4 m :ShowDesktop
XF86AudioMute :ExecCommand mocp --pause
Mod4 XF86AudioMute :ExecCommand mocp --unpause
XF86AudioRaiseVolume :ExecCommand mocp -v +2
XF86AudioLowerVolume :ExecCommand mocp -v -2
Mod4 Menu :RootMenu
Mod4 3 :Maximize
Mod4 Shift 3 :Minimize
Mod4 comma :ExecCommand gksudo dhclient
Mod4 period :ExecCommand gksudo "/sbin/iwconfig wlan0 essid red key contra"
petrohs@tlahtolli:/home/petrohs$


Donde:
Mod1 Alt
Mod4 Win
NextWindow Siguiente ventana
PrevWindow Ventana anterior
Workspace # Cambia al escritorio #
ExecCommand Ejecuta el comando
ShowDesktop Minimiza todo
RootMenu Muestra el menú
Maximize Maximizar ventana
Minimize Minimizar ventana

20081111

identificar teclas xev

xev es un programa (viene en el paquete x11-utils) que nos permite monitorizar los eventos que ocurren en nuestro sistema gráfico.
Si movemos el ratón o presionamos una tecla nos regresa como es interpretado por X.

windows
KeyRelease event, serial 32, synthetic NO, window 0x5800001,
root 0x53, subw 0x0, time 169107828, (35,221), root:(519,267),
state 0x40, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False


Punto
KeyRelease event, serial 32, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 111760512, (226,71), root:(595,393),
state 0x0, keycode 60 (keysym 0x2e, period), same_screen YES,
XLookupString gives 1 bytes: (2e) "."
XFilterEvent returns: False


Tabulador
KeyRelease event, serial 32, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 111762984, (226,71), root:(595,393),
state 0x0, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False


Disminuir volumen
KeyRelease event, serial 29, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 112005797, (378,-17), root:(770,328),
state 0x0, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False


Aumentar volumen
KeyPress event, serial 32, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 112007206, (378,-17), root:(770,328),
state 0x0, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False


Quitar sonido
KeyRelease event, serial 32, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 112007847, (378,-17), root:(770,328),
state 0x0, keycode 160 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False


Menu
KeyPress event, serial 32, synthetic NO, window 0x5a00001,
root 0x53, subw 0x0, time 112012636, (169,-13), root:(561,332),
state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

20081008

IE en Linux

Cuando por X o Y razones es necesario el uso de ms-IE y no podemos queremos hacer uso de winbugs podemos dio$ nos perdone ejecutarlo sobre Linux.

Existe el proyecto ies4linux que nos permite instalar IE. Para ello requiere que nuestro sistema tenga instalado wine y cabextract

Instalacion



$ sudo apt-get install wine cabextract
$ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
$ tar -zxvf ies4linux-latest.tar.gz
$ cd ies4linux-*
$ ./ies4linux --install-ie55 --install-corefonts --no-desktop-icon --beta-install-ie7 --no-gui
IEs4Linux will:
- Instalar Internet Explorers: 6.0, 5.5, 7.0
- Usando el idioma de IE: ES
- Instalar Adobe Flash 9.0
- Install MS Core Fonts
- Instalar todo en: /home/petrohs//.ies4linux
[ OK ]

Descargando todo lo que necesitamos
Downloading from microsoft.com:
{...}
Downloading from Evolt Browser Archive:
{...}
Downloading from macromedia.com:
{...}
Downloading from sourceforge.net
{...}
[ OK ]

Instalando IE 6
{...}
[ OK ]

Instalando Flash Player 9
{...}
[ OK ]

Instalando IE 5.5
{...}
[ OK ]

Instalando IE 7 (beta)
{...}
[ OK ]

IEs4Linux installations finished!




Si lo realizas como root, sale un curioso mensaje de advertencia


¡Estas como root! No es aconsejable. IE es muy inseguro para que le des privilegios de root.
¿Quieres un tip de un amigo? Ejecutame como usuario normal o, mejor, si puedes, crea un usuario por aparte para usar IE.

20081003

Linux para el sector salud

Pues gratamente me sorprendio el hecho de que a las trabajadoras del sector salud les entregaran unas portatiles para realizar la captura de informacion de una manera mas eficientes que sus clasicas tablas.

De linux


De linux


Estos equipos cuentan con GNU/Linux Debian + KDE

De linux


De linux

TUX cambia de trabajo

Pues tan difícil esta la situación que hasta TUX ha cambiado de empleo...
...para ser chalan de pesera.

De linux


De linux


Si lo quieren ver trabajando se encuentra en la ruta de Tacubaya-SHCP, Junto a lo que sera la estación del metrobus.

20080930

Conectarse a una BD Oracle

Primeramente es necesario instalar las librerías de Oracle, lo haremos empleando los .deb.

  • Agregar a source.list la linea
    $ sudo echo -e "\n#Oracle SQL*Plus\ndeb http://oss.oracle.com/debian unstable main non-free" >> /etc/apt/sources.list
    $ sudo apt-get update
    $ sudo apt-get install oracle-instantclient-*


  • Configurar la variable $ORACLE_HOME
    $ export ORACLE_HOME='/usr/lib/oracle/10.2.0.4/client'
    $ echo -e "\n#Oracle\nexport ORACLE_HOME='/usr/lib/oracle/10.2.0.4/client'" >> ~/.bashrc


  • Crear el archivo tnsnames
    $ sudo mkdir -p $ORACLE_HOME/network/admin/
    $ sudo gvim $ORACLE_HOME/network/admin/tnsnames.ora


  • Probar sqlplus
    $ sqlplus $BDusu/$BDcontra@$BDsid <<!
    select sysdate from dual;
    !

20080926

SQL*Loader 282

Al tratar de subir un archivo con sqlldr de oracle muestra el error:

SQL*Loader-282: Unable to locate character set handle for character set ID (2).


Los archivos de carga y control son correctos; asi que investigando, tras prueba y error en la pagina http://www.orafaq.com/forum/mv/msg/26570/72802/0/ nos dan una pista: las versiones del sqlldr y la bd son distintas.

En tlayecotiloni tenemos la versión

[tlayecotiloni] $ sqlldr
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Sep 26 16:04:17 2008
...


En el servidor tenemos la versión

$ sqlldr
SQL*Loader: Release 8.1.7.0.0 - Production on Fri Sep 26 10:41:26 2008
...


Y la base de datos

$ sqlplus $BDusu/$BDcontra@$BDsid
...
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
...


Por lo que para subir la información, no encontrando otra manera, pasamos el archivo de datos y de control desde nuestra estación (sqlldr versión superior a la BD) de trabajo al servidor (sqlldr versión anterior a la bd)

20080922

Escritorio remoto de winbug$

En ocasiones es necesario trabajar en un equipo winbug$ remoto; para poder realizar nuestra tarea desde nuestro Linux podemos hacer uso de la utilieria rdesktop

Para su instalación en un equipo Linux con paquetes basados en .deb basta con
$ sudo apt-get install rdesktop

Para emplearlo
$ rdesktop -u cuenta -p contra -f 0.0.0.0

Donde
-u cuenta Indica con que usuario ingresaremos
-p contra La contraseña del usuario
-f En pantalla completa
0.0.0.0 Dirección ip o nombre del equipo

Para cambiar de pantalla completa a ventada se emplea la combinación de teclas Ctrl+Alt+Enter

20080614

Reglas para control de acceso en ldap-iplanet

Reglas para control de acceso en ldap-iplanet

[Esto no es una guia extensiva, ni definitiva. Se basa en el empirismo surgido de necesidades especificas.]

Los permisos de ingreso para el servidor LDAP SUN ONE se basan en Instrucciones para Control de Acceso (Access Control Instructions, ACI) las cuales definen quien puede ingresar, a donde puede ingresar y que acciones puede realizar. En terminos generales son como las ACL de OpenLDAP.

Para construirla la regla es necesario identificar que objeto(s) se afectara(n); que usuario, grupo u objeto tendra/carecera de privilegios; que atributos puede tocar; los permisos que se daran.

La estructura basica de la regla es:
    (target="ldap:///cn=*,[...],c=MX")
      (targetattr=[lista de atributos afectados])
        (
           version 3.0;
           acl "[Nombre de la regla";
           allow([lista de opciones]) 
           userdn="ldap:///uid=[...],c=MX";
         )

  Donde
    target
      Es la rama objetivo donde sera aplicada la regla
    targetatrr
      Son los atributos que se afectaran. Ejemplo de ellos, userPassword, giveName, description. El asterisco (*) indica todos. Si para negar dichos atributos es con !=.
    acl
      Seguido del nombre de la regla.
    allow|deny
      Permite o niege las acciones listadas sobre los atributos arriba definidos. Las opciones pueden ser read, write, add, delete, compare, selfwrite, proxy, o all. Para indicar varios se separan con coma (,).
    userdn
      Usuario al que se le aplicara la regla. Puede tomar por valor un dn, self, all, anyone, parent. Tambien se puede aplicar a un grupo (groupdn), por direccion o por tiempo.

Se aplican en el dn que se afecta; es decir, en la rama donde se define el ingreso.

Una regla practica es que un usuario especifico puede realizar cambios de contraseña.
    (target="ldap:///uid=*,ou=Usuarios,c=Empresa,c=MX")
  (targetattr=userPassword)
    (
      version 3.0;
      acl "CambiaPass";
      allow(write) 
      userdn="ldap:///uid=appCamPAss,ou=Apps,         c=Empresa, c=MX";
    )

Si se emplea ldapbrowser 
  Se tiene que agregar el atributo sobre el objeto y pegar la regla en una sola linea.


  Cuando se quiere buscar las reglas se tiene que indicar explicitamente que muestre los atributos aci.



Mayores referencias en
http://docs.sun.com/source/816-6704-10/access_control.html
http://tille.xalasys.com/training/ldap/ch04s02.html