Eclipse Ico
¿Alguna vez has ojeado el código fuente Java de un colega que contenía una mezcla de espacios y tabuladores para la indentación, haciendo el código completamente ilegible? ¿O alguna vez has intentado comparar dos versiones de un fichero Java donde han cambiado los finales de línea, ofuscando la única línea de código que realmente ha cambiado? Esta entrada muestra un modo de dominar el infierno de los espacios en blanco a la hora de desarrollar con Eclipse.

Leer el resto de esta entrada »

Eclipse Logo
Las últimas versiones de Eclipse han cambiado el modo que tenían de tratar las pestañas de edición.

En Indigo, cuando tenías 10 pestañas abiertas:

A | B | C | D | J | H | G ….(F | T | S)

y estabas posicionado en la B, al seleccionar de nuevo el fichero mostrado en la pestaña T, esta pestaña (al contrario de lo que ocurre en las últimas versiones) se reposicionaba para quedar al lado de la última abierta, es decir:

A | B | T | C | D | J | H ….( G | F | S)

Esto es útil ya que, si abrimos T después de B, tiene sentido que se agrupen juntas.

En Juno y Kepler no se reposicionan y en vez de eso tienes que buscar los ficheros más recientes al final de la lista de pestañas.

Para modificar este comportamiento (y volver al funcionamiento anterior) hay que editar las hojas de estilo que se encuentran en INSTALL/plugins/org.eclipse.platform_<<version>>/css y modificar el estilo:


.MPartStack {
swt-mru-visible: true;
}

vía

Algunos enlaces de interés
Eclipse4/CSS

WebSphere software
Al intentar instalar un antiguo WebSphere 7.0 en un sitema con Mozilla Firefox 10+ como navegador por defecto, ejecutando el IBM Launchpad usando el script launchpad.she, aparece el siguiente mensaje:

An error occurred while starting the launchpad. This error typically occurs when
the launchpad is unable to find a supported browser. Check your product’s
documentation for a list of supported browsers.

El problema está en que las versiones soportadas de Firefox para esta versión de launchpad se limitan a las veriones 1 a 9. Afortunadamente existe algún “apaño” para soportar versiones superiores.

Según se indica en http://www-01.ibm.com/support/docview.wss?uid=swg21595098 podemos modificar el script launchpad\browser.sh de tal modo que la función supportedFirefoxVersion() quede tal que así:

browser.sh Línea 22:

supportedFirefoxVersion()
{
case "$*" in
*Firefox\ [1-9].*) return 0;;
*Firefox/[1-9].*) return 0;;
*Firefox\ [1-9][0-9].*) return 0;;
...

Una vez modificado este fichero, al intentar arrancar la aplicación IBM Launchpad ejecutando el comando launchad.sh en un sistema cuyo navegador por defecto es un Mozilla Firefox 15+, puedes recibir el siguiente mensaje de error en el navegador:

Unable to find supported browser

An error occurred while starting the launchpad. This error typically occurs when the launchpad is unable to find a supported browser. Check your product’s documentation for a list of supported browsers.
NOTE: This file is a place holder for product specific instructions about how to recover from this error.
You should describe the location of installation programs on the product CD so the user can run them directly without starting launchpad if necessary.
Procedure for correcting the error that is preventing the launchpad from displaying
==============================================================
The launchpad supports the following browsers:
o Mozilla
o Firefox
o Internet Explorer (Microsoft Windows platforms only)
o SeaMonkey

Con un poco de investigación, verás que la variable whichBrowser en el script launchpad\browser.sh (invocado por launchpad.sh) se fija correctamente (con la modificación anterior), y que tu navegador se abre con el siguiente comando:

/usr/bin/firefox -P Profile_2883 -profile /tmp/IBM_LaunchPad_2883/Profile_2883 file:///media/sf_websphere_media/media_80/wp_package/Setup/launchpad/Mozilla.html

Esto, inmediatamente te redirige a file:///media/sf_websphere_media/media_80/wp_package/Setup/launchpad/en/noBrowser.html – puede que ni siquiera notes que la redirección ocurre, lo que puede ser frustrante.

Lo que ocurre es que el fichero javascript “Mozilla.js” (llamado desde “Mozilla.html“) está intentando hacer una llamada a netscape.security.PrivilegeManager.enablePrivilege, que ya no está soportada por Firefox. Esto lanza un error javascript, que produce la redirección.

Mozilla.js Línea 42:

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

El soporte para enablePrivilege ha sido eliminado de Firefox (Bug 546848), de modo que ya no es posible obtener privilegios especiales usando este método.

Para más detalles sobre este cambio en Firefox, revisa la siguiente nota de soporte: http://support.mozilla.org/en-US/questions/944433

Siguiendo las indicaciones de http://www-01.ibm.com/support/docview.wss?uid=swg21643517 y si nuestra versión de Firefox es la 15 o la 17, podemos solucionar el problema editando el fichero launchpad\firefox.sh de tal modo que quede algo así:

firefox.sh Línea 57:

echo 'user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect UniversalBrowserWrite");' >$userprefpath/user.js
echo 'user_pref("capability.principal.codebase.p0.id", "'${LaunchPadURL}'");' >>$userprefpath/user.js
echo 'user_pref("browser.frames.enabled", true);' >>$userprefpath/user.js
echo 'user_pref("browser.shell.checkDefaultBrowser", false);' >>$userprefpath/user.js
echo 'user_pref("javascript.enabled", true);' >>$userprefpath/user.js
echo 'user_pref("security.fileuri.origin_policy", 4);' >>$userprefpath/user.js
echo 'user_pref("security.enable_java", false);' >>$userprefpath/user.js
echo 'user_pref("security.xpconnect.plugin.unrestricted", true);' >>$userprefpath/user.js
echo 'user_pref("update_notifications.enabled", false);' >>$userprefpath/user.js
echo 'user_pref("security.warn_entering_secure", false);' >>$userprefpath/user.js
echo 'user_pref("security.warn_leaving_secure", false);' >>$userprefpath/user.js
echo 'user_pref("security.warn_entering_weak", false);' >>$userprefpath/user.js
echo 'user_pref("security.warn_viewing_mixed", false);' >>$userprefpath/user.js
echo 'user_pref("security.warn_submit_insecure", false);' >>$userprefpath/user.js
echo 'user_pref("signon.rememberSignons", false);' >>$userprefpath/user.js
echo 'user_pref("browser.bookmarks.added_static_root", true);' >>$userprefpath/user.js
echo 'user_pref("intl.charsetmenu.browser.cache", "ISO-8859-1");' >>$userprefpath/user.js
echo 'user_pref("browser.search.opensidebarsearchpanel", false);' >>$userprefpath/user.js
echo 'user_pref("dom.allow_scripts_to_close_windows", true);' >>$userprefpath/user.js
echo 'user_pref("dom.disable_open_during_load", false);' >>$userprefpath/user.js
echo 'user_pref("nglayout.initialpaint.delay", 0);' >>$userprefpath/user.js
echo 'user_pref("browser.link.open_external", 2);' >>$userprefpath/user.js
echo 'user_pref("security.fileuri.strict_origin_policy", false);' >>$userprefpath/user.js
echo 'user_pref("browser.EULA.3.accepted", true);' >>$userprefpath/user.js
echo 'user_pref("browser.EULA.4.accepted", true);' >>$userprefpath/user.js
echo 'user_pref("browser.EULA.5.accepted", true);' >>$userprefpath/user.js
echo 'user_pref("security.enablePrivilege.enable_for_tests", true);' >>$userprefpath/user.js
...

En caso contrario, para solventar el problema, tendremos que instalar una versión antigua de Firefox. Puedes encontrar versiones antiguas de Firefox aquí: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

NOTA: Puede ser necesario establecer la variable de entorno que indica el navegador a utilizar, del siguiente modo:
export BROWSER=/usr/lib64/firefox

vía

Eclipse Security
La contraseña maestra (masster password) de Eclipse es un poco “coñazo“. Afortunadamente podemos deshabilitar completamente esta característica. Lo primero es cerrar el Eclipse. Ahora podemos seguir estos pasos:

  1. Borra la seguridad equinox

    rm -rf ~/.eclipse/org.eclipse.equinox.security

  2. Establece una contraseña maestra en un fichero de texto

    Por ejemplo, yo utilizo “secret” como mi contraseña maestra del siguiente modo:

    echo "secret" > ~/.eclipse/master

  3. Edita el eclipse.ini

    Añade esto al principio de tu eclipse.ini

    -eclipse.password
    /home/user/.eclipse/master

    NOTA: Acuérdate de cambiar “/home/user” de acuerdo a tu nombre de usuario.
    NOTA 2: Debes escribirlo tal cual, en dos líneas. No lo puede poner en una sola línea.

Ya puedes arrancar tu Eclipse y no volverás a ver el “fastidioso” pop-up que te pregunta la contraseña maestra.

vía

Realtek-Network-Drivers
Llevo un tiempo sufriendo problemas de lectura en carpetas compartidas Samba (Windows) desde mi equipo Linux (ArchLinux).

Parece ser que el problema está en los drivers Realtek.

$ lspci -v

03:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)
Subsystem: CLEVO/KAPOK Computer Device 0540
Flags: bus master, fast devsel, latency 0, IRQ 44
I/O ports at d000 [size=256]
Memory at f0a04000 (64-bit, prefetchable) [size=4K]
Memory at f0a00000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8169
Kernel modules: r8169

Para solucionarlo podemos instalar los drivers r8168 proporcionados por la comunidad y pondremos los drivers 8169 en las lista negra, tal y como sugiere la instalación de los nuevos drivers:

# pacman -S r8168
# echo "blacklist r8169" > /etc/modprobe.d/r8169_blacklist.conf

Reiniciamos, y listo.

NOTA: Si el problema persiste, o tenemos un kernel personalizado -como es mi caso-, podemos probar con el paquete r8168-all de AUR.

vía

Control de Hardware
Al conectar un monitor externo a mi equipo, este no reconocía la máxima resolución del mismo (1280×1024 a 75Hz).

Las resoluciones reconocidas que me daba el comando xrandr eran:
$ xrandr -q

Screen 0: minimum 320 x 200, current 2390 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366×768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1366×768 60.0*+
1024×768 60.0
800×600 60.3 56.2
640×480 59.9
VGA1 connected 1024×768+1366+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024×768 60.0*
800×600 60.3 56.2
848×480 60.0
640×480 59.9
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Para poder añadir una nueva resolución, lo primero es definir su Modeline:
$ gtf 1280 1024 75

# 1280×1024 @ 75.00 Hz (GTF) hsync: 80.17 kHz; pclk: 138.54 MHz
Modeline “1280x1024_75.00″ 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSync +Vsync

Y una vez que lo tenemos, registramos este nuevo modo en xrandr (copiar todo lo que hay detrás de “Modeline”):
$ xrandr --newmode "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSync +Vsync

Lo añadimos a nuestro monitor
$ xrandr --addmode VGA1 1280x1024_75.00

Y establecemos dicha resolución
$ xrandr --output VGA1 --mode 1280x1024_75.00

vía

Logo Lotus Notes
Antes de realizar la instalación habrá que instalar las dependencias previas según indico en la entrada IBM Notes 9.0 beta en Arch Linux (32 bits).

Una vez instaladas las dependencias basta con seguir los siguientes pasos:

  1. Descargamos el fichero sametime-setup-linux.zip de http://sametime.dpteruel.es/sametime/network-install/applet/index_en.html?lang=en (alternativamente podemos descargar el rpm o el deb de http://theweeks.org/tmp/FILES/ST-8.5.2_GA/Linux/)
  2. Lo descomprimimos (unzip) y obtenemos el paquete rpm.
  3. Lo instalamos ejecutando lo siguientes comandos:

    # export ST_BYPASS_CONFLICT_CHECK=true
    # rpm -ivh --nodeps sametime-connect-8.5.2-20110516.2011.i586.rpm

Y ya podemos ejecutar:

$ sametime-connect

Algunos enlaces de interés
How to download and install IBM Lotus Sametime Connect 8.5.2 on Ubuntu 13.04 64bit

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: