jueves, 3 de julio de 2014

Error al inicializar OpenGL/D3D en Ubuntu usando Crossover


El wiki de Wine nos dice como correr wine con registro de depuración del controlador 3D

WINEDEBUG=+wgl wine your_3d_app.exe 

Pero Crossover tiene una variable de depuración diferente:

CX_DEBUGMSG=+wgl /opt/cxoffice/bin/wine --bottle "WinXP" Chessmaster.exe

Lo que me mostró el problema:

err:wgl:has_opengl Failed to load libGL: /usr/lib/i386-linux-gnu/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
err:wgl:has_opengl OpenGL support is disabled.

La causa es que las librerías de Ubuntu 14.04 no juegan bien con el libxcb que viene con Crossover.  La solución es actualizar a Crossover 13.1.3, o borrar su libxcb para que use la de Ubuntu:

sudo rm /opt/cxoffice/lib/libxcb.so.1*

viernes, 6 de junio de 2014

Deshabilitar las notificaciones de contacto en línea de Pidgin

No se hace en preferencias, sino en Herramientas > Complementos > Menús emergentes Libnotify, Configurar complemento, y deseleccionar Amigo inicia sesión.  Fiiiuuuuuu.

jueves, 5 de junio de 2014

Añadir una resolución a nuestra pantalla en Linux

A veces Kubuntu no muestra las resoluciones correctas (sospecho que los GPUs Intel tienen algo que ver). Si quisiéramos agregar  1280x800 al monitor LVDS1 (xrandr --current para ver el nombre de tu monitor), generamos tiempos de sincronización con cvt:
$ cvt 1280 800
# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
Modeline "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync


Agregamos la Modeline resultante a xrandr:
$ xrandr --newmode "1280x800"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync


La añadimos a nuestra pantalla, y la activamos:
$ xrandr --addmode LVDS1 1280x800
$ xrandr --output LVDS! --mode 1280x800


lunes, 24 de marzo de 2014

Firefox bloquea bookmarlets inseguros en sitios SSL

Al navegar un sitio seguro (que usa HTTPS) Firefox bloquea cualquier Contenido Mixto Activo (scripts de fuentes no codificadas, osea HTTP), que podría ser interceptado y modificado con relativa facilidad.  En la barra de direcciones aparece un icono de escudo con el mensaje Firefox ha bloqueado contenido no seguro ("Firefox has blocked content that isn't secure"), y ofrece la opción de deshabilitar la protección.

Lamentablemente la protección bloquea muchos bookmarlets, incluso después de desactivarla, incluyendo el práctico bookmarlet de KeepVid para descargar videos de Youtube (y otros), que produce un triste error en la consola al intentar descargar desde Youtube (que ahora requiere una conexión segura si haz iniciado sesión):

Blocked loading mixed active content "http://keepvid.com/js/bm.js"

Esto porque el script de KeepVid está en una conexión no segura (HTTP) --y además obtiene datos desde el mismo Youtube, pero usando también HTTP...

Desactivar la protección completamente es una muy mala idea.  Tampoco podemos esperar que todos los creadores de los bookmarlets añadan soporte HTTPS pronto.  Una solución temporal, si no te importa reducir tu privacidad y seguridad, es abrir una ventana en modo incógnito y abrir ahí el video usando HTTP.  O también puedes cerrar sesión.  KeepVid también proporciona un método alternativo usando Java; pero Java es tan inseguro que más que deshabilitarlo, se recomienda desinstalarlo.

Pero hay una solución permanente: copiar el script a un servidor seguro (cómo el del excelente servicio gratutio de GitHub), y editarlo para que utilice solo HTTPS al cargar otros scripts, que es lo que hice con el de KeepVid (arrástralo a tu barra de marcadores y úsalo en Youtube):

viernes, 14 de marzo de 2014

South Parker: The Stink of Truth

El combate es una mala broma.  Los chistes ni eso.  Lo mejor que se puede decir es que funciona relativamente bien en Linux, hasta con gráficos Intel chafitas.  En realidad, South Park: The Stick of Truth no es un juego.  Es un álbum de estampitas (literalmente: son de 60 píxeles...)

viernes, 30 de agosto de 2013

Borrando y reinicializando la colección de música de un iPod Touch / iPhone desde Linux

Para inicializar base de datos de iTunes de un iPod Touch o iPhone nuevo o recién formateado, o para borrar la colección de música (si está corrupta, o simplemente queremos cambiar de canciones) desde Linux hay que salvar un par de obstáculos:

Primero, hay que acceder al dispositivo montándolo manualmente (p.e. sudo mkdir /media/iPod; sudo chmod 777 /media/iPod; ifuse /media/iPod;) o dejando que un programa lo haga por nosotros (Amarok monta automáticamente /var/mobile/Media en /tmp/kde-$USER/amarok/imobiledevice_*).

Nuestra música, la base de datos de iTunes y demás se encuentran en Media/iTunes_Control.  Podemos eliminar (o renombrar) todo para deshacernos de la colección, con excepción de Media/iTunes_Control/Device/HashInfo.  Este fichero contiene el código con el que Apple pretende impedir nuestro libre acceso a nuestro dispositivo.  Por tanto, conviene hacer un respaldo del mismo.

En caso de una nueva instalación, tendremos que obtener HashInfo, a menos que tengamos un respaldo.  Afortunadamente, Héctor Martín Cantero ha creado un generador público: iPhone/iPod hash generation.  Para usarlo, necesitamos el UUID de nuestro dispositivo, que usualmente es listado como SerialNumber en sus propiedades, las cuales se pueden ver en syslog.  Este comando puede ayudar:

perl -ne 'our $UUID; if (/Manufacturer: Apple/) { $_=<>; $UUID=$1 if /SerialNumber: (.+)/; } END { print "$UUID\n" if $UUID;}' /var/log/syslog

Una vez que tenemos HashInfo en su lugar, podemos dejar el trabajo más pesado a Amarok o gtkpod; si borramos la colección de música con alguno de los dos abierto, tendremos que expulsar nuestro dispositivo y volverlo a conectar; si no, simplemente ejecutamos uno de los dos, que inmediatamente nos ofrecerá inicializar nuestro juguete; si no sabes su modelo, puedes verlo en sus Ajustes de sistema / General / Información / Modelo (en mi caso, ignorando el primer y los dos últimos caracteres).

martes, 27 de agosto de 2013

Puenteando routers Asus RT-N56U y TP-Link WR-740N

IP inicial 192.168.3.1 y servidor DHCP deshabilitado, cuando el default debía ser 192.168.1.1.  Encontrada sin hacer reset, creando una Conexión cableada compartida en Kubuntu y conectándola al puerto WAN, para después ver la dirección asignada al router en syslog y abrirla en el navegador (¡aunque la interface del router no debería ser accesible por WAN!).

Para usarlo como repetidor solo soporta el modo de puente WDS.  Imposible conectarlo a un TP-Link WR-740N.

¿Único router Asus que no soporta ninguno de los principales firmwares abiertos?  OpenWRT tiene soporte preliminar.

ASUS RT-N56U/RT-N65U custom firmware no está mal.  Ruso, ¿basado en OpenWRT?

Añade el modo "AP + cliente AP", pero tampoco funciona con el WR-740N.

Tiempo de cambiar el WR-740N a algo mejor.  DD-WRT es una masacre de daemonios y un desastre en general.  OpenWRT+LuCi funciona muy bien, pero solo quedan 100 kB libres. Gargoyle, su rebelde y minimalista vástago, funciona igual de bien y deja 400 kB (!)--excepto porque después de flashearlo no se activó el DHCP ni el inalámbrico; un poco preocupante hasta que haces ssh root@192.168.1.1 y ves que todo funciona.

OpenWRT también añade "AP + cliente AP" al TP-Link, y ahora ambos routers funcionan a la perfección como maestro o cliente.  Aaaah... la vida es una barca.

domingo, 18 de agosto de 2013

Atajos de teclado y otras funciones dependientes de DBUS dejan de funcionar

Al actualizar KDE a la última versión (de Kubuntu-Backports) DBUS dejó de funcionar:

qdbus org.kde.amarok /Player
qdbus: could not find a Qt installation of ''


Al parecer hay un batidillo de dependencias ahora que están portando todo a QT5, y hace falta instalar qtchooser, o algún otro paquete de desarrollo.  La cosa es que todos los necesarios se instalan con qt-default:

apt-get install qt4-default

Ojo que tiene que ser la misma versión de dbus.  Si instalamos QT5 con DBUS 4, nos sale:

qdbus: could not exec '/usr/lib/x86_64-linux-gnu/qt5/bin/qdbus': No such file or directory

viernes, 9 de agosto de 2013

Kubuntu muestra la hora en UTC sin importar la zona horaria seleccionada

El problema (reporte aquí) reside en zic, usado por el módulo de Fecha y Hora de KDE (y otros programas), que copia la zona horaria a /etc/localtime sin checar si la original es una liga simbólica y por lo tanto, sin dereferenciarla apropiadamente, por lo que termina creando una liga rota:

ls -l /etc/localtime
lrwxrwxrwx 2 root root 25 mar 14 10:46 /etc/localtime -> ../posix/Europe/Guča


Para arreglarlo temporalmente:

sudo dpkg-reconfigure tzdata

O un paliativo más duradero (y extremo):

sudo mv /usr/sbin/zic /usr/sbin/zic-bad

Pues KDE puede funcionar sin zic (otros programas, quien sabe ;).