viernes, junio 20, 2014

Cómo acelerar la búsqueda de aplicaciones en Unity/Ubuntu

Algo rápido y sencillo, aunque al principio me costó, llegué a acostumbrarme y debo aceptarlo hasta tomarle gusto a la interfaz gráfica de Ubuntu, el famoso Unity, pero lo único que me saca de casillas es cuanto tarda al momento de buscar una aplicación, es un dash de búsqueda, debería ser extremadamente rápido.

El problema que hace que eso no se cumpla son 2 cosas:

  1. La búsqueda de recomendaciones en Internet
  2. Indicar qué aplicaciones se llaman como la que buscamos, pero no está instalada
Si bien son buenas ideas, o al menos idealmente lo serían, están confiando en 2 cosas... 1. Internet rápido (que en Ecuador todavía flaquea) y 2. disco duro rápido (que a menos que sea SSD, es inexistente en una PC estándar), y normalmente si busco una aplicación es porque sé que la tengo instalada y sino la instalo y listo.

¿Cómo solucionar eso?

1.- Desactivar las recomendaciones de Internet, lo más sencillo... 
Abrir el panel de control de "Configuración del sistema" -> Seguridad y Privacidad.    Ir a la pestaña de búsqueda y desmarcar la opción que dice "Incluir resultados de búsqueda en línea".

Si quieren acelerar la búsqueda de archivos y de paso ganar algo de privacidad, vayan a la pestaña de "Archivos y Aplicaciones" y desmarquen la opción que dice "Registrar uso de archivos y aplicaciones" y voilá!

2.- Esto es un poco más complicado pero buenísimo, instalar dconf-tools (sudo apt-get install dconf-tools), abrir el dconf-editor y buscar la siguiente ruta en el árbol de configuración:

dekstop/unity/lenses/applications

Ahí encontrarán la opción llamada "display-available-apps", debe tener estar marcada con un "check", lo desmarcan, cierran la aplicación y sean felices.

A partir de ahora al presionar la tecla Super (Tecla Windows) + A, para buscar aplicaciones, el tiempo de respuesta será casi inmediato, en lugar de casi un minuto sólo para buscar una aplicación que quiero abrir rápidamente porque quiero trabajar :S

jueves, julio 25, 2013

Cómo convertir tu computador en un "parlante" airport/airtunes para tu casa u oficina.

Además de Linux y la informática, hay otra cosa que me gusta mucho, la música y por lo general es lo que me ayuda a ser más productivo y relajarme.  Uniendo las cosas que me gustan terminé haciendo esta pequeña "travesura".

Durante algunos años tuve un computador que como decimos en Ecuador calificaba como "carne de perro", es decir, aguantó de todo, golpes, maltrato, paso de los años y sin embargo seguía funcionando.  Era una laptop IBM Thinkpad 570 (del año 96), esta laptop tenía grandiosos 128Mb de memoria y al final la había mejorado para que tenga un disco duro de 30Gb, al final de su vida útil tuvo problemas con el bus de datos VGA o como le dicen vulgarmente "el flex" haciendo que ya no se pueda usar la pantalla, y así fue a parar a una caja encima del guardarropa de mi habitación.

Así lució alguna vez la IBM Thinkpad 570

Mientras buscaba algo totalmente diferente, terminé encontrándome con la laptop y después de al menos 5 años de no usarla (sí, vivió hasta el último), decidí conectarla y ver si aún arrancaba, para mi sorpresa conectándole un monitor externo no sólo arrancó, sino que llegó hasta la interfaz gráfica y recordé que esa máquina tenía Ubuntu 8.04 con LXDE, obviamente esto ponía a la pobre laptop al límite, pero se me ocurrió que quizá podría ser divertido darle un uso a la laptop.

Le desconecté totalmente la pantalla pues ya no tenía uso dejarla puesta si no funcionaba y era peso muerto y de inmediato comencé a buscar opciones para usarla.  Lo primero que hice fue quitarle todo el peso extra (entorno de escritorio, software de oficina, etc...), de manera que se quedó con un Ubuntu sólo de consola.  Luego con mucha paciencia actualicé a Ubuntu 10.04 y finalmente al 12.04.

Con la actualización ya tenía un pequeño servidor (o al menos era la intención), el primer intento fue instalando el servidor web lighttpd, mysql 5 y la aplicación Ampache, con esa combinación logré tener una "rockola electrónica", la interfaz es simpática y soporta streamming local (reproducción en el dispositivo desde el que te conectes) o "localplay" que encola las canciones para que las reproduzca el servidor (en este caso la pequeña laptop), si bien funcionó sin problemas, la interfaz no es precisamente la más atractiva, además que crear los playlists en el servidor, teniendo ya algunos en mi laptop no se sentía cómodo.



Finalmente escuché respecto al proyecto "shairport" que permite emular el protocolo utilizado por Apple para utilizar como "emisor" cualquier aparato que esté conectado a la red Wifi, ya sea el iTunes, un ipod o iPhone o inclusive con software adicional un teléfono android también puede transmitir a un receptor de Airtunes.

Receptor Airport express de Apple

En un ambiente ideal lo  que esto permite es hacer streamming a los receptores y que el sonido salga a través de los parlantes conectados a ese receptor, con lo que se puede tener varios puntos de salida de un único emisor, la idea sonó interesante, así que me puse a trabajar.  Los pasos en Ubuntu 12.04 son los siguientes.

Primero hay que instalar el software que sirve para compilar código fuente con el siguiente comando:

sudo apt-get install build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config git libmodule-build-perl

Antes de poder compilar el software es necesario agregar soporte para iOS6, por lo cual hay que compilar la librería SDP de perl:

git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp
cd perl-net-sdp
perl Build.PL
./Build
./Build test
sudo ./Build install


Otra opción es utilizar CPAN (cpan Net::SDP)
Luego, en la carpeta donde quieras descargar el software ejecutar este comando:
git clone https://github.com/abrasive/shairport

cd shairport
make

Para probarlo lo puedes hacer con el siguiente comando:
./shairport.pl -a AirCasero

El nombre "AirCasero" es el que utilizará para aparecer en el listado de receptores Airplay, realmente puedes especificar cualquier nombre.

Si funciona sin problemas el siguiente paso será convertirlo en un servicio para que arranque automáticamente cada vez que se inicia la máquina:
make install
cp shairport.init.sample /etc/init.d/shairport
chmod a+x /etc/init.d/shairport
update-rc.d shairport defaults

Con eso será suficiente para que cada vez que arranques la máquina automáticamente se levante el servicio y tengas disponible tus "parlantes" Wifi.

El servicio por defecto tiene el nombre de ShairPort al aparecer en el listado de dispositivos de red, si quieres que aparezca con otro nombre, como es el caso del ejemplo que pusimos de "AirCasero", se puede editar el archivo de arranque:

nano -w /etc/init.d/shairport

Buscamos la línea :
NAME=ShairPort

Y cambiamos el nombre por lo que nos resulte más apropiado, y voilá, en mi caso dejé la vieja laptop en la oficina y ahora cualquiera de los que estamos en la oficina podemos transmitir música a los parlantes centrales. :)

miércoles, junio 17, 2009

Corrigiendo el error de navegación de algunos sitios con Linux

Desde hace mucho que tenía problemas para entrar a un sitio en específico, pero siempre me incliné por pensar en que la página era una porquería (bueno, un poco y sí), el problema es que esa página es la de mi tarjeta de crédito, de manera que no podía ver mi estado de cuenta ni nada... Preguntando a un grupo de usuarios de Linux descubrí que sólo nos pasaba a nosotros los linuxeros, el resto podía entrar a la página, y de hecho no eran las únicas páginas con las que pasaba, así que me puse a investigar un poco y descubrí el problema...

Primero si tienen Linux y quieren probar, intenten ingresar a cualquiera de estos 2 sitios:
http://www.pacificard.com.ec/
http://www.presidencia.gov.ec/

Lo más seguro es que se quede eternamente tratando de ingresar hasta que les envíe un mensaje diciendo que el servidor ha reiniciado la conexión o el famoso mensaje "Connection reset by peer".

La única característica en común es que ambos sitios por momentos no responden suficientemente rápido, pero eso en una máquina con Windows por ejemplo lo único que hace es que la página se cargue de manera más lenta, pero nada más...

Esto me tuvo intrigado por un buen tiempo hasta que logré dar con la solución, el "problema" se debe a una mejora del núcleo de linux, a partir de las versiones 2.6.17 en adelante... Se hizo un cambio en la manera en la que se mantenían las conexiones, descartando las conexiones lentas para poder acelerar las descargas, por eso muchos al probar por primera vez Linux decían que hasta se podían bajar cosas más rápido que en Windows... y bueno, es verdad, pero eso traía un precio, algunos sitios lentos o con problemas de latencia dejan automáticamente de funcionar con nuestras máquinas.

En mi caso como realmente necesitaba ingresar a esa página, tuve que "deshacer" el cambio para que mi compu se comporte igual que el resto de las máquinas... Por suerte no era necesario nada más que agregar una línea a un archivo, lo que tienen que hacer es editar el archivo /etc/sysctl.conf (al menos esa es la ruta en Ubuntu), por ejemplo pueden presionar ALT+F2 y en la caja de ejecución escribir este comando:

gksu gedit /etc/sysctl.conf

Y al final del archivo copian y pegan estas líneas:

# Workaround for TCP Window Scaling bugs in other ppl's equipment:
net.ipv4.tcp_wmem = 4096 16384 512000
net.ipv4.tcp_rmem = 4096 87380 512000

Guardan el archivo y listo, bastaría con reiniciar la máquina para que se hagan efectivos los cambios, si no quieren reiniciar la máquina, pueden hacer que los cambios se efectivicen ejecutando el siguiente comando desde una terminal:

sudo sysctl -p

Y listo, pueden volver a intentar a las páginas de prueba y veran la diferencia... El único detalle es que ya no tendrán la "acelerada" de descarga que tenía antes. Pero bue, lo más probable es que inclusive otras páginas que tenían problemas ahora se puedan navegar sin complicaciones.

domingo, octubre 19, 2008

Juegos para linux (especialmente Ubuntu)

Para los que como yo son "niños grandes" que además de querer tener un computador estable y que funcione como debería, también quieren poder jugar en sus ratos libres, acá una página con muchos juegos que están disponibles para Linux, categorizados y ordenados.

http://playubuntu.com/

A Jugaaar!!! :P

domingo, septiembre 28, 2008

Cómo instalar FreeNX fácilmente en Ubuntu 8.04

Para quien no lo sepa, FreeNX es una herramienta que me permite conectarme remotamente a un computador utilizando una tecnología de compresión que hace que aunque esté con una conexión super lenta pueda trabajar como si estuviera sentado frente a la máquina, todo responde super rápido.

Para instalarlo en Ubuntu 8.04 Hardy Heron haríamos lo siguiente:

1. Editamos la lista de repositorios de software sources.list:

sudo gedit /etc/apt/sources.list

También puedes usar nano si no tienes interfaz gráfica..

sudo nano /etc/apt/sources.list

Aunque también se puede hacer entrando al synaptic y escogiendo la opción que dice repositorios de software.

2. Con sources.list abierto, añadimos estas líneas al final del todo:

deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main
deb http://ppa.launchpad.net/freenx-team/ubuntu hardy main

En el caso del synaptic sólo habría que copiar y pegar esas líneas en el lugar que nos pide.

3.- Hacemos una actualización de la lista de software, en línea de comandos es con sudo apt-get update o sino desde el synaptic le damos clic a refrescar.

4.- Buscamos el paquete llamado freenx o sino directamente utilizamos alguna de sus versiones especializadas freenx-rdp por ejemplo sirve para conectarme a una máquina windows remotamente a través de mi servidor, es como si lo usara de intermediario, con la diferencia de que no necesito abrir más puertos inseguros en mi máquina y aprovecho la velocidad de compresión de NX.

sábado, julio 19, 2008

Suaviza las fuentes (tipografías) en tu computador

Mientras trataba de animarme a trabajar en un proyecto donde necesitaba escribir mucho texto, recordé que una de las primeras cosas que impactaba al ver un computador de Apple era que todo se veía tan suavizado, comenzando por las letras en la pantalla.

Entonces recordé que en Linux también podemos tener ese efecto, siempre y cuando el computador sea lo suficientemente potente como para lograrlo, pero eso era cosa del pasado, hoy en día practicamente cualquier computador puede hacerlo sin problemas, aún así me extrañaba que esa opción no estuviera habilitada de manera predeterminada, al menos en Ubuntu (que es la versión de GNU/Linux que yo utilizo), asumiré que se debe a alguna decisión de diseño.

Las opciones que necesitan estar activas son el hintering y el antialias de las fuentes, la forma más sencilla de hacerlo es creando un archivo en la ruta /etc/fonts/local.conf, que es donde se guardará la configuración de las fuentes, para ello podemos hacerlo con el siguiente comando:
gksu gedit /etc/fonts/local.conf

Dentro de ese archivo debemos agregar las siguientes opciones de forma íntegra:


<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
</match>
<match target="font" >
<edit name="autohint">
<bool>true</bool>
</edit>
<edit name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>


Guardamos el archivo y eso será suficiente para activar el suavizado de las fuentes, para poder ver el cambio necesitaremos cerrar la sesión actual y volver a entrar.

En caso de que no estemos a gusto con el cambio (lo dudo), tan sólo necesitamos borrar el archivo
/etc/fonts/local.conf y todo volverá a la normalidad.

viernes, marzo 14, 2008

Cómo instalar tipografías(fuentes/tipos de letras) fácilmente en Ubuntu Linux

Hace mucho que no pensaba respecto a nuevos tipos de letras en mi computador, principalmente porque me he dedicado a hacer documentos sencillos y formales y las tipografías que vienen en Ubuntu me son suficientes, pero hay momentos cuando quieres hacer algo un poco más elaborado como una tarjeta, un diseño sencillo en donde se hace necesario utilizar tipos de letras diferentes. Fue ahí cuando me di cuenta que no lo había hecho nunca en GNU/Linux, agregar tipografías.

En gnome (el ambiente normal de Ubuntu) resultó ser sumamente sencillo, tan sólo abrimos un explorador de archivos vamos al menú de "Ir a" -> "Lugares" ( o simplemente presionamos CTRL + L) y escribimos fonts:///



Damos un enter y automáticamente aparece la carpeta con las tipografías instaladas, lo único que necesitamos hacer allí es copiar los archivos de tipografìa (TTF por lo general) y listo, están listas para ser utilizadas.

Si no tienes Ubuntu, sino cualquier otra distribución la fórmula es igualmente sencilla, simplemente dentro de tu carpeta de usuario (home), crea una carpeta llamada ".fonts" (el punto hace que sea una carpeta oculta) y copia ahí tus tipografías, es el mismo resultado, quizá no tan rápido en comparación a gnome, pero funciona