-Dorg.eclipse.swt.browser.UseWebKitGTK=true
Lo mas leído
sábado, septiembre 03, 2011
Eclipse y Archlinux
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
sábado, octubre 11, 2008
Diccionarios en Openoffice.org 3
El primer motivo, y probablemente el que mas disgustos causará es la eliminación del soporte gráfico "kde". Lo que implica que es necesario forzar el "look and feel" al utilizado por Gnome. Si no hacemos ésto, es muy probable que el programa "se cuelgue".
Para solucionarlo, es necesario definir la variable de entorno OOO_FORCE_DESKTOP con el valor gnome. Sin embargo, en equipos compartidos esto es molesto. Entonces, una buena solución es hacerla global. Para hacerlo, es necesario crear el archivo /etc/profile.d/soffice.sh, asignarle permisos de ejecución, y como contenido, agregar
export OOO_FORCE_DESKTOP=gnome
Otra molestia de la nueva versión es la ausencia de los diccionarios por defecto. Si bien es relativamente simple instalarlos, Archlinux viene sólo con algunos. Entre ellos el español, pero localizado al español de españa (es-ES)
Diccionario para es-CL
Dicho diccionario puede ser instalado desde el administrador de extensiones (herramientas/Administrador de extensiones). Sin embargo, en equipos compartidos ésto puede ser molesto.
Para instalarlo de forma global, es necesario ejecutar como administrador
/opt/openoffice/program/unopkg add --shared dict-cl.oxt
Y para desinstalarlo, basta con ejectuar
/opt/openoffice/program/unopkg remove --shared org.openoffice.cl.hunspell.dictionaries
Y ya que estamos jugando con unopk, es posible visualizar las extensiones globales instaladas ejecutando
/opt/openoffice/program/unopkg list --shared
Direcciones útiles
Sitio que contiene extensiones y diccionarios para openoffice.org
Origen del diccionario de sinónimos
sábado, agosto 16, 2008
KDE 4.1: Apagar los efectos al reproducir video
Si bien aún no es perfecto, su usabilidad y estética es tan buena que te acostumbras rápidamente. Sin exagerar, al tercer día ya me cuestionaba si era posible volver a la versión anterior. Creo que dejaré de cuestionarme ésto y estaré convencido sólo cuando en mi colección de programas tenga un kio slave para obexftp, knetworkmanager, kpowersave nativo, y un amarok también integrado con el nuevo escritorio de la gran K.
Dentro de las cosas buenas que tiene, están los efectos gráficos de kwin, los cuales son tan diversos como los que cuenta compiz, pero en mi opinión mejores, debido a que jamás este último funcionó de forma adecuada con kde. Los efectos son lindos, simples de configurar, y para que funcionen sólo es necesario tener habilitado aiglx.
Sin embargo, con el tema de los efectos no todo es perfecto. Generalmente las aplicaciones de video utilizan xv (xvideo), el cual generalmente no se lleva bien con los efectos del compositor, ya sean los de kwin o compiz. El motivo de éste post, es precisamente enunciar una solución temporal para deshabilitar los efectos en kde 4 mientras se reproduce el video, y habilitarlos al finalizar.
¿como lograr esto?
La respuesta debiera ser simple, basta con utilizar el reemplazo de dcop: dbus. Sin embargo, luego de investigar un poco, y mirar las interfaces de kwin, noté que éste no cuenta actualmente con un método que realice esta función, como toggleEffects o algo así. Por lo tanto, la solución actual es realizar los siguientes pasos:
- Deshabilitar los efectos en la configuración del usuario
- Recargar la configuración (esto apagará los efectos)
- Ejecutar su programa de video favorito
- Habilitar los efectos en la configuración del usuario
- Recargar la configuración
Para realizar ésto, se pueden enviar comandos dbus, y utilizar la utilidad kwriteconfig. No explicaré los detalles, pero al final del artículo usted puede encontrar un script para realizar todos los pasos de forma automática utilizando mplayer. Es necesario asignarle permisos de ejecución, y asociar los archivos de videos a dicho script.
Links útiles:
xvmplayekde4: Script de mi autoria que realiza lo sugerido en el artículo.
D-Bus Sightseeing: Entrada de un blog que me explicó como realizar llamadas dbus.
en su equipo, puede encontrar el archivo /usr/share/dbus-1/interfaces/org.kde.KWin.xml, el cual es la interfaz de las llamadas dbus para kwin. Así como es posible experimentar con qdbusviewer, una excelente herramienta que muestra los objetos dbus en memoria, y permite realizar llamadas.
miércoles, junio 04, 2008
¿Archlinux se está haciendo conocida?
El ejemplo máximo de la consideración que le esta dando la distribución de la punta de fecha, es lo que me noté hoy, al intentar crear una nueva maquina virtual en VirtualBox 1.6.0, buscando la clásica opción Linux 2.6 noté la existencia de una opción especifica para Archlinux, junto a las distribuciones "mayores", o mejor dicho populares, como ubuntu, debian y fedora. Me pareció extraño que consideraran a una distribución no popular (#20 en distrowatch).Las distribuciones linux incluidas son las siguientes:
- Archlinux
- Debian
- OpenSUSE
- Fedora
- Gentoo
- Mandriva
- Red Hat
- Ubuntu
- Xandros
¿Los motivos?
Una puede ser porque la estructura de archlinux se aleja de las demás, al "no estar basada en..." (si bien se dice que arch está basada en crux, en realidad la primera ha sido construida desde cero tomando como base las ideas de crux). Por ello quizás se ignoró el millar de distribuciones basadas en debian, pero por el mismo motivo, se debió incluir a slackware, quien tampoco está basada en alguna de las de la lista.
Quizás porque archlinux se comporta excelente en ambientes virtuales. Lo digo por experiencia: El año pasado en sistemas distribuídos ĺlegue a tener 5 archlinux corriendo simultáneamente, algunos de ellos con sun application server.
¿lo anterior no le sorprende? Es que olvide agregar que mi procesador es un humilde celeron m410. mononúcleo, sin extensiones de virtualización, etc. El que cuenta con 1.25G de memoria ram.
Recuerdo que sucedían cosas raras, como que las maquinas se colgaban en el grub si se iniciaban simultáneamente, lo que me obligaba a ejecutarlas en secuencia. Sin embargo, luego en ejecución se portaban excelentes, eran rápidas y simples de configurar, sin consumir excesivamente recursos de hardware.
Acerca de la popularidad para ser considerada, podemos experimentar con Google, donde realicé búsquedas a diversos nombres de distros, obteniendo los siguientes resultados:
1.140.000 de archlinux. (0,22 segundos)
11.100.000 de slackware. (0,17 segundos)
94.000.000 de ubuntu. (0,19 segundos)
101.000.000 de debian. (0,14 segundos)
39.600.000 de fedora. (0,12 segundos)
36.100.000 de "red hat". (0,28 segundos)
63.100.000 de solaris. (0,24 segundos)
4.610.000 de opensolaris. (0,17 segundos)
3.670.000 de xandros. (0,16 segundos)
190.000.000 de "windows vista". (0,22 segundos)
268.000.000 de "windows xp". (0,26 segundos)
Claramente las menciones en la web hacia archlinux son considerablemente menores a las de sus pares, lo que afirma la poca popularidad de la distribución. Además, hay resultados curiosos, por ejemplo podríamos concluir que Debian mas popular que Ubuntu, lo cual evidentemente no es cierto. Quizás esto se puede explicar debido a que la primera tiene muchos años de ventaja)
En fin, la pregunta queda abierta: ¿Archlinux se hace mas conocida o popular? o quizás ¿tiene una reputación que hace que se considere cada vez mas?
jueves, mayo 22, 2008
Dispositivos Bluetooth
Al adquirir el teléfono, desconocía el mundo del bluetooth, sabía de la existencia de la tecnología, sus alcances, la forma en que se transmite, sin embargo desconocía los protocolos usados, y como experiencia empirica sólo tenia una partida de mario kart ds, lo cual no fue para nada suficiente para ganar conocimiento. (Maldita transparencia al usuario!). Además, como mi computadora no poseía soporte para dicha tecnología, decidí comprar un dongle usb.
La desición no fue fácil, pues a pesar de que un amigo me mencionó que la cantidad de proveedores de chipset para estándar era limitada (lo que probablemente asegurara un completo soporte por los sistemas del pingüino), no estaba seguro sobre cual comprar. Finalmente, tras una búsqueda, dí con un producto en mercado libre que mencionaba el soporte en linux. Decidí comprar éste, a pesar de ser un poco mas caro (alrededor de 12 dólares). Poseía una característica particular: Una antena, por lo cual fue fácil encontrarla en el comercio. Desconozco como soporte para otros dispositivos. Buscando en internet me enteré de la existencia de una lista de dispositivos soportados, la cual por motivos legales fue quitada (es algo extraño el mundo del estándar bluetooth). En fin, mi dispositivo es reportado asíID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter y la salida de dmesg es la siguiente:
usb 1-2: new full speed USB device using ohci_hcd and address 4
usb 1-2: configuration #1 chosen from 1 choice Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
Ok, el kernel lo soporta, vamos a lo bueno: El software
Mi experiencia ha sido utilizando mi distribución oficial: Archlinux, y mi distribución de pruebas, y plataforma que me permite fácilmente satisfacer mi nuevo fetiche: las transiciones OpenGL en openoffice. Claramente hablo de Ubuntu.
En ubuntu venía casi todo el software instalado. Bastó conectar el dispositivo móvil, acoplarlo, y voilá, tenía transferencia de archivos.
En archlinux tuve que instalar el paquete kdebluetooth, el cual como dependencias instaló todo el software necesario (openobex obexftp bluez-utils). Por ésto, el procedimiento descrito es utilizando kde.
kdebluetooth es una colección de utilidades que, entre otras funciones, permite acoplar y desacoplar los dispositivos bluetooth, cambiar la visibilidad del computador, enviar archivos de forma sencilla al teléfono móvil y definir el nivel de confianza de los dispositivos. En realidad es un frontend que utiliza las herramientas de bluez, el stack del protocolo bluetooth para linux. Además de las de obex (protocolo para el intercambio de datos en dispositivos móviles)
Para acoplar el dispositivo, basta clickear en el ícono de la barra de notificicación, y luego intentar acceder al dispositivo. Al hacerlo el teléfono avisará de un intento de conexión, por lo que solicitará autorización, además de definir una contraseña llamada PIN. Al hacerlo, el sistema detecta dicha solicitud y solicita el emparejamiento mediante el ingreso del mismo PIN. Luego de ésto el dispositivo está emparejado. Algo muy agradable es que KBluetooth guarda ésta información, por lo que no será necesario volver a acoplar el sistema en usos posteriores.Transferencia de archivos
La transferencia de archivos debiera ser la motivación principal de un usuario. En el caso de los teléfonos móviles, el protocolo que utilizan es OBEX. Existe un kioslave que transparenta el acceso mediante éste protocólo. Como ya se mencionó, al clickear en el ícono de KBluetooth, se abrirá konqueror. Si se desea utilizar otra aplicación (que soporte kioslaves) como dolphin, el método de acceso es mediante la dirección obex://[DIRECCION_DEL_DISPOSITIVO]/
Control remoto
Ok, es divertido transferir música y fotos al teléfono móvil, puede ser útil también, pero lo interesante es hacer otras gracias. Al querer un teléfono con soporte Blutetooth y JAVA, una aplicación lógica y necesaria es tener un control remoto. Nuevamente gracias al consejo de Felipe, instalé anyremote. Una aplicación que habilita un servidor en nuestro computador que escucha los comandos enviados por el cliente java (en la página web puede ser descargado dentro de un rpm).Anyremote funciona con perfiles de aplicaciones, y vía de comandos. Pero además provee de 2 frontends escritos en python para KDE y Gnome.
KAnyRemote es el frontend para KDE, es idéntico al de gnome, lo noté porque no quería partir la versión de kde, me bajé la de gnome, la ejecuté, creó la configuración local, y luego mágicamente la versión de kde funcionó (viva la reutilización de código!). Cosas del python.
En un inicio es algo complicado de entender, pero rápidamente te das cuenta que para cambiar el perfil de la aplicación que escucha, se debe detener el servicio, seleccionar dicha aplicación, y luego encenderlo nuevamente. La gracia está en la versatilidad de la aplicación, pues además de ejecutar comandos (por ejemplo llamadas dcop), también envía "tecleos", lo que permite controlar aplicaciones como impress.
Un problema frecuente al usar éste programa por primera ves, es cuando se intenta buscar el servicio, sin éxito. Ésto se debe a que el equipo servidor debe estar visible para los demás dispositivos (se puede habilitar temporalmente habilitando el modo descubrible desde kbluetooth/configuracion/dispositivos, kbluetooth por defecto asigna 3 minutos en modo descubrible, los cuales pueden ser modificados). Luego de realizar la conexión exitosa, ésta queda guardada en el dispositivo móvil.
El control remoto en pantalla es sencillo, asociando a cada número una función, asi como modos especiales, como el de amarok, el cual muestra la carátula del disco que actualmente se reproduce, dando la posibilidad de controlar las funciones mediante el uso del pad.
En arch, conseguí anyremote mediante la compilación de los paquetes de aur: anyremote y kanyremote. En ubuntu, bastó utilizar alien para convertir los paquetes rpm proveídos en la página oficinal en .deb.
Esto fue mi breve artículo acerca de las impresiones que tengo utilizando el bluetooth. La verdad no tengo quejas, todo funciono a la primera, y rápido, sin ralentizar mi sistema, como es en el caso de windows, donde el driver es algo molesto, y la aplicación de administración que instalé es algo grande.
consejos útiles:
Si deseamos conocer todos los servicios disponibles podemos utilizar el comando
sdptool browse
Enláces útiles
Anyremote Software de control remoto
Bluez La pila oficial para el protocolo bluetooth en linux
miércoles, febrero 27, 2008
Un poco de eyecandy parte 2: fbcondecor y fbsplash
Otra opción es fbsplash, el cual a partir de las últimas versiones tampoco requiere parchar el kernel. Cuando el proyecto era conocido como gensplash, este si necesitaba modificar el kernel. Esto causaba muchos inconvenientes a los desarrolladores, motivo por el que se dividió el sistema en 2 partes. Una llamada fbsplash, que se encarga de dibujar el splash en si, y fbcondecor parche que provee la funcionalidad de mostrar una imagen de fondo en las consolas del sistema. Esta última característica es la que le da un valor agregado, y es la que me convenció de darme la molestia de parchar un kernel. La combinación fbcondecor+fbsplash es la que explicaré en este artículo.yaourt -S fbsplash (leer la advertencia antes de ejecutar este comando)
o bien, es posible crear el paquete mediante el PKGBUILD desde aur, y luego instalarlo con pacman.
Segundo paso: Configuración de fbsplash
Para especificar un tema, basta con editar el archivo /etc/fbsplash.conf y agregar
El paquete fbsplash trae un tema por defecto llamado darch. Es muy bonito, pero posee los logos antiguos de archlinux. Con mi tema (descomprimirlo con tar zxvf jotape.splash.tar.gz -C / ) , la línea quedaría así:
THEMES="jotape"
Luego de configurado el tema, es necesario especificar en el archivo rc.conf las opciones de SPLASH, y agregar al arreglo DAEMONS el servicio fbsplash, de preferencia al inicio. quedando así:
DAEMONS=(fbsplash ... )
SPLASH="fbsplash"
Hasta este punto ya es posible utilizar el splash, solo basta configurar grub para tal labor. Pero el eye-candy está en la consola con background, por lo que recomiendo realizar el paso 3.
Para lograr que la imagen de fondo sea visible desde que seleccionamos el sistema operativo en grub, además es necesario agregar el hook a initcpio. Para ello editamos el archivo /etc/mkinitcpio.conf y agregamos al inicio de los HOOKS v86d y fbsplash.
HOOKS="v86d fbsplash ..."
Tercer paso: Parchado y compilación del kernel
Luego de la larga explicación, para crear dicho paquete, optaré por el camino rápido, donde se requiere algo de paciencia, primero por la descarga de casi 50MB del kernel, y luego por lo que tarda en compilarse:
yaourt -S kernel26fbcondecor
Luego de instalado, para que funcione, es necesario especificar el nuevo kernel en grub, lo que se verá en el siguiente paso.
Cuarto 4: Configuración de grub
# (0) Arch Linux
title Arch Linux kernel26fbcondecor 2.6.24
root (hd0,0)
initrd /boot/kernel26fbcondecor.img
Una vez configurado, basta con reiniciar y comprobar los resultados. Al iniciar se debiera ver algo como la imagen de la izquierda, acompañada de una barra de progreso.Al terminar la secuencia de booteo, la terminal pasará a tener el fondo especificado para el modo verbose.
Algunos datos para crear tus propios temas
Los archivos de configuración deben estar en un subdirectorio en /etc/splash/ , el que no debe llevar espacios en blancos en su nombre. Las configuraciones deben estar dentro de dicho directorio, y deben llevar por nombre la resolución a utilizar con extensión cfg, como ejemplo, mi tema para 1024x768 lleva por nombre /etc/splash/jotape/1024x768.cfg
Para el modo verbose (solo fbcondecor), las opciones son las siguientes
pic=ruta
Identifica la ruta de la imagen (en formato PNG) que se utilizará de fondo.
tx=n, ty=n, tw=n, th=n
Para el modo silent, las opciones son muy similares
silentpic=ruta
Identifica la ruta de la imagen (en formato PNG) que se utilizará de fondo.
text_x=n, text_y=n
Especifica las coordenadas donde mostrar los mensajes de estado, siendo x la coordenada horizontal, e y la vertical. Los valores representan pixeles.
box [flags] x0 y0 x1 y1 color1 [color2 color3 color4]
Dibuja una caja. Las coordenadas se especifican con los vértices superior-izquierdo (x0, y0), y con el inferior-derecho (x1, y1).
Los colores poseen el siguiente formato : #rrggbb, o bien #rrggbbaa. Cada color es una combinación de los valores en hexadecimal r, g, b (rojo, verde y azul), y la a representa el grado de transparencia, los cuales van desde 00 (translucido) hasta ff (color sólido).
Para las barras de progreso de utiliza la opción box. La configuración puede ser algo confusa, así que la explicaré con el siguiente ejemplo.
box silent inter 0 262 0 337 #22222c #191920 #383849 #2e2e3d
box silent 0 262 799 337 #22222c #191920 #383849 #2e2e3d
Donde la clave es entender que la barra movil es una caja que empieza y termina en la misma coordenada x, y que va acompañada con el flag inter. Dichas cajas son dibujadas en secuencia, por lo que es posible agregar mas cajas para crear efectos especiales. En el ejemplo, primero se especifica la animación, y luego se indica la caja que usará dicha animación, la cual avanzará en forma horizontal desde la coordenada 0 hasta la 799.
Existen muchas mas opciones, las cuales pueden ser encontradas en la documentación del formato. Existe la posibilidad de agregar gráficos y animaciones, lamentablemente en archlinux no logré conseguir que funcionan.
Ya con el nuevo tema creado, para agregar dicho tema, es necesario especificar el tema en el paso anterior, y crear la imagen con mkinicpio -p kernel26fbcondecor.
Enláces útiles:
repositorio de temas de fbsplash: Principalmente posee temas para gentoo, pero puede servir como base para crear temas propios.
jotape 2008.2: tema creado por mí para archlinux (sólo 1024x768)
Documentación acerca de los temas de fbsplash
martes, febrero 12, 2008
Un poco de eyecandy parte 1: grub gfxmenu
Desde hace mucho tiempo que tengo configurado mi sistema operativo con un poco de eye candy. Si bien es cierto que otras distribuciones (Opensuse) lo incluyen por defecto. Siempre es bueno poder hacer esto en tu distribución favorita. En todos los ejemplos, daré instrucciones para Archlinux, mi distribución favorita.Programas y archivos requeridos
Primer paso: Parche y compilación
Los pasos para la compilación son los siguientes:
wget http://aur.archlinux.org/packages/grub-gfxmenu/grub-gfxmenu.tar.gz
tar zxvf grub-gfxmenu.tar.gz cd grub-gfxmenu makepkg
pacman -U grub-gfxmenu-0.97-1-i686.pkg.tar.gz (como root)
Una buena alternativa, es utilizar yaourt, programa que ademas de buscar paquetes en aur, tambien los descarga, compila e instala.
con este programa, basta indicar el comando:
yaourt -S grub-gfxmenu y responder las preguntas que realiza el programa.
Segundo paso: Instalacion del grub
grub-install hd0 (para discos en general, método recomendado)
grub-install /dev/sda (para un disco en particular, en este caso un disco sata)
El argumento depende exclusivamente de la ubicación del grub. Es responsabilidad del lector
Tercer paso: Instalacion de un tema gfxmenu
tar zxvf gfxmenu.animado.archlinux.tgz -C /boot
comando que luego de ser ejecutado creará el archivo /boot/message.jp
Cuarto paso: Configuración de menu.lst
Para utilizar temas de gfxmenu es necesario editar el archivo /boot/grub/menu.lst, y agregar la siguiente linea idealmente en la sección superior del archivo.
gfxmenu /boot/message.jp
Al guardar, al reiniciar usted debiera ver un lindo menú de opciones animado.
Personalización de temas gfxmenu.
Primer creamos un directorio y entramos a este, mas adelante usted notara porque es importante realizar este paso.
ya en el directorio, editemos el archivo que proveo yo: message.jp, para ello es necesario copiar dicho archivo al directorio. y luego ejectuar el comando:
cpio -idv <>
Una vez terminada la edición, solo queda crear nuevamente la imagen.
rm message.jp
ls | cpio -ov > ruta/message.jp
luego, se reemplaza ese archivo, o bien puede utilizar otro nombre, recordando ajustar el archivo de configuración, tal como se mostró en el paso 4.
En la próxima oportunidad detallaré como tener una terminal con una imagen de fondo, así como el inicio de sistema con una barra de desplazamiento.
sábado, octubre 27, 2007
Desaparecieron los programas del menu de kde!
Como no solo uso aplicaciones kde/qt, me resultaba bastante molesta esta situación, pero gracias a un poco de investigación, logré dar con la solución
pacman -S archlinux-xdg-menu pyxdg
de nada.
lunes, octubre 15, 2007
Pdfcube
OK, los escritorios 3D están de moda. Hoy en día compiz-fusion es conocido por muchos. Ahora, ¿Que sucede cuando los efectos mas populares se empiezan a aplicar en otras áreas?Volviendo al encuentro, si bien todos utilizaban evince para mostrar sus diapositivas, un expositor en particular utilizó este software para su presentación, y de verdad que se veía muy bien. Luego de verlo me gustó bastante, motivo por el cual busqué el programa, di con su página, investigué sus dependencias y lo construí para mi sistema archlinux.
Resumo algunas instrucciones del programa:
Para rotar el cubo desde una presentación a otra, basta presionar "c".
Si se desea realizar un acercamiento de entrada/salida, es necesario presionar las tecla "z", "j", "k", "l" y "h" según el área de la pantalla donde se desea acercar.
Pueden construirlo en archlinux, descargando este PKGBUILD que acabo de publicar en aur. En ubuntu y debian ya existen paquetes con este programa. De cualquier modo, las dependencias no son complicadas, así que debiera poder construirse fácilmente en cualquier distribución.
lunes, octubre 01, 2007
Creación de un webservice seguro mediante ssl
webservice seguro. A pesar de unos imprevistos, gracias a Dios todo salio bien. Ahora que ya realicé la exposición, dejo a disposición del mundo cómo logre realizar un webservice
común y corriente, pero seguro gracias a la transmisión mediante la capa de socket seguro SSL.
Las herramientas utilizadas fueron las siguientes:
El primer paso, que no mencioné en la presentación fue la instalación del software. Para ello basta realizar
pacman -Sy jdk tomcat netbeans
así como descargar axis2. Yo opté por descargar el war. El que luego lo dejé en el directorio webapps de tomcat. Además, bajé la versión normal, sólo para tener acceso a los programas, pues es necesario uno en particular, tal como se verá mas adelante. La instalación de estos softwares es básica, por lo que no lo abordaré.
Luego de la instalación de las herramientas es la configuración de éstas. Tomcat se distribuye por defecto con la opción de ssl deshabilitada, por lo primero se explicará como habilitar ésta.
Creación de un certificado
La capa de socket seguro utiliza certificados para encriptar la información. Por lo que es necesario la creación de uno. Para lograrlo se utiliza la herramienta keytool, proveída junto con el sdk de java.
Su uso es simple, pues se debe indicar el archivo donde se almacenará el certificado. Ésto se realiza con el parámetro keystore. Además de esto, se deben indicar 4 parámetros adicionales que se enumeran a continuación:
El primer parámetro, llamado alias, indica el nombre que recibirá el certificado. Es importante que corresponda al nombre del host que proporcionará el web service.
Keypass y storepass indican la clave que se le asigna al certificado, en ambos parámetros las
contraseñas deben coincidir. Keytool exije que la contraseña tenga una longitud superior a 6 caracteres.
Keyalg indica el algoritmo de creación de la clave, se recomienda el uso de RSA, algoritmo que funciona mediante el sistema de clave pública y privada.
Un ejemplo de utilización es el siguiente.
keytool -genkey -alias localhost -keypass password -keystore /opt/tomcat/webapps/localhost.bin -storepass password -keyalg RSA
Habilitación de SSL
Para habilitar en el servidor Tomcat la conexión segura, basta descomentar la sección que
empieza con la etiqueta connector port=”8443”. Esta sección indica las directivas de como utilizar la seguridad SSL.
Es necesario indicarle cual es la llave que debe utilizar, así como la contraseña del certificado, y finalmente el alias de éste.
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true" acceptCount="100"
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystorePass="password" keyAlias="localhost" />
Al terminar de configurar esto, basta reiniciar el servicio tomcat para visualizar los datos. Se puede comprobar intentando conectarse al servidor mediante el protocolo https, y el puerto 8443.
Configuración de la aplicación
Cuando se habilita la seguridad en el servidor, esta permite acceder a las aplicaciones tanto de modo seguro como inseguro. Pero se busca que el servicio web funcione solamente mediante el primero. Para lograr que la aplicación encargada éste trabaje sólamente como SSL, en el caso
de tomcat hay que indicarselo en el archivo de configuración web.xml, el cual se encuentra en el directorio WEB-INF de la aplicación.
Para asegurar la aplicación, basta agregar el siguiente código dentro de la sección “web-app”
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
</user-data-constraint>
</security-constraint>
Para que la aplicación utilice los cambios es necesario reiniciarla desde la interfaz de
administración de tomcat, o bien reiniciando este último. Así, el acceso a la aplicación que provea los webservice será exclusivamente mediante el protocolo de seguridad.
Creación del webservice
Para programar el servicio web se utilizó el framework axis2, el cual implementa el protocolo SOAP de acuerdo a lo especificado por la W3C. La gran ventaja de este framework es la facilidad para lograr esto, pues basta con programar clases jav comunes y corrientes tal como se verá a continuación.
El proceso empieza con la definición de una interfaz, la que se denominará contrato. En ella se
indicará cuales serán los servicios web disponibles.
Como ejemplo se utilizará la interfaz Matematica, la que define un método llamado
sumar, el cual posee dos parámetros de tipo entero.
package ejemplo;
public interface Matematica {
public int sumar(int a, int b);
}
Una vez definido el contrato, el siguiente paso es compilar la clase, y luego crear un archivo de
descripción del lenguaje, en adelante wsdl, el cual se crea mediante la utilidad proveída por axis2 mediante el siguiente comando:
java2wsdl.sh -cn ejemplo.Matematica
Éste comando crea un archivo llamado Matematica.wsdl, el cual se utilizará mas
adelante.
Así como axis nos puede funcionar sin tomcat, una interfaz es inutil sin una implementación.
Motivo por el cual es necesario realizar esta. Para ello se creó el archivo servicioMatematica.java, clase que se expone a continuación.
package ejemplo;
public class servicioMatematica implements Matematica{
public int sumar(int a, int b){
return a + b;}
}
Una vez compilada la implementación, sólo falta definir los servicios. Para realizar dicha
definición se crea un archivo llamado services.xml. En éste es necesario indicar el nombre de los servicios proporcionados por la clase, así como la clase que implementa de esta.
<?xml version="1.0"
encoding="UTF-8"?>
<service>
<description>
Servicio de ejemplo
</description>
<parameter
name="ServiceClass" >ejemplo.servicioMatematica</parameter>
<operation name="sumar">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>
Con esos cuatro archivos creados se está en condiciones de crear el webservice. Para que axis2 reconozca estos, es necesario crear un paquete jar, con la extensión cambiada por aar.
Para crear dicho paquete es necesario definir una estructura de archivos bastante simple. En ella debe existir un directorio META-INF que contenga los archivos xml. Y en la base se debe agregar las clases que componen el servicio web, respetando la jerarquía de paquetes.
El comando para crear dicho archivo se explica a continuación:
jar -cvf ejemplo.aar -C ejemplo.aar/ .
Donde los parámetros cvf indican que debe crear el paquete jar, y C define el directorio a agregar.
Para cargar el servicio web, en la interfaz de administración de axis2 existe una opción llamada “upload service”, la que permite instalar el web service de una manera sencilla. Cable señalar que para un correcto funcionamiento de esta, dentro del directorio de aplicaciones de tomcat debe existir uno llamado axis2/WEB-INF/services, lugar que debe tener permisos de escritura
Para verificar que todo ha funcionado, la dirección donde se debiera encontrar el lenguaje de
definición del servicio es la siguiente:
https://localhost:8443/axis2/services/ejemplo?wsdl
Donde localhost debe ser la dirección del servidor, y axis2 es el nombre del directorio que contiene el framework.
Consumo del web service utilizando netbeans
El entorno integrado de desarrollo proveído por sun, netbeans provee herramientas que simplican el consumo de los webservice.
Para utilizarlas, basta con agregar al proyecto un cliente webservice, e indicar como dirección del
wsdl la ruta del servicio seguro indicada anteriormente. Así netbeans interpreta la definición del webservice, y genera las referencias, que para usarlas deben ser arrastradas hacia el código.
Como se está utilizando un socket seguro, es necesario utilizar las definiciones terminadas en https.
Certificados para el cliente
Al utilizar certificados se tiene un gran inconveniente. Este problema nace debido al requerimiento de aceptar un certificado, único método para asegurar la validez de éste.
Java utiliza SSL, pero los certificados deben ser validados por una entidad certificadora. Para efectos del proyecto los certificados usados no están validados, motivo por el cual al intentar ejecutar el cliente arrojará una excepción. Para poder utilizar los certificados de prueba generados con keytool, es necesario agregarlos manualmente, para ello se utiliza la herramienta proveía por Andreas Sterbenz en su página personal
El uso es simple, basta ejecutar el programa con el comando
java InstallCert localhost:8443
Una vez creado el certificado, basta copiar jssecacerts al directorio /opt/java/jre/lib/security/. Luego, las aplicaciones reconocerán el certificado de prueba y
por lo tanto podrán usar el servicio web por ssl.
domingo, agosto 12, 2007
linuxdiinf.org al fin funcionando
Gracias a esto he aprendido sobre dns primarios y secundarios, que es una zona, virtual host, etc. Ha sido muy educativo.
A futuro tenemos pensado dar un servicio de subversion, entre otras cosas. Pero, como siempre, nos limitan los recursos, pues nos estamos quedando cortos de disco. Espero que a futuro podamos juntar fondos y comprar un buen disco para hacer mas cosas.
viernes, junio 22, 2007
Usuarios de linux y automoviles
seríamos tuneros, arch está hecha para que sea así, tu dejas tu sistema como tu quieres, tienes el control total, y lo armas a tu medida, partiendo de un "vehículo" base, lo complementas con las partes que tu quieres. Además, mientras lo tuneas, aprendes de mecánica mas que general, y retocar el motor es tan simple y elegante como cambiar las bujías. Una característica es el nivel de personalización de la apariencia. La idea es que resalte un poco, ya sea agregando luces de neón como en la imagen de la terminal que tengo actualmente, no es X, es la consola.Por otro lado, los usuarios de lfs, serían ensambladores caseros, capaces de crear sus propios vehículos partiendo desde la recolección de tuercas, y creación de las maquinas para forjar piezas metálicas. Los de gentoo serían parecidos, pero con un brazo robótico que los asiste en el armado de piezas, y sin forjar las piezas, sino que ensamblarlas, lo que tarda tiempo, pero igual es "divertido". Lo interesante es que están llenos de manuales sobre como mejorar esos armados, y con los detalles de prácticamente cada pieza del sistema.
Otros usuarios, como los de suse, serían de os que compran un auto costoso, con muchos accesorios, pero sólo saben conducirlo, con cambios automáticos, y no tienen idea de mecánica.
Los usuarios de fedora/red hat serían como los poseedores de un auto importado, compran un sistema armado, bonito, bien decorado, pero les es un infierno comprar repuestos/accesorios (dependencias de paquetes rpm)
Los usuarios de debian son de los que compran el vehículo mas popular, para estar llenos de repuestos, y aunque no le saquen el máximo rendimiento, son felices por su estabilidad. Aunque gaste mas kilómetros por litro, o se pongan viejos, ellos le toman cariño a su auto, y arman clubes de adoradores (sectas).
Finalmente, los usuarios de ubuntu, ellos compran por internet y les llega el vehículo a su casa. Lo empiezan a manejar, y en internet está llenos de manuales de como retocar el auto, sin embargo, a pesar de cambiar ellos mismos las piezas, y retocar el motor, no aprenden nada de mecánica.
Lo bueno, seas de la clase de usuario que seas, es que internet está plagada de mecánicos dispuestos a ayudarte, y que tu puedes cooperar en el desarrollo de nuevas piezas o modelos. En cambio, hay cierta marca de autos que te impone el precio, el estilo, y te dice que si cambias el color de la pintura, estás cometiendo un delito muy grave. Para colmo te venden un auto que pesa tanto como un camión, pero que tiene menos soporte de carga que una citroneta (citroen 2cv).
jueves, mayo 03, 2007
Toshiba satellite l30/l35 y linux (actualizado)
EDIT: Este es lejos el artículo mas visitado de mi blog, por lo que he decidido actualizar algunas cosas, pues en 1 año el soporte ha mejorado mucho.edit:
Desde ya, aviso que me ha funcionado de maravillas utilizando Archlinux, y los archivos mencionados están en base a esta distribución. En otras distribuciones pueden variar los nombres o las rutas. Si no pueden compilar, probablemente faltan librerías, etc. Un buen consejo es que busquen tutoriales sobre como compilar alsahg para su distribución, dejando de lado momentáneamente la búsqueda por el modelo de la tarjeta de sonido.
Audio
Obviamente decidí comenzar por este punto, porque es el conflictivo. El soporte para esta tarjeta
Realtek ALC861-VD, el cual lspci identifica
como 00:14.2 Audio device: ATI Technologies Inc SB450 HDA Audio (rev 01) es algo complicado. Edit: En la actualidad el driver ya está incluído en el kernel de linux En realidad no lo es tanto. Por ahora, la única forma de que funcione correctamente, es con el driver hda: El módulo snd-hda-intel. A partir de la versión 1.0.14rc4. Por que si no se tiene esta versión de alsa-driver. Esta debe ser compilada así:-baja los ultimos archos desde alsa, o usa la versión de desarrollo.Que puede obtenerse desde alsahg, un archivo como alsa-driver-hgxxxxyyzz.tar.bz2 ftp://ftp.suse.com/pub/projects/alsa/snapshot/driver/
-descomprimir con el comando tar jxvf archivo
./configure --with-cards=hda-intel
make
make install
Para que funcione "correctamente" con soporte para la salida interna y mediante audífonos, pero con un funcionamiento irregular del microfono, luego del respectivo alsaconf usted debe agregar al archivo/etc/modprobe.conf la linea
options snd-hda-intel model=6stack-digout
Esta opción dará soporte tanto a la salida de audífonos (identificada como surround), como parlantes internos (front), así como el pcspeaker y el micrófono (mic), siendo este último el que no funciona muy bien con ciertos programas como skype. Además, rellena con otros canales que no utiliza el notebook, es cierto, molestan, pero al menos funciona, a diferencia del modo por defecto que no lo hace.
Por el contrario, si prefieren tener soporte perfecto con la captura del microfono, perdiendo el audifono interno y el pcspeaker, el parámetro del módulo a agregar es el siguiente:
options snd-hda-intel model=3stack-digout
He mirado los fuentes, concretamente el archivo patch_realtek.c, para intentar combinar ambos modelos creando uno nuevo, pero no he tenido tiempo, y me faltan conocimientos. Si logro resultados algún día, lo escribiré en este medio. (nunca lo hice)
Video

Estos modelos vienen con una tarjeta incorporada amd-ati radeon x200m. El correcto funcionamiento de la 3d es con los drivers propietarios de AMD: catalyst. Basta instalarlos desde le repositorio de tu distribución favorita.
Para que se configure solo, basta utilizar la utilidad aticonfig, con el comando
aticonfig –initial –input=/etc/X11/xorg.conf
Quizás, no poseas el soporte adecuado para ver videos con Xvideo. Para habilitarlo, basta con habilitar la opción XVideo, y VideoOverlay. Un ejemplo, junto a las secciones donde se deben habilitar estas es el siguiente (Ojo, las secciones son únicas, en caso de ya existir estas, las nuevas opciones deben ser agregadas al interior de las secciones ya existentes):
Además, el driver provee funciones adicionales, como es el usar doble pantalla ancha, entre otros. Sugiero visitar la biblia de cualquier usuario de linux para mas información.
Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "VideoOverlay" "on"
EndSection
Section "Extensions"
Option "XVideo" "Enable"
EndSection
Un archivo xorg.conf funcional, con soporte para aiglx, synaptic, entre otras cosas, puede ser encontrado aquí.
Desde noviembre de 2007, los drivers catalyst tienen soporte para aiglx, por lo que compiz-fusion funciona en este portatil.
Wireless
La wireless no es mayor problema en este modelo, pues utiliza un chip atheros. Para que funcione basta instalar madwifi. La interfaz de red se llama ath0, y cuando se conecta a una red wifi, crea una interfaz llamada wifi0.Para configurarla yo no me doy mayores complicaciones, y utilizo networkmanager. Debo ser el único afortunado al que le funciona perfecto ese programa.
Brillo de la pantalla
No he podido lograr controlar esto por software, faltan controladores, sin embargo, la combinación de teclas interna del portatil logra este cometido sin mayores dificultades.
Teclas de función
Al igual que mi teclado con funciones multimedia, para lograr controlar el sonido/mute. Lo logré mediante xmodmap
fue tan sencillo como crear un archivo ~/.Xmodmap y ejecutar el comando xmodmap ~/.Xmodmap para dar soporte a estas teclas. Dejo además funciones adicionales para los teclados standard multimedia, por si alguien desconocía como usarlas.
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 129 = XF86AudioMedia
keycode 161 = XF86Calculator
keycode 130 = XF86HomePage
keycode 236 = XF86Mail
keycode 230 = XF86Favorites
keycode 198 = XF86MyComputer
keycode 122 = XF86Search
keycode 222 = XF86PowerDown
keycode 223 = XF86Sleep
keycode 227 = XF86WakeUp
keycode 231 = XF86Refresh
keycode 232 = XF86Stop
keycode 233 = XF86Forward
keycode 234 = XF86Back
Cpufreq
Mi modelo posee un intel celeron m 410, el cambio dinámico de frecuencia funcuiona, y es controlado mediante kpowersave utilizando el módulo p4_clockmod.
Batería
El módulo acpi monitorea correctamente la batería. En una consola, puede verificarse con el comando cat /proc/acpi/battery/BAT1/state, pero utilidades como kpowersave, o la misma que trae kde muestran su estado. En kernels superiores al 2.6.24 la referencia a la batería se encuentra en otra ubicación /sys/bus/acpi/drivers/battery o /sys/module/battery, no recuerdo bien porque, para compatibilidad con mi actual software de monitoreo, tengo habilitado el soporte antiguo.
Mas que esto, no recuerdo haber configurado en mi archlinux, la suspensión debiera funcionar, no lo he hecho, porque tengo destinados megabytes insuficientes a la memoria de intercambio como para probar la suspensión a disco.
Soporte a otras distribuciones
Sólo lo he probado con opensuse, donde la configuración fue casi total, sólo tuve que agregar las líneas para el audio en el administrador de módulos de yast. Según los comentarios que he recibido de lectores, el soporte en ubuntu es algo complicado, sin embargo es factible:
según lo indicado aquí, para configurar los parámetros de alsa, el archivo es alsa-base, y puede ser editado de la siguiente forma:
sudo gedit /etc/modprobe.d/alsa-base en ubuntu
sudo kwrite /etc/modprobe.d/alsa-base en kubuntu
y agregamos al final del archivo
options snd-hda-intel model=6stack-digout
lunes, abril 23, 2007
pacman en español para la próxima versión!
Gracias a la invaluable ayuda de Gustavo Chain y Leonardo Cabrera, que cooperaron corrigiendo, pude terminar este trabajo, del cual estoy muy contento.
Como dato curioso, se contactó una persona de Archlinux en español contándome que causo algo de revuelo, debido a que ellos también trabajaban en una traducción, que según me dio a entender, le faltaba muy poco. No sabía que esto sucedía, sino con gusto hubiera cooperado en ella, ahorrándome algo de tiempo. Eso sí, al ser independiente, hice la traducción en utf-8, tal como lo deseaba la gente que desarrolla pacman, según entendí, la de esta comunidad estaba en otra codificación. Así, que si eres usuario de archlinux, recuerda utilizar un locale que termine en .utf8
Como ventaja, aprendí varias palabras inglesas, además de utilizar los archivos .po, .mo, y el programa poedit, de gran utilidad para traducciones que utilicen gettext.
En fin, esta entrada debió ser para la junta que tuve el fin de semana con mis ex compañeros del colegio. Supongo que después de 8 años, hay tiempo suficiente para escribir sobre eso otro día.
lunes, abril 16, 2007
archlinux y el repositorio local
Hasta ese punto todo iba bien, me informé, "creé" un script para sincronizar current, el repositorio mas pequeño. Lo configuro para que use las rutas del pc, todo bien. Y llegó la hora de la verdad, ejecuto el script y... me indica permiso denegado!. En ese minuto pensé: Que lamentable, pero ¿porque niega a tan humilde maquina sincronizarse con el servidor?
En archlinux.org seguro está la respuesta - me respondí - y mirando un poco las noticias, encontré una que había leído, pero a medias. La que informaba de el capeo de la velocidad del repositorio, así como de rsync.archlinux.org. El motivo: exceso de usuarios. Por ejemplo, rsync tenía cerca de 600 repositorios locales sincronizándose, a pesar de tener sólo 37 espejos oficiales. Según informaban en la noticia, dentro de esas 600 sincronizaciones, incluso había una de una conexión gprs (celular). ¡Por favor!
En fin, por ese motivo, la sincronización del repositorio me es imposible, sólo es para repositorios locales, y como archlinux.creativa.cl dejó de serlo hace un tiempo. Los chilenos que hagamos un repositorio local, estamos obligados a "sincronizar" ftp's "a la mala", quiero decir, en lugar de recibir sólo las actualizaciones, tendremos que sobrescribir todo de nuevo. Y por lo visto, los usuarios comunes, tendremos que conformarnos con repositorios extranjeros, con el correspondiente castigo del ancho de banda de nuestros "queridos" isp.
Este es un ejemplo de como los seres humanos pueden llegar a tal nivel de estupidez, que echan a perder todo lo bueno que tienen, todo por pensar en ellos mismos. Increíble, es nuestra naturaleza, en todo orden de cosas. El cuento de la gallina de los huevos de oro está mas vigente que nunca, sobre todo el la personalista internet.
La noticia original, por supuesto está en la pagina de archlinux
