reStructuredText

reST

Hace tiempo que vengo usando reStructuredText también conocido como reST, y para empezar a escribir sobre el tema primero busqué e instalé el plugin para wordpress, es decir que este texto ya está escrito en reST. Lo hice desde una consola usando Vim y luego fue posteado haciendo copy + paste, aunque se puede postear directamente por email, algo muy útil es que tanto el archivo como el contenido en la base de wordpress son idénticos, y teniendo los archivos se puede realizar una búsqueda de posts usando grep y otros comando básicos de consola, también se puede dejar público el archivo reST por web por las dudas estará siempre disponible en http://osiux.com/pub/restructuredtext/reStructuredText.txt

Qué es reStructuredText

Es un lenguaje creado para generar documentos de textos en varios formatos HTML, LaTeX, docbook y otros. La principal ventaja es que prácticamente no son necesarios Tags, se puede usar cualquier editor de texto, y al editar el documento en texto plano se asemeja bastante al resultado final, como se trata de un de texto plano es portatil, liviano y permite concentrarse en el contenido en lugar del formato. Al usarlo en wordpress solo se guarda el contenido del post en la base de datos y no código HTML.

Sintaxis

Es extremandamente simple, prácticamente es un texto plano con algunas convenciones:

normal
*italica*
**negrita**
``código``

================
titulo documento
================

-----------------------
subtitulo del documento
-----------------------

título capítulo 1
=================

título sección 1
----------------

título subsección 1.1
~~~~~~~~~~~~~~~~~~~~~

 * lista uno
 * lista dos

========= ========= =========
columna 1 columna 2 columna 3
========= ========= =========
fila      celda     celda
========= ========= =========
Aplicaciones
Vim

Para obtener el coloreo de la sintaxis sólo es necesario incluir al principio del documento la siguiente línea:

.. -*- mode: rst -*-
MoinMoin

MoinMoin parsea reST con sólo incluir #!rst entre triples llaves.

{{{#!rst

Texto *reST*

}}}
Python

Sphinx genera la documentación oficial de python usando reST.

reST se utiliza para la creación de los PEPs (Python Enhancement Proposals).

EpyDoc genera documentación para Python y soporta reST.

rst2a

Un interesante servicio web que al pasarle una url de un texto escrito en reST puede devolver el contenido en formato HTML o PDF eligiendo diferentes templates, esto evita tener instalado reST.

Tags: , , , , , ,

Comments (1)

login sin passwords con pam-usb

Si estás cansado de tipear tu password para acceder al equipo, cada vez que usas sudo o para activar el protector de pantallas con contraseña, una solución extremadamente simple es usar un pendrive usb como llave de seguridad.

Si usas debian o algún derivado estos son los paquetes:

root@branca:~# apt-cache search pam | grep usb
libpam-usb - PAM module for authentication with removable USB block devices
pamusb-tools - helper tools for the pam-usb module

Instalar ambos paquetes:

root@branca:~# aptitude install libpam-usb pamusb-tools

Conectar el pendrive y verificar que se detecte correctamente:

root@branca:~# lsusb
Bus 005 Device 004: ID 13fe:1d00 Kingston Technology Company Inc. DataTraveler 2

Agregar el pendrive como dispositivo con un nombre:

root@branca:~# pamusb-conf --add-device k2g
Please select the device you wish to add.
* Using "Kingston DataTraveler 2.0 (Kingston_DataTraveler_2.0_5B7411B0A9E7-0:0)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sdb1 (UUID: 494F-00D6)" (only option)

Name : k2g
Vendor : Kingston
Model : DataTraveler 2.0
Serial : Kingston_DataTraveler_2.0_5B7411B0A9E7-0:0
UUID : 494F-00D6

Save to /etc/pamusb.conf ?
[Y/n] Y
Done.

Agregar el usuario asociado al pendrive:

root@branca:~# pamusb-conf --add-user osiris
Which device would you like to use for authentication ?
* Using "k2g" (only option)

User : osiris
Device : k2g

Save to /etc/pamusb.conf ?
[Y/n] Y
Done.

Chequear que la autenticación funcione:

root@branca:~# pamusb-check osiris
* Authentication request for user "osiris" (pamusb-check)
* Device "k2g" is connected (good).
* Performing one time pad verification...
* Regenerating new pads...
* Access granted.

Definir el método de autentificación:

root@branca:~# vi /etc/pam.d/common-auth

auth sufficient pam_usb.so
auth required pam_unix.so nullok_secure

Verificar archivo de configuración global:

root@branca:~# vi /etc/pamusb.conf

<?xml version="1.0" ?>
<configuration>
<devices>
<device id="k2g">
<vendor>
Kingston
</vendor>
<model>
DataTraveler 2.0
</model>
<serial>
Kingston_DataTraveler_2.0_5B7411B0A9E7-0:0
</serial>
<volume_uuid>
494F-00D6
</volume_uuid>
</device></devices>
<users>
<user id="osiris">
<device>
k2g
</device>
<option name="quiet">true</option>
<agent event="lock">gnome-screensaver-command --activate</agent>
<agent event="unlock">gnome-screensaver-command -deactivate</agent>
</user></users>
</configuration>

La sección agent event es usada para bloquear el equipo con sólo quitar el pendrive y se activa el screensaver, luego para activarlo nuevamente es necesario conectar el pendrive.
Para esto es necesario que el agente este corriendo:

osiris@branca:~$ pamusb-agent
pamusb-agent[10148]: pamusb-agent up and running.
pamusb-agent[10148]: Watching device "k2g" for user "osiris"
pamusb-agent[10148]: Device "k2g" has been removed, locking down user "osiris"...
pamusb-agent[10148]: Running "gnome-screensaver-command --activate"
pamusb-agent[10148]: Locked.
pamusb-agent[10148]: Device "k2g" has been inserted. Performing verification...
pamusb-agent[10148]: Executing "/usr/bin/pamusb-check --quiet --config=/etc/pamusb.conf --service=pamusb-agent osiris"
pamusb-agent[10148]: Authentication succeeded. Unlocking user "osiris"...
pamusb-agent[10148]: Running "gnome-screensaver-command -deactivate"

Es posible segurizar aun más el acceso de varias maneras, información detallada en http://pamusb.org.

Tags: , , , , , ,

Comments (2)

HP provee servidores y servicios con Debian GNU/Linux

El desarrollo de Debian en HP se remonta al año 1995, por lo cual HP se encuentra en una posición única para proveer servicios en el uso de sistemas operativos libres.

El Proyecto Debian es muy fuerte y altamente respetado en la comunidad de desarrollo de open source. HP cuenta con un gran numero de expertos en Debian y actualmente se encuentra capacitando empleados quienes que son miembros activos participantes en el comite de proyectos Debian.

http://h71028.www7.hp.com/enterprise/cache/390110-0-0-0-121.html

Tags: , , , , ,

Leave a Comment

SLAX en un pendrive usb

Si querés usar un linux en un pendrive usb y llevarlo a donde quieras para usar siempre linux, SLAX es una muy buena opción.

1. Descargar imagen de SLAX

wget ftp://ftp.linux.cz/pub/linux/slax/SLAX-5.x/special-editions/slax-popcorn-5.1.8.iso

2. Insertar el pendrive y particionarlo

# fdisk -l

# fdisk /dev/sdb1
 d (delete)
 n (new partition)
 4 (primaria 1-4)
 t (cambiar tipo de file-system por 6 FAT16)
 a (activar particion como booteable)
 w (guardar cambios)

3. formatear la particion

# mkfs.vfat -F 16 /dev/sdb4

4. montar el pendrive y copiar slax

# mount -o loop slax-popcorn-5.1.8.iso /media/cdrom
# mount -t vfat /dev/sdb4 /media/usbdisk
# cd /media/cdrom
# cp -vra * /media/usbdisk

5. copia archivos inicio

# cd /media/usbdisk/boot
 # cp vmlinuz /media/usbdisk
 # cp initrd.gz /media/usbdisk

6. editar archivo inicio

# cd /media/usbdisk
# mv isolinux.cfg syslinux.cfg
# vi syslinux.cfg
  reemplazar /boot/vmlinuz por vmlinuz y lo mismo con /boot/initrd.gz por initrd.gz
  :wq (guardar cambios y salir)
# cd /
# umount /media/usbdisk

7. instalar syslinux

# syslinux -s /dev/sdb4
# sync

Listo, con quitar el pendrive y colocarlo en cualquier PC con soporte de usb en el arranque podes iniciar tu SLAX!

Si queres probar sin reiniciar usando qemu hace lo siguiente:

# qemu -boot c -usb /dev/sdb4

Tags: , , , ,

Leave a Comment

configurar proxy apt-get consola

Cuando la salida a internet es a traves de un proxy es necesario configurar la consola.

Se pueden exportar dos variables de entorno:

# vi ~/.bashrc
export HTTP_PROXY=proxy:8080
export FTP_PROXY=proxy:8080

La alternativa es editar el archivo /etc/apt/apt.config

Acquire::http::Proxy "http://proxy:8080"

Tags: , , , , , , ,

Leave a Comment

Linux RDP Terminal Server con xrdp

Es posible montar un servidor RDP en Linux mediante xrdp, pudiendo acceder desde clientes linux y windows.

Instalar y descomprir las fuentes

# wget http://ufpr.dl.sourceforge.net/sourceforge/xrdp/xrdp-0.4.0.tar.gz
# tar xzf xrdp-0.4.0.tar.gz

Compilar e Instalar

# cd xrdp-0.4.0
# apt-get install libpam0g-dev gcc make libssl-dev
# make
# make install

Iniciar RDP server

# /usr/local/xrdp/xrdp_control.sh start

Conectarse como cliente

# rdesktop servidor

Tags: , , ,

Comments (1)

escritorio remoto x11vnc y vnc4server

A veces resulta muy util compartir el escritorio X mediante x11vnc se logra mayor rapidez.

Instalar x11vnc

# apt-get install x11vnc vncserver vncviewer vnc4server

Establecer una contraseña

# vncpasswd

Hacer un script de inicio

# vi sharex11vnc.sh
#!/bin/bash
x11vnc -nap -bg -many -rfauth ~./vncpasswd

Conectarse como cliente

# vncviewer hostname:0

Donde host es la pc corriento el script sharex11vnc.

Una alternativa es usar vnc4server que crea una nueva sesion de usuario.

# vnc4server -depth 16 -geometry 800x600

Tags: , , ,

Leave a Comment

presets winamp en xmms

Si instalaste xmms notaras la aunsencia de las ecualizaciones preconfiguradas de winamp. No desesperar, se pueden descargar e instalar en xmms.

$ wget http://www.xmms.org/misc/winamp_presets.gz
gunzip -c winamp_presets.gz > ~/.xmms/eq.preset

Tags: ,

Leave a Comment

fluxbox + gtk2 + root-tail + gkrellm

Decidi salir de gnome y probar fluxbox, el resultado: no vuelvo ni por Beryl (aunque lo extraño!). Realmente es muy facil personalizarlo y como manejador de ventanas es excelente, muy rapido y practicamente no consume recursos

fluxbox screenshot gtk2 root-tail gkrellm

Editar un style

Inicialmente descargue unos cuantos y termine modificandolos y haciendo un mix entre Sephiroth y Equilibrium.

http://fluxbox.org/download/themes/contrib/discostoo_sephiroth.tar.bz2
http://rest0re.org/themes/equilibrium.tar.gz

El archivo de configuracion de un tema debe estar en ~/.fluxbox/styles/osiux/theme.cfg donde osiux es el nombre del tema.

Editar menu

el menu se encuentra en el directorio del usuario ~/.fluxbox/menu y es autogenerado al instalar fluxbox, en realidad llama al menu compartido para todos los usuarios que esta en /etc/X11/fluxbox/fluxbox-menu. Luego de mirar un poco como era la sintaxis opte por crear un menu propio unicamente con las aplicaciones mas usadas y nada mas, la manera mas simple es hacer un include a un arhivo con mi propio menu, asi de esta manera en cualquier momento descomentando la linea original puedo acceder a todas las opciones por defecto.

[begin] (fluxbox)
#[include] (/etc/X11/fluxbox/fluxbox-menu)
[include] (~/.fluxbox/menu-osiux)
[end]

este es el contenido del menu personalizado ~/.fluxbox/menu-osiux

[exec] (iceweasel)      {iceweasel}
[exec] (gaim)           {/usr/bin/gaim}
[exec] (xchat)          {/usr/bin/xchat}
[exec] (tsclient)       {/usr/bin/tsclient -f}
[exec] (icedove)        {/usr/bin/icedove}
[exec] (eclipse)        {/usr/bin/eclipse}
[exec] (quanta)         {/usr/bin/quanta}
[exec] (gimp)           {/usr/bin/gimp-2.2}
[exec] (inkscape)       {/usr/bin/inkscape}
[exec] (vmware)         {/usr/bin/wmware}
[exec] (mplayer)        {/usr/bin/gmplayer}
[exec] (k3b)            {/usr/bin/k3b}
[exec] (calc)           {/usr/bin/gnome-calculator}
[exec] (opencalc)       {/usr/bin/ooffice -calc} <>
[exec] (openwriter)     {/usr/bin/ooffice -writer} <>
[exec] (gedit)          {/usr/bin/gedit}
[exec] (run..)          {/usr/bin/fbrun} <>
[exec] (mc)             { x-terminal-emulator -T "mc" -e /usr/bin/mc}
[exec] (thunar)         {/usr/bin/thunar} <>
[exec] (Terminal)       {/usr/bin/gnome-terminal}

Algunos iconos .png no se mostraban asi que los converti a .xpm usando convert icono.png icono.xpm

Script Fluxbox

Fue necesario correr un script luego de iniciar fluxbox para que se carge el root-tail y el gkrellm y establecer el background.

La llamada al script debe hacerce en el archivo ~/.fluxbox/init en la siguiente linea:

session.screen0.rootCommand:    ~/.fluxbox/fluxbox-scripts.sh

El contenido del script fluxbox-scripts.sh

#!/bin/bash
Esetroot ~/.fluxbox/backgrounds/osiux-background.png
~/root-tail/info-root-tail.sh &
gkrellm &

GTK2

Para tener un tema de GTK2 corriendo en fluxbox es necesario levantar el gnome-settings-daemon y el mismo se agrega en el archivo ~/.fluxbox/startup antes de que se ejecute fluxbox.

exec gnome-settings-daemon &
exec /usr/bin/fluxbox

root-tail

Esta utilidad es similar al tail y permite convertir un log a una imagen en el desktop, es posible definir colores, fuente y posicion de la imagen, es excelente!. Asi que solo es necesario crearse un par de scripts de lo que quieran visualizar o directamente leer los logs del sistema.

Contenido del script root-tail.sh

#!/bin/bash
root-tail -g 500x250+100+0 -font fixed ~/root-tail/info-disk-free.log,gray &
root-tail -g 500x250+500+0 -font fixed ~/root-tail/info-netstat-tcp.log,gray &
root-tail -g 500x230+100+500 -font fixed ~/root-tail/info-ps.log,gray &

gkrellm

Es un panel con informacion del estado de los recursos del sistema (red,disco,procesadores,etc) mas la sumatoria de varios plugins que permiten desde ver la temperatura de su ciudad como manejar el xmms o hacer capturas de pantallas.

apt-get install gkrellm gkrellm-volume gkrellmms gkrellmwireless

Tags: , , ,

Comments (5)

Good Bye Microsoft

Ahora ya no hay mas escusas, instalar linux no es dificil, solo tenes que entrar en http://goodbye-microsoft.com/

y terminas feliz con un Debian!

Tags: , , , , ,

Comments (1)