Archivos de la categoría Open Source

Instalar htop 2.0 desde código fuente

Hace unos pocos días me entere por la cuenta de @nixcraft en twitter que htop 2.0 había sido liberado en el FOSDEM 2016 por Hisham Muhammad su autor original desde 2004.

htop 2.0 vídeo charla multiplataforma

Aparte de que la principal mejora es que es multiplataforma para Linux, FreeBSD, OpenBSD and Mac OS X gracias a las contribuciones que ha tenido en Github. Se han incluido muchas otras mejoras (si tienes disponible ncurses 6) (en CentOs 6.X de base solo se ofrece ncurses 5 ya que fue liberado ncurses 6 en agosto de 2015).

Principales mejoras

htop 2.0 apariencia en ejecución
htop 2.0 apariencia en ejecución

Algunas de las principales mejoras en htop 2.0 son:

  • Soporte de load con gráfica de puntos
  • Mostrar los GB de memoria en lugar de MB
  • Mostrar las variables de entorno de cada proceso presionando ‘e’
  • Código independizado para cada plataforma (más facilidad para futuros desarrollos y plataformas)
  • Enfoque de programación orientada a objetos en el código fuente (OOP).

Instalación desde fuentes

He creado un pequeño script en Github para que puedas instalarlo fácilmente desde mi colección de scripts con el comando:

wget https://raw.githubusercontent.com/shakaran/scripts/master/setup-htop2.sh -O - | bash

O bien con curl:

curl -fsSL https://raw.githubusercontent.com/shakaran/scripts/master/setup-htop2.sh | bash

Instalarlo con el script es…

Solucionar error: Warning: Cannot modify header information – headers already sent by (output started at wp-config.php:1) in wp-includes/pluggable.php

Al actualizar WordPress 4.3 puede que visualices este error en tu wp-admin o dashboard u otras zonas como el wp-login.

Suele pasar a usuarios que actualizan su WordPress y modifican su archivo wp-config.php con algún editor (tipo Filemanager de Cpanel u otros) que añaden al archivo el modo UTF8 BOM (unas cabeceras en el archivo) que no están permitidas y que no se llevan bien con hostings o alojamientos basados en GNU/Linux y ejecutando PHP.

Ten en cuenta, que esta solución que propongo es una de las posibles, ya que el error puede deberse a otras causas, por ello te recomiendo que busques en esta sección específica de wordpress en caso que no te sea útil esta solución. Normalmente, este warning o aviso aparece al intentar establecer las cookies de wordpress, ya que carga el wp-config.php y añade el BOM que se toma como texto enviado e impidiendo establecer las cabeceras de PHP y por tanto las cookies.

En caso de que estes afectado por la modificación del archivo UTF8 con BOM en el wp-config.php, la solución es facil. Unicamente debes quitarle el modo BOM con algun editor de texto avanzado.

Aunque para administradores de sistemas como yo, solemos hacerlo de forma más rapida con un par de comandos.

Primero si quieres buscar otros archivos con UTF8 BOM (puedes excluir archivos PNG, JPG y demás que seran falsos positivos). Puedes utilizar el siguiente comando:

grep -rl $'\xEF\xBB\xBF' ruta/a/tu/wordpress

Si una vez que has confirmado los archivos, puedes ejecutar el siguiente comando para cambiar todos los archivos de una vez y eliminar el modo UTF8 BOM:

find ruta/a/tu/wordpress -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;

¿Aún sigues con problemas y no encuentras quien pueda solucionartelo?

Pues estas de suerte, puedes contratarme como freelancer en Upwork para que le de un vistazo y solucionarlo.

 

Reactivar módulo wireless en Acer Aspire para Ubuntu y derivados

Si usas las últimas versiones de Ubuntu 13.10 o siguientes, en concreto aquellas distribuciones que usen algún núcleo entre la versión 3.8 y 3.11 habrás notado que si dispones de un portátil Acer Aspire te hayas quedado sin soporte wireless e incluso algunas otras funciones inhabilitadas como ventilador de la CPU u otros. En concreto la lista de elementos hardware que pueden dejar de funcionar son:

  • La tarjeta de red (interfaz wireless)
  • El adaptador de bluetooth integrado
  • Tarjeta de red 3G (sólo los modelos que disponga de una integrada)
  • Indicadores LED frontales (CPU, email, multimedia, etc)
  • Botones de iluminación LCD

wireless Ubuntu

En el caso de la conectividad wireless lo primero que se suele pensar es que el interruptor esta mal pulsado o no llega a activar la wifi (normalmente suele estar en el canto de la parte inferior izquierda). En mi caso y creo que en otros no será ese el problema. Por si acaso, puedes comprobarlo con el siguiente comando:

$ rfkill list all

Si no esta bloqueado por hardware o software, debería aparecer un resultado como:

1: phy1: Wireless LAN
 Soft blocked: no
 Hard blocked: no

Tras investigar un poco en los registros del sistema, parece que no existe una buena compatibilidad para mi modelo de Acer Aspire a través del módulo del kernel que se utiliza para controlar el hardware. Se trata del módulo acer_wmi que es un reemplazo incompleto y no muy estable del módulo acer_acpi que se utilizaba en versiones más antiguas del kernel. pero a partir de la versión 2.6.25 fueron fusionados. Este módulo suele autocargarse en el kernel basándose en la concordancia por detección DMI (Destktop Management Information)

Solución temporal al problema

Para resolver el problema, lo primero es conocer tu modelo exacto de portátil. Si no te apetece mirar etiquetas, cajas, facturas o albaranes de compra, puedes sacar el modelo exacto con el siguiente comando:

sudo dmidecode -t 2 | grep Product

En mi caso se trata del siguiente modelo:

Product Name: Aspire 5943G

Tras comprobar la compatibilidad, si prefieres no usar dicho módulo, basta con ejecutar:

sudo modprobe -r acer-wmi; echo 'blacklist acer-wmi' | sudo tee -a /etc/modprobe.d/blacklist.conf

Reinicia y posteriormente no debería aparecer ningún módulo en la salida del comando:

lsmod | grep acer