Mi xorg.conf

Hola, posteo mi xorg.conf después de haberlo configurado durante meses. Entre ellos he conseguido solucionar los problemas relacionados con Compiz y los problemas de vídeo, los problemas de segmentation fault por culpa del display, etc.

El fichero está configurado para la última versión del driver de ATI 8.12 (aceleradora HD 3400) y portátil vaio FW11M.

 
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg
 
Section "ServerLayout"
	Identifier     "Default Layout"
	Screen      0  "Default Screen" 0 0
	InputDevice    "Synaptics Touchpad"
EndSection
 
Section "Files"
EndSection
 
Section "Module"
EndSection
 
Section "ServerFlags"
	Option	    "Xinerama" "off"
EndSection
 
Section "InputDevice"
	Identifier  "Generic Keyboard"
	Driver      "kbd"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "es"
	Option	    "XkbOptions" "lv3:ralt_switch"
EndSection
 
Section "InputDevice"
	Identifier  "Configured Mouse"
	Driver      "mouse"
	Option	    "CorePointer"
EndSection
 
Section "InputDevice"
	Identifier  "Synaptics Touchpad"
	Driver      "synaptics"
	Option	    "SendCoreEvents" "true"
	Option	    "Device" "/dev/psaux"
	Option	    "Protocol" "auto-dev"
	Option	    "SHMConfig" "true"
	Option	    "HorizEdgeScroll" "0"
EndSection
 
Section "Monitor"
	Identifier   "Configured Monitor"
	DisplaySize  423	238
#	DisplaySize  541	304
EndSection
 
Section "Device"
	Identifier  "Configured Video Device"
	Driver      "fglrx"
	Option	    "Centermode" "on"
	Option	    "TexturedVideo" "off"
	Option	    "VideoOverlay" "off"
	Option	    "OpenGLOverlay" "off"
	BusID       "PCI:1:0:0"
EndSection
 
Section "Screen"
	Identifier "Default Screen"
	Device     "Configured Video Device"
	Monitor    "Configured Monitor"
	DefaultDepth     24
EndSection
 
Section "Extensions"
	Option	    "Composite" "Enable"
EndSection

BUG de pantallas vacías en Compiz-fusion (desktop effects) y java swing

El otro día me encontré con la sorpresa que algunas ventanas de diálogo en aplicaciones Java SWING aparecían vacías. Después de darle vueltas al asunto, desactivé los efectos de escritorio (uso compiz-fusion en ubuntu 8.04) y las ventanas mostraban su contenido perfectamente.

Después de navegar un rato por internet me topé con el siguiente post que explica como solucionar este curioso bug:

http://www.mundorealtm.com/java-swing-compiz-fusion/

De todos modos, vuelvo a copiar la solución:

El bug consiste en que falta definir una variable de sesión JAVA para que todo funcione correctamente. Para ello editamos el fichero (/etc/environment):

$ gksu gedit /etc/environment

y añadimos la siguiente línia:

AWT_TOOLKIT=”MToolkit”

Guardamos los cambios y reiniciamos la sesión (Control + Alt + Del).

APEX Printing PDF reports using COCOON instead of BI Publisher

Since I think this can be quite useful I’ll write it down in English.

I’ve followed the steps proposed by Carl Backstorm but I’m going to install it in a Linux Server (Ubuntu 8.04).

Files needed:

Cocoon 2.1.11
Tomcat 6
fop_post.zip

Download and decompress them all.

1) Download and decompress cocoon-2.1.11
2) Check JAVA is installed (I installed jdk6) and
be sure JAVA_HOME is set to your actual location:

$ export JAVA_HOME=/usr/

Go to the decompressed folder (cocoon-2.1.11/) and execute:

$ ./build.sh war

3) Notice where cocoon.war was built:

cocoon-2.1.11/build/cocoon

4) Copy cocoon.ware to tomcat in webapps directory

apache-tomcat-6.0.18/webapps/

5) Copy fop_post folder to

apache-tomcat-6.0.18/webapps/cocoon/

6) Start apache tomcat:

Before doing that, you may want to change apache port in order to avoid conflicts with APEX port.
You can change apache 8080 port to 8088 by editing conf/server.xml and replacing 8080 with 8088.

(locate to tomcat folder and run as root)

$ sudo ./bin/startup.sh

7) Check installation is right by accessing http://localhost:8088/cocoon

8) Now, let’s configure APEX in order to be able to print reports in PDF using cocoon:
8.1) Login with internal APEX account
8.2) Go to Manage Service -> Instance Settings -> Report Printing
8.3) Change to new configuration
Print Server Host Address: localhost
Print Server Port: 8088
Print Server Script: /cocoon/fop_post/

9) You may want to start cocoon automatically at startup. Then you can create a file under /etc/init.d like the following one:

/etc/init.d/cocoon.sh

1
2
3
4
#!/bin/bash
JAVA_HOME=/usr/
echo "Starting Apache Cocoon..."
/opt/apache-tomcat-6.0.18/bin/startup.sh

Make it executable

$ sudo chmod +x /etc/bin/cocoon.sh

and add it in your boot process:

$ update-rc.d cocoon.sh defaults

Hope it helps!!

Further information:
http://carlback.blogspot.com/2007/03/apex-cocoon-pdf-and-more.html

LINUX: Bloquear la conexión de una IP

Si queremos bloquear todos los puertos de una IP cualquiera podemos ejecutar:

iptables -A INPUT -s IP-ADDRESS -j DROP

Cambiando ADDRESS por la dirección IP en cuestión.

Si queremos solamente bloquear un puerto:

iptables -A INPUT -s ADDRESS -p tcp --destination-port PORT -j DROP

cambiando ADDRESS y PORT por la dirección IP y puerto.

Instalar Oracle XE 10g + APEX 3.1.2 en VirtualBox 2.0.2 con Ubuntu 8.04

Después de pelearme un buen rato he conseguido instalar una máquina virtual con APEX 3.1.2 de modo que sea totalmente accesible desde la máquina host, de modo que solamente con arrancar la máquina virtual ya tengo acceso a una instalación APEX sin ensuciar mi SO host.

Instalación

1) Instalación de VirtualBox

En mi caso particular, mi equipo Host también es un Ubuntu 8.04. Podéis instalaros la VirtualBox bajándoos el .deb de la página o bién añadiendo la siguiente línea en vuestro /etc/apt/sources.list:

deb http://download.virtualbox.org/virtualbox/debian hardy non-free

luego podemos instalar desde Synaptics nuestro VirtualBox 2.0.2 (solamente es necesario descargar los módulos genéricos).

2) Creación de la máquina Virtual en VirtualBox:

Yo os aconsejaría crear dos discos virtuales:

- 8GB -> Para Instalación de Ubuntu + APEX
- 1,5GB -> Memoria SWAP (no uséis menos de 1024MB porqué sinó no podréis instalar la Oracle XE)

A continuación realizar la instalación de Ubuntu en la máquina virtual.

3) Instalación de Oracle XE:

Nos bajamos la última versión de Oracle Express Edition 10g (XE) para Linux de www.oracle.com

Suponiendo que nos hemos bajado la versión oracle-xe_10.2.0.1-1.0_i386.deb, nos ubicamos en el directorio donde esté el fichero y ejecutamos:

$ sudo dkpg -i oracle-xe_10.2.0.1-1.0_i386.deb

Una vez termine, ejecutamos los pasos de configuración:

$ sudo /etc/init.d/oracle-xe configure

Yo he dejado todos los valores por defecto.

4) Instalación de APEX 3.1.2

Nos bajamos la última versión de APEX en http://apex.oracle.com y la descomprimimos en algún sitio.
Ahora será necesario ejecutar unos scripts desde el usuario SYS mediante SQLPLUS. Si nos fijamos, la instalación nos habrá creado un nuevo tipo de usuario de SO llamado Oracle. Yo he creado un nuevo usuario de SO asociado a oracle, que he llamado también oracle (con password: oracle).

En primer lugar debemos cambiar al usuario de SO administrador de Oracle:

$ su oracle

Ahora debemos cargar las variables de entorno para conseguir un buen funcionamiento de la instalación de APEX. Para ello podemos ejecutar:

export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=/usr/bin:$ORACLE_HOME/opmn/bin:$ORACLE_HOME/bin:${PATH}
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export ORACLE_SID=XE
export TNS_ADMIN=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin

y con esto ya tenemos las variables de entorno inicializadas (si no habéis tocado ningún parámetro debería funcionaros a la perfección, sino revisad los directorios).

Importante: Nos ubicamos en el directorio donde hayamos descomprimido el ZIP de instalación de APEX. Dentro de ese directorio deben haber los ficheros apexins.sql, apxxepwd.sql, etc.
Nos conectamos a sqlplus con modo sys:

$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production ON Thu Oct 9 18:56:14 2008
 
Copyright (c) 1982, 2005, Oracle.  ALL rights reserved.
 
SQL> conn / AS sysdba
Connected.

Ejecutamos el primer script de instalación:

SQL> @apexins PASSWORD  SYSAUX SYSAUX TEMP /i/

Nota: Cambiamos PASSWORD por el password que hayamos asignado en el paso 3
Si no se ha producido ningún error continuamos con el siguiente paso, que es cambiar el password del workspace internal:

 SQL> @apxxepwd.sql

Nos pedirá un password para posteriormente poder acceder al workspace: internal con usuario admin.

El siguiente paso hace un update de las imágenes:

 SQL> @apxldimg.sql APEX_INSTALL

Nota: Cambiamos APEX_INSTALL por el directorio donde hayamos descomprimido el ZIP de instalación. Hay que poner la ruta completa.

5) Si todo ha ido bien, ya deberíamos poder acceder a nuestra nueva instalación de APEX escribiendo en un navegador la siguiente dirección:

http://localhost:8080/apex

Configuración para poder acceder remotamente

Ahora vamos a configurar nuestro entorno de modo que podamos acceder a nuestro entorno desde fuera de la máquina virtual (por ejemplo desde el SO Host).

1) Ejecutamos el siguiente comando desde sqlplus como usuario SYS (loguearnos como en el paso 4):

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
 
PL/SQL procedure successfully completed.

Con esto permitimos conexiones remotas a APEX.

2) Ahora apagamos nuestra máquina virtual. Una vez completamente apagada, vamos a editar el XML asociado a nuestra máquina virtual para hacer un port forwarding de los puertos que queremos redirigir de nuestra máquina guest a nuestra máquina host. Normalmente el fichero xml asociado acostumbra a estar en nuestro home: /home/usuario/.VirtualBox/Machines/NOMBRE/fichero.xml

Abrimos el fichero y añadimos las siguientes lineas dentro del tag :

<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/httpd/GuestPort" value="8080"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/httpd/HostPort" value="8080"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/oraclexe/Protocol" value="TCP"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/oraclexe/GuestPort" value="1521"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/oraclexe/HostPort" value="1521"/>

Nota: Esto también se puede hacer por medio del comando

VBoxManage setextradata …

Volvemos a encender nuestra máquina virtual.

Una vez encendida, podemos verificar que tenemos acceso si intentamos navegar desde nuestro SO Host a la dirección:

http://localhost:8080/apex

Espero que os sirva!!!
PD: Como recibo mucho spam, si no os contesto podéis enviarme un email a: josepcoves(arroba)gmail.com

Fuentes usadas:

http://www.oracle.com/technology/products/database/application_express/html/3.1_and_xe.html

http://download.oracle.com/docs/cd/B32472_01/doc/install.300/b32468/install.htm#CHDHIJGE

http://download-east.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/network.htm#BHCBCFBA

http://www.virtualbox.org/

Instalar Ubuntu Hardy 8.04 en Sony Vaio VGN-FW11 (en particular FW11M)

Después de muchos quebraderos de cabeza he conseguido una instalación mínimamente satisfactoria de Ubuntu en este portatil.

Me he encontrado con los siguientes problemas:

1) WIFI: No se detectaba

2) ATI: No se detectaba el controlador ATI y solamente se podía trabajar a 800×600 sin aceleración gráfica.

3) Sonido: al usar cascos se reproducía el sonido por los altavoces a la misma vez.

4) Detección de 3GB de RAM en lugar de 4GB

———-

1) Para solucionar el problema de la WIFI seguí el siguiente post:

http://ubuntuforums.org/showthread.php?t=879134&page=2

Here are the steps I took, to get from a totally unrecognized device to a recognized device under stock Ubuntu 8.04 without a new kernel compilation:

    1. Download compat-wireless from http://linuxwireless.org/download/co…ss-2.6.tar.bz2
    2. Untar somewhere (I’m choosing /usr/src/) and I’m doing everything as root from here on:

      Code:
      sudo su
      cd /usr/src
      tar xjf compat-wireless-2.6.tar.bz2
      cd compat-wireless-2008-08-06
    3. Note, as of this writing (8/24/0, the most recent compat wireless package available was dated 8/6/08, but it does contain support for the 5100 card.
    4. Edit the config.mk file and add the following lines at the end to turn on support for the 5100 card and also for the rfkill switch:

      Code:
      CONFIG_IWL5000=y
      CONFIG_IWLWIFI_RFKILL=y
    5. Download the firmware iwlwifi-5000-ucode-5.4.A.11.tar.gz
    6. Code:
      tar xzf iwlwifi-5000-ucode-5.4.A.11.tar.gz
      sudo cp iwlwifi-5000-1.ucode /lib/firmware/2.6.24-19-generic/
    7. Code:
      make
      make install
      make load

      This will add support for the 5100 card to the iwl4965 kernel module. This is probably temporary and from what I read the 2.6.26 kernels already have an iwl5000 module…

    8. Code:
      lshw -C network
      *-network DISABLED
      description: Wireless interface
      product: Intel Corporation
      vendor: Intel Corporation
      physical id: 0
      bus info: pci@0000:0e:00.0
      logical name: wmaster0
      version: 00
      serial: 00:16:ea:73:64:e0
      width: 64 bits
      clock: 33MHz
      capabilities: pm msi pciexpress bus_master cap_list logical ethernet physical wireless
      configuration: broadcast=yes driver=iwl4965 latency=0 module=iwl4965 multicast=yes wireless=IEEE 802.11abgn
      *-network
      description: Ethernet interface
      product: RTL8111/8168B PCI Express Gigabit Ethernet controller
      vendor: Realtek Semiconductor Co., Ltd.
      physical id: 0
      bus info: pci@0000:14:00.0
      logical name: eth0
      version: 02
      serial: 00:1e:ec:55:88:02
      size: 100MB/s
      capacity: 1GB/s
      width: 64 bits
      clock: 33MHz
      capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
      configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.2LK duplex=full ip=192.168.1.8 latency=0 link=yes module=r8169 multicast=yes port=twisted pair speed=100MB/s
    9. And this is where I get stuck. The wlan0 device is not enabled. I think this is related somehow to the hardware RF Kill switch (airplane switch) that disables wireless. This machine has a hardware switch and a software Fn+F2 option. Neither combination has worked for me. Toggling the hardware switch generates errors in the syslog:

      Code:
      Aug 24 16:29:38 wta-mobile kernel: [ 1576.686265] atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
      Aug 24 16:29:38 wta-mobile kernel: [ 1576.686275] atkbd.c: Use 'setkeycodes e071 ' to make it known.
    10. This thread talks about the rfkill switch, but none of the suggestions have worked for me.

Para solucionar el problema donde se encallaba el usuario citado, copié el fichero /lib/firmware/2.6.24-19-generic/iwlwifi-5000-ucode-5.4.A.11/ a /lib/firmware y reinicié el PC

————–

2) Solución de problemas con la ATI

Para solucionar los problemas de drivers con la ATI usé una aplicación llamada Envy NG. Esta aplicación detecta que versión de drivers necesitas en función del hardware y SO. Se puede descargar de:

http://albertomilone.com/nvidia_scripts1.html

——-

3) Para el tema del sonido por los altavoces y por los cascos simultáneamente

Simplemente me instalé la aplicación gnome-volume-control desde apt-get y desactivé el sonido frontal. (Solamente es un workaround ya que no soluciona el problema completo).

Por si a alguien le puede interesar, me instalé la última versión de los controladores de sonido ALSA (la .17). Para ello seguí los pasos del post de ubuntu-es. La idea es bajarse la última versión, descompilarla y desde el directorio descomprimido ejecutar

1
2
3
4
5
6
7
$ ./configure --with-cards=hda-intel --with-sequencer=yes
$ make
$ sudo make install
$ ./snddevices
$ chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi
$ alsamixer
$ sudo reboot

——-

4) Memoria RAM

Aquí no he conseguido nada. Según he leído por allí en la versión de kernel 2.6.24-21 se soluciona el problema, pero después de probarlo no lo he conseguido (además dejó de funcionar el resto de cosas: la wifi, los controladores de vídeo, el sonido…).

http://ubuntuforums.org/showthread.php?t=906142

—-

Según dicen en la versión Intrepid ya estarán solucionados los temas de WIFI y RAM o sea que será cuestión de esperar a la nueva release!!

Suerte y espero vuestras aportaciones si conseguís algo más!!

PD: Como recibo mucho spam podeis enviarme un email a josepcoves(arroba)gmail.com

Abrir puertos en linux por línea de comandos

Ejecutar la siguiente instrucción (el ejemplo queremos abrir el puerto 5805):

 
iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5805 -j ACCEPT

Podemos verificar que el puerto se ha abierto mediante la siguiente instrucción:

 
telnet localhost 5805

Iniciar el entorno en UNIX desde OnDemand

Hay un fichero que contiene todas la inicialización de todas las variables. Se puede encontrar en $ORACLE_HOME ([instancia]/product/[version])

si hacemos un:

ls *env*

veremos el listado de ficheros de incialización de entorno. Para ejecutarlos (supongamos un fichero llamado entorno.env):

. ./entorno.env

Una vez cargado el entorno podríamos entrar en el sqlplus, por ejemplo.

NOHUP: Comando para realizar una ejecución independiente de la sesión

En unix tenemos la posibilidad de usar el comando unix nohup que nos permite ejecutar en background un proceso. Esto quiere decir que si por cualquier motivo nuestra sesión se cerrase el proceso seguiría ejecución dejando un log informando del resultado de dicha ejecución.

Ejemplo:
 
nohup sqlplus SCHEMA/PASS @inserts.SQL 

Herramienta iconv. Convertir de un juego de caracteres a otro

Con la herramienta iconv podemos convertir un fichero en formato texto de una codificación a otra. los parámetros para esta función son los siguientes:

iconv [fichero] -f [from_code] -t [to_code] 

por ejemplo, para convertir de UTF-8 a ISO estándar podemos hacer:

 iconv fichero1  -f UTF-8 -t ISO_8859-1