De vuelta a Linux: Ubuntu GNOME en MacMini y MacBook Pro

Después de mucho postergarlo, finalmente decidí dejar Mac OSX y volver a Linux.  Son varios los motivos y puedo decir tranquilamente que OSX no es para nada un mal sistema, de hecho para un usuario como yo es una excelente combinación de la potencia y flexibilidad de Unix con la disponibilidad de aplicaciones mainstream nativas en el sistema.

Pero yo quería otra cosa.

Ubuntu GNOME y Eclipse
Ubuntu GNOME y Eclipse

Con Linux me había acostumbrado a poder modificar lo que yo quisiera del sistema. Usándolo todos los días tiendo a aburrirme y en OSX como mucho podía cambiar el fondo de pantalla y el color de la barra superior, del resto prácticamente nada.

Por otro lado, para el tipo de uso que le doy al computador las herramientas en Linux están mucho más a la mano, en OSX están a través de brew o macports pero siempre son ciudadanos de segunda clase. Ni hablar de tratar de compilar PHP para que use SQL Server, Oracle y cosas por el estilo. Incluso algo tan simple en Linux como poder escribir unidades NTFS puede volverse un infierno en OSX.

En fin, al momento en que quise cambiar el look & feel de OSX para que fuera obscuro y así descansar más la vista y no pude, y al mismo tiempo el anuncio de Canonical de abandonar Unity fue el empujón que necesitaba para dar el paso. Ah! Y ya que estaba desconectado del desarrollo de GNOME por mucho tiempo, este review de Ubuntu GNOME me entusiasmó mucho más.

Y aquí estoy, escribiendo desde Ubuntu GNOME en mi computador principal.  Primero hice unas pruebas en mi portátil, cuya configuración la puedo armar en cualquier momento desde cero. Lo usé unos días y me convenció completamente, todo el hardware fue soportado sin hacer nada especial, incluso unos audífonos bluetooth que no funcionan en OSX sí funcionaron en Linux. Para qué decir del software, fue como sentirme de vuelta en casa con el añadido de que GNOME es quizás el mejor sistema de escritorio que he usado.  Ojo, antes que los Apple fan se me tiren encima, si no lo han probado no tienen como opinar. Sólo al usarlo te das cuenta de que en GNOME han hecho un excelente trabajo.

Advertencia

Antes de que me digan «ah no, es que yo uso la aplicación X» vamos a ser claros, cada uno usa el sistema que más le acomode y eso depende mucho de las aplicaciones que uno necesite para su trabajo diario. En mi caso tanto OSX como Linux me sirven, por lo que la elección de uno u otro sistema corresponde a otros factores, como los descritos arriba.

Para entender el caso, esto es lo que uso frecuentemente: Java SDK, Android SDK, Android NDK, Eclipse, GNU tools (build tools, bash, etc), MySQL PHP, un navegador, Dropbox, GIMP. En menor medida: Utilidad para analizar el uso del disco, monitores de sistema (temperatura, uso de recursos), etc.  Como pueden ver, todas estas herramientas están disponibles en ambos sistemas operativos, nativamente en Linux y a través de diversos mecanismos en OSX.

Seguramente hay algunos que quieran hacer la prueba o solucionar algún problema o duda respecto a instalar Linux en hardware de Apple, así que en el resto del artículo dejaré documentado lo que he ido ajustando en el sistema.

Instalación

Para no llenar de imágenes este post, a través de links dejaré screenshots de referencia. La instalación inicial se resume en los siguientes pasos:

Una vez instalado el sistema, se reiniciará el equipo y partirá con Linux.  Si quieren partir con OSX, usen nuevamente la combinación CMD+X a menos que les aparezca el menú de rEFInd. (A mi a veces me ha aparecido, a veces no).

Temperatura, ventiladores y uso de CPU

Con un sistema recién instalado lo primero que notarán es que el equipo se calienta. Eso es porque falta instalar una utilidad que controle el ventilador. Como preferencia personal a mi me gusta ver el uso de CPU y temperatura en el panel, así que vamos a instalar todo de una.  En un terminal:

sudo apt-get install lm-sensors cpufrequtils macfanctld tlp

Se trata de:

  • lm-sensors: permite obtener información de temperatura y velocidad de rotación de los ventiladores
  • cpufrequtils: permite ajustar la forma en que la CPU cambia de velocidad. La idea es que sólo use una alta velocidad sólo cuando sea necesario
  • macfanctld: con la información de temperatura, esta utilidad controla automáticamente la potencia de los ventiladores. Si la temperatura sube, aumenta la potencia de los ventiladores, y al bajar, reduce la potencia.
  • tlp: Se encarga de aplicar ajustes para reducir el uso de batería en portátiles

No se preocupen que en ningún caso usarán estas herramientas directamente, a menos que quieran modificar su comportamiento.  Lo normal es que instalen alguna aplicación de escritorio que usará estas herramientas para controlar el sistema.  En mi caso instalé extensiones de GNOME shell que entregan información de uso en la barra superior y permiten realizar ajustes del sistema en forma gráfica.  Mis elegidas fueron:

cpufreq
CPUFreq GNOME Extension

Al instalar estas aplicaciones pude entender un problema que siempre tuve con OSX en mi MacMini, y es que el equipo se calienta demasiado, al punto en que la tarjeta WiFi comenzaba a fallar. El MacMini en general es MUY silencioso a menos que esté trabajando en forma intensiva, y esto es simplemente porque el ventilador no comienza a funcionar sino hasta que la temperatura es muy alta.  Por lo tanto, en general el equipo andaba con alta temperatura pero en silencio.  Al instalar macfanctld lo primero que llama la atención es que el ventilador parece estar andando siempre, pero es simplemente porque la configuración de origen está hecha para mantener el sistema andando a temperaturas razonables, y para eso tiene que usar constantemente el ventilador.

Por lo tanto queda la opción de a) alta temperatura y silencio o b) baja temperatura y ventilador andando.  Como ahora estamos hablando de Linux, basta modificar el archivo de configuración de macfanctld para ajustarlo como uno quiera.  Se puede definir la velocidad de rotación mínima y dos temperaturas: La temperatura mínima en donde el ventilador estará en su potencia mínima definida, y la temperatura máxima en donde el ventilador funcionará a toda su potencia.

freon
Freon GNOME Extension

Sin tener datos exactos, pero recordando cómo funcionaba esto en OSX podría estimar los valores que estaba usando en mi equipo. Si quisiera resumir todos los valores tenemos:

  • OSX en MacMini: 1500RPM, min 80º, max 90º (estimado)
  • Ajustes originales de macfanctld: 2000RPM, min 45º, max 55º (macfanctld.conf)
  • Mis ajustes de macfanctld: 1800RPM, min 60º, max 70º (personalizado)
  • Config actual un poco más tibia pero más silenciosa: 1800 RPM, avg 70º – 80º, periferia 50º – 68º

Ahora el ventilador se mantiene más activo, pero ya no me quemo al tocar el macmini.

Para los que tengan este problema y estén usando OSX, entiendo que hay aplicaciones que permiten ajustar estos valores también, sólo que yo no supe de eso hasta que instalé macfanctld.

Dark theme

Lo que gatilló el cambio con fuerza fue contar con un escritorio obscuro para descansar la vista, y Ubuntu GNOME viene preparado para hacer ese cambio de una forma muy sencilla. Simplemente deben abrir la Herramienta de retoques de GNOME Shell y en Apariencia activar Tema obscuro global y luego en Tema -> GTK+ poner Adwaita-dark.

GNOME Dark settings
GNOME Dark settings

Java y Eclipse

Si bien Ubuntu incluye Eclipse, es una versión relativamente antigua.  Personalmente prefiero instalar la última versión de Eclipse desde el sitio oficial e instalar JDK 8 de Oracle.

Primero deben instalar JDK8 con los siguientes pasos gracias a WebUpd8:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Para instalar Elipse, descargan el instalador, lo descomprimen y ejecutan. Presentará varias opciones de instalación, yo seleccioné Eclipse for Java Developers.

Ajustes adicionales de Eclipse

Eclipse a secas no tiene todo lo que suelo ocupar, asi que en Ayuda -> Eclipse Marketplace siempre instalo las mismas extensiones a las que ahora se agregan aquellas para obtener un aspecto obscuro.  Una funcionalidad no muy conocida del Marketplace es que pueden marcar extensiones como favoritas, para que sea más fácil instalarlas en un Eclipse nuevo, simplemente abren los favoritos y ponen «Instalar todo».

Mis extensiones favoritas de Eclipse son:

  • Eclipse C/C++ IDE (CDT)
  • PHP Development Tools (PDT)
  • Android Development Tools (ADT)
  • Subclipse
  • Eclipse Mooonrise UI Theme
  • Eclipse Color Theme
  • Eclipse Data Tools Platform (DTP)

Las últimas dos ayudan a darle el aspecto obscuro. Una vez instaladas van a Preferencias -> Apariencia -> Tema y seleccionan Moonrise Standalone.  Luego en Preferencias -> Apariencia -> Colores seleccionan el que sea de su agrado. Yo estoy usando Gedit Original Oblivion.

Eclipse en Ubuntu GNOME
Eclipse en Ubuntu GNOME

Música

Para no duplicar mi biblioteca de música, importé los archivos directamente desde mi antigua librería de iTunes.  Inicialmente podía ver la partición de OSX en Archivos -> Otras ubicaciones, pero la carpeta /Users/fcatrin/Music no tenía permisos de lectura. Para solucionarlo inicié en modo rescate de OSX (CMD+R), entré a mi carpeta personal via terminal y apliqué:

chmod 755 Music

Luego reinicié y agregué la carpeta en Rhythmbox

Biblioteca iTunes en Rythmbox
Biblioteca iTunes en Rhythmbox

De origen no viene incluido un ecualizador, pero hay uno disponible a través de plugins. Acá pueden encontrar ese y otros bastante interesantes: Installing rhythmbox 3.0 plugins … the easy way!

Android

Para Android un par de problemas al intentar levantar un emulador:

Primero no me dejaba crear una máquina virtual (AVD), fallaba al crear la tarjeta SD.  Eso fue porque la utilidad que crea la tarjeta SD es de 32 bits y requiere bibliotecas de 32 bit que no son instaladas como parte del SDK. La solución es sencilla:

sudo apt-get install lib32stdc++6

El segundo problema fue la aceleración de video que no queda lista para llegar y usar.  Se requiere instalar glxinfo y actualizar una biblioteca del SDK copiando la que ya tienen en el sistema.  Se reduce a:

sudo apt-get install mesa-utils

cd ~/android-sdks/tools/lib64/libstdc++/
rm libstdc++*
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 .

Con eso quedará instalado glxinfo, y actualizada libstdc++ apuntando a la que está instalada en tu sistema.

Otros ajustes

Hay otros ajustes que se pueden hacer al sistema para que quede más sintonizado con los sitios web existentes, el idioma local, entre otros. En esta lista están:

  • Instalar los paquetes de corrección ortográfica al español
  • Instalar las fuentes de Microsoft
  • Instalar fuentes adicionales
  • Instalar Dropbox.
  • Ajustar campos de texto en Firefox

Para el primero y segundo basta con:

sudo apt-get install ttf-mscorefonts-installer aspell-es myspell-es

Para el tercero, descargar y abrir los archivos TTF incluidos. Se abrirán con el instalador de fuentes.

Para Dropbox pueden ir al instalador de aplicaciones Software que se encuentra en los iconos de la derecha y buscar por Dropbox. El sistema descargará e instalará Dropbox automáticamente.

Dropbox muestra un ícono de actividad en la barra de notificaciones que no existe como tal en GNOME, pero para variar, hay una extensión que la habilita, se llama TopIcons Plus.

En cuanto a los idiomas, usualmente escribo en inglés y en español indistintamente, lamentablemente Firefox sólo permite usar un idioma a la vez. Hay una forma de unir los archivos de corrección ortográfica como un solo idioma pero no lo he hecho aún.

En Evolution fueron más flexibles y se puede configurar más de un idioma al mismo tiempo.

Al usar un tema obscuro en Firefox se puede tener problemas con los campos de texto, ya que a veces los sitios modifican sólo el color defondo o sólo el color del texto y quedan invisibles porque asumen que el fondo es blanco.  Acá hay varias opciones para solucionar el problema de campos de texto en theme obscuro, personalmente me quedé con agregar un archivo userContent.css.

Creo que eso es todo por ahora, seguramente iré agregando más detalles en este post. Espero quedarme con Linux por un buen tiempo.

Finalmente: Tal como lo recordaba, los fonts en Linux se ven mucho más suaves y definidos que en OSX.

El mundo sin Steve Jobs

Y llegó el día que no queríamos que llegara, se ha ido Steve Jobs. Para muchos es un genio, y para otros un tirano, lo que no queda en duda es su aporte a la vida moderna: Tienes que vivir en una caverna para poder decir que la influencia de Steve no afecta tu vida diaria.

Puede no ser el inventor de muchas cosas, pero esas invenciones probablemente estarían perdidas en un laboratorio o hubiesen sido una curiosidad tecnológica sin la visión y el liderazgo de Steve. Se necesita alguien que sea capaz de alinear a los expertos técnicos y comerciales – muchas veces rock stars que son muy difíciles de manejar – sólo así puedes sacar adelante productos y conceptos como los que hoy atribuimos a Steve.

A modo de homenaje, recordemos cómo era o sería el mundo sin Steve Jobs.

  • Antes de Apple los computadores estaban destinados a hacer cálculos balísticos o financieros, costaban una fortuna y se necesitaban expertos para manejarlos.  La gente normal «no necesitaba computadores», ya que no había nada que hacer con ellos.  Steve Jobs creía que lo computadores podían darle poder a la gente normal, y afortunadamente fue capaz de convencer al genio de Steve Wozniak de que esa idea tenía sentido.
  • Antes de Apple los computadores se manejaban con comandos crípticos, todo se realizaba por medio del texto, tanto las instrucciones que se le daban al computador, como la propia respuesta del computador a esas instrucciones.  Steve conoció en los laboratorios de Xerox el concepto de la interfaz gráfica y el ratón, el problema era hacer que esa tecnología funcionara en las limitadas capacidades de los computadores personales que Apple podía producir, a un costo razonable.

Procesador de Texto WordStar sobre CP/M

  • Antes de Apple la música digital sólo se podía obtener de forma ilegal.  Los músicos estaban condenados a ser pirateados o seguir siendo abusados por los sellos discográficos.  iTunes demostró que había un mercado para la distribución de música en formato digital, y que la red no servía sólo para piratear.  En poco tiempo se convirtió en el primer canal de distribución de la música, dejando atrás a los medios tradicionales.
  • Antes de Apple tenías que seleccionar qué musica llevabas contigo, a menos que quisieras andar con un bolsito en tu mochila.  Apple logró poner horas y horas de música en tu bolsillo, incluso en el bolsillo más pequeño de tu pantalón con el iPod Nano.  Como si esto fuera poco, incorporó una sencilla interfaz de usuario basada en una ruedita tactil desde donde puedes realizar todas las operaciones que necesita el dispositivo.
  • Antes de Apple la producción musical estaba estrictamente reservada a grandes estudios, con equipos carísimos basados en hardware.  Si bien Apple no inventó el concepto, ni la tecnología directamente, tenía un computador y un sistema operativo suficientemente fiable y poderoso para que empresas como Digidesign creyeran en que los computadores podían ayudar a tareas de edición, grabación, mezcla y postproducción musical.  Gracias a esta simbiosis, hoy puedes tener un estudio musical en tu casa.

Reproductor de MP3 RIO

  • Antes de Apple los teléfonos inteligentes tenían muchos botones, carecían de aplicaciones y servían para ver planillas de cálculo o leer correos electrónicos.  Se manejaban con un lapiz y su interfaz de usuario imitaba a la interfaz de un sistema de escritorio, con menú de inicio incluido.  Hoy todo smartphone trata de imitar al iPhone de Apple de alguna forma, ya sea por su pantalla táctil, su único botón o su interfaz gráfica basada en lanzadores de aplicaciones que corren a pantalla completa.
  • Antes de Apple los desarrolladores de software necesitaban una fuerte inversión para llevar sus productos al mercado, si es que lograban obtener algo de notoriedad.  Por otra parte los usuarios tenían que salir a buscar el software «a la calle», sin que nadie asegurara la calidad del software disponible.  Junto con el iPhone, no sólo se creó un sistema operativo que hoy es un referente respecto al software base y ambiente que se debe proveer a los desarrolladores, sino que también achicó la brecha existente entre éstos y sus usuarios.  El AppStore hizo millonarios a muchos, permitió que la distribución de las aplicaciones se democratizara, y al mismo tiempo permitió que los usuarios lograran tener acceso a software de calidad en un solo lugar.  Hoy todas las compañías tratan de tener su propio AppStore.

IPaq - Smartphone de HP

  • Antes de Apple la televisión sólo servía para… ver televisión.  Aunque nunca ha sido un éxito, el AppleTV abrió las puertas para ver la televisión de otra forma.  AppleTV convirtió a los televisores en un dispositivo más conectado a Internet.  Pese a sus problemas de comercialización, y desencanto en la propia compañía, hoy los SmartTV son un lejano descendiente de este concepto.
  • Antes de Apple los tablets eran unos computadores que no tenían mayor gracia que permitir tomar notas con un lapiz stylus.  Se trataba de notebooks con un teclado escondido, en donde el sistema operativo y su interfaz eran iguales a lo que podemos encontrar en los escritorios.  El iPad de Apple demostró que esa dirección estaba equivocada, y no se trataba simplemente de un notebook (o netbook) sin teclado, sino que se trataba de un computador con raza propia.  Eliminó el stylus, y adaptó la interfaz de usuario para ser usada sólo con los dedos.  Al igual que con el iPhone, hoy todos los tablets se quieren parecer al iPad, pero ninguno cuenta con el nivel de terminación y el ecosistema de aplicaciones que distingue al iPad.

Sketch de Mickey Mouse

  • Antes de Apple el navegador más usado en el mundo era el nefasto Internet Explorer.  Si bien Mozilla logró que los más techies impulsaran una alternativa de calidad en el mundo de los navegadores, fue Apple quien tomó KHTML (KDE) y lo convirtió en una competencia en el mundo del usuario común y corriente al incorporarlo en sus productos estrella a través de Safari.  Con esta incorporación se le terminó la excusa a los desarrolladores de que sólo valía la pena probar que sus creaciones sólo funcionaran en Internet Explorer.
  • Antes de Apple, el sistema operativo Unix era sólo para privilegiados expertos.  Aunque en Linux se han hecho intentos por llevar esta tecnología a los usuarios «de a pie», fue Mac OSX el que logró construir todo lo que hacía falta para llevar este sistema al público. Sus distintas tecnologías que agregan valor a Unix y lo convierten en un producto de lujo, han sido imitadas tanto por Linux como por Windows con años de retraso.
  • Antes de Pixar – otra de las empresas con el sello de Steve – se necesitaban grandes ejércitos de dibujantes para crear películas animadas.  Steve ayudó a John Lasseter a convertir el sueño del cine animado por computadores en una realidad.  Lasseter despreciado por Disney y más tarde abandonado por George Lucas tuvo la suerte de encontrar en Steve a alguien quien creía que el mundo del cine podía ser distinto, así nació Toy Story y el cine cambió para siempre.

Seguramente se me quedaron cosas en el tintero, pero con lo expuesto ya es suficiente para entender el peso de Steve Jobs en nuestra vida, de alguna forma trajo el futuro a nuestro presente.

Te extrañaremos Steve.