I3 es uno de los administradores de ventanas de mosaico más utilizados en Linux. Un administrador de ventanas de mosaico organiza Windows de una manera no superpuesta: esto nos permite usar el espacio de pantalla de manera eficiente, pero puede requerir un poco de tiempo para acostumbrarse.
El administrador de ventana i3 en Linux generalmente se instala junto con la utilidad i3status, que se puede utilizar para llenar las barras de estado compatibles con información como la memoria o el uso de la CPU. En este tutorial vemos cómo personalizar i3status y usar algunos de sus módulos.
En este tutorial aprenderás:
- ¿Cuáles son los archivos de configuración i3status?
- Cómo personalizar i3status
- Cómo usar el módulo de "disco"
- Cómo usar el módulo "CPU_USAGE"
- Cómo usar los módulos "Ethernet" e "inalámbrico"
- Cómo usar el módulo de "batería"
- Cómo usar el módulo de "memoria"
Requisitos y convenciones de software utilizados
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Independiente de la distribución |
Software | i3status |
Otro | Ninguno |
Convenciones | # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado |
Introducción
Durante la maldición de este tutorial, asumiré que ya ha instalado el administrador de la ventana i3 y que la utilidad i3status se ejecuta junto con el i3bar, que es la barra de estado predeterminada que viene con i3. Aunque i3status generalmente viene con una configuración predeterminada, en aras de la claridad comenzaremos desde cero, y lo llenaremos con las instrucciones explicadas en el tutorial.
El archivo de configuración i3status
Para personalizar i3status necesitamos operar en su archivo de configuración. Se verifica la existencia de los siguientes archivos, en orden:
- ~/.config/i3status/config
- /etc/xdg/i3status/config
- ~/.i3status.confusión
- /etc/i3status.confusión
También podemos usar un costumbre Archivo: Todo lo que tenemos que hacer es pasar su camino como argumento al
-C
opción cuando invocamos i3status. En aras de este tutorial usaremos el ~/.config/i3status/config
Archivo, para crear una configuración válida solo para nuestro usuario específico. Para hacer que los cambios en el archivo de configuración sean efectivos, todo lo que tenemos que hacer es volver a cargar el administrador de la ventana i3: generalmente podemos hacerlo a través de la combinación de claves "Mod+Shift+R". La sección "General"
Lo primero que queremos definir en nuestro archivo de configuración i3status es la sección "General". En esta sección podemos declarar qué colores se deben usar (si los hay) para los diversos estados, y con qué frecuencia i3Status debe actualizar la información impresa en la barra de estado. Veamos un ejemplo. En el ~/.config/i3status/config
Archivo, escribimos:
General Colors = True Color_good = "#A3Be8C" Color_Degraded = "#EBCB8B" Color_bad = "#BF616a" Interval = 1 Separator = "|"
La sección "General" se delimita mediante el uso de aparatos ortopédicos. En él, declaramos que queremos usar colores (a través del colores = verdadero
Directiva) y definió qué colores deben asociarse con el estado bueno, degradado y malo. Los umbrales de estado se pueden definir dentro de algunos módulos, y se pueden usar para resaltar, por ejemplo, una conexión inalámbrica deficiente o un alto uso de CPU. Los colores se definen usando el RGB Notación hexadecimal, tal como lo haríamos en un archivo CSS. Luego, con el intervalo
Directiva, definimos el intervalo de tiempo en segundos después de que i3Status debe actualizar la información en la barra de estado. Finalmente, con el separador
Directiva, definimos el personaje para usar como un separador entre la información impresa por los diversos módulos que estamos a punto de ver.
Usando módulos
La utilidad i3status proporciona una serie de módulos que podemos usar para recuperar información útil. Los que discutiremos en este tutorial son:
- Disco: se usa para imprimir el espacio utilizado, gratuito y total de un sistema de archivos
- Inalámbrica: Muestra información sobre una conexión de interfaz de red inalámbrica
- Ethernet: muestra información sobre una conexión de interfaz de Ethernet
- Batería: obtiene el estado de las baterías
- Uso de la CPU: muestra información sobre el uso de la CPU
- Memoria: muestra información sobre el uso de la memoria
Los módulos se pueden configurar utilizando las directivas apropiadas encerradas en aparatos ortopédicos. Veamos algunos ejemplos.
El módulo de disco
Comencemos con el módulo de "disco". Como ya dijimos, este módulo se puede usar para mostrar información sobre el espacio total, utilizado y libre de un sistema de archivos determinado. Supongamos que queremos verificar el porcentaje de espacio usado en el sistema de archivos "/". Esto es lo que podríamos escribir:
disco "/" format = "/: %porcentaje_usado"
Definimos cómo se debe imprimir el estado en la barra de estado, utilizando el
formato
directiva. El porcentaje de porcentaje
El marcador de posición será sustituido por el porcentaje real del espacio usado. Otro marcador de posición que podemos usar, por ejemplo, es porcentaje porcentual_free
, que se presenta como el porcentaje de espacio libre en el sistema de archivos (para la lista completa de marcadores de posición, eche un vistazo al manual de i3status). Después de configurar un módulo, para que su contenido se incluya en la salida de i3status, debemos agregarlo a la lista de pedidos, después de la "sección general". Así es como se ve el archivo de configuración en este punto: General Colors = True Color_good = "#A3Be8c" Color_bad = "#BF616a" Color_degraded = "#EBCB8B" Interval = 1 Separator = "|" orden += "disk/" disk "/" format = "/: %porcentaje_used"
Después de recargar i3, la información se muestra en el i3bar:
El módulo CPU_USage
El módulo "CPU_USAGE" se puede usar para mostrar el uso de las CPU en formato porcentual a través del %uso
marcador de posición:
cpu_usage format = "cpu: %use"
Como mencionamos anteriormente, es posible definir los umbrales degradados y malos: cuando el porcentaje alcanza un umbral, se imprimirá utilizando el color correspondiente definido en la sección general. Por defecto, estos umbrales son 90
y 95
, respectivamente, pero se pueden cambiar a través del degradado_threshold
y max_threshold
directivas. En caso de que queramos rastrear el porcentaje en relación con una CPU específica, podemos especificarlo con el %de CPU sintax, donde n es el número de la CPU a partir de 0:
cpu_usage format = "cpu_0: %cpu0 cpu_1: %cpu1 cpu_2: %cpu2 cpu_3: %cpu3" degraded_threshold = 90 max_threshold = 95
Para agregar el resultado del módulo a la salida i3status, lo agregamos al orden:
orden += "disk /" orden += "cpu_usage"
Así es como cambia el estado:
Los módulos Ethernet e inalámbricos
Con los módulos "Ethernet" y "inalámbrico" podemos obtener información sobre las conexiones de red correspondientes. Con el módulo Ethernet, pasamos el nombre de una interfaz de red y dejamos que i3Status imprima la dirección IP asignada y, si está disponible, la velocidad del enlace. Aquí hay un ejemplo del uso del módulo:
Ethernet enp0s31f6 format_up = "eth: %ip ( %speed)" format_down = "eth: down"
Con el
format_up
Directiva, especificamos lo que debe mostrarse cuando la conexión está arriba: el %IP
El marcador de posición se sustituye por la dirección IP asignada a la interfaz y %velocidad
con la velocidad del enlace. Con format_down
, En cambio, establecemos lo que debe mostrarse en caso de que la conexión esté abajo. Si no queremos "codificar" un nombre de interfaz, podemos usar el _primero_
Valor especial: cuando lo hagamos, se utilizará la primera interfaz no inalámbrica, no inalámbrica. El módulo "inalámbrico" funciona de manera similar. En este caso especificamos el nombre de una interfaz inalámbrica o, nuevamente, usamos el _primero_
, que, en este caso, se sustituirá con el nombre de la primera interfaz de red inalámbrica. Entre las otras cosas, podemos recuperar información sobre el %calidad
, %SSID
y %IP
de la conexión. Aquí hay un ejemplo del uso del módulo:
Wireless __first__ format_up = "wls: ( %calidad a %ssid) %ip" format_down = "wls: down"
Así es como aparece la barra de estado después de agregar los módulos "Ethernet" y "inalámbricos" al orden:
El módulo de "batería"
El módulo de "batería" se puede utilizar para recuperar información sobre una batería, como su estado, y su porcentaje de carga. Esa información está expuesta en el /sys/class/power_supply/bat/uevent
Archivo (n es el número de batería, ya que algunas máquinas pueden tener más de una). Suponiendo que queremos que se muestre el porcentaje de la batería, y el "color_bad" se use para imprimirlo cuando el porcentaje sea del 10% o menos, escribiríamos:
Batería 0 format = "BAT0: %porcentaje" Last_full_Capacity = True Threshold_Type = Porcentaje Low_threshold = 10
Pasamos el número de batería después del nombre del módulo, y utilizamos la Directiva de formato para establecer qué información debe mostrarse en la barra de estado. Con el last_full_capacity
Directiva Declaramos que queremos que el porcentaje se calcule en relación con el capacidad actual de la batería y no a su plena capacidad por diseño. A continuación, usamos el umbral_type
Directiva para establecer explícitamente que el umbral debe pretenderse como un valor porcentual, y luego establecemos el umbral bajo en 10.
¿Qué pasa si tenemos más de una batería en nuestra máquina?? Las baterías están numeradas a partir de 0, y podemos usar la directiva "ruta" para establecer explícitamente la ruta del archivo "uevent":
Batería 1 Path =/sys/class/power_supply/ %d/uevent format = "BAT1: %porcentaje" last_full_capacity = true umbral_type = porcentaje low_threshold = 10
Dentro de la configuración del módulo el primero %d
El marcador de posición se sustituye por el número de batería que se pasa junto al nombre del módulo. En caso de que queramos obtener un agregado de todas las baterías existentes, todo lo que tenemos que hacer es reemplazar el número de batería con "todos":
Battery All rath =/sys/class/power_supply/ %d/uevent format = "bat agres: porcentaje de porcentaje" last_full_capacity = true umbral_type = porcentaje low_threshold = 10
Aquí está el resultado de agregar las configuraciones anteriores al orden i3status:
El módulo de "memoria"
El módulo de "memoria" nos permite realizar un seguimiento del uso de RAM consultando /Proc/Meminfo
. Podemos hacer que i3Status muestre la memoria total, utilizada, gratuita y disponible del sistema utilizando los marcadores de posición correspondientes. Hay dos métodos que se pueden usar para calcular la memoria disponible/usada: "memeaveilable" y "clásico". El primero se obtiene restando el "memhaveilable" de la memoria total, y corresponde al valor devuelto por el gratis
dominio; Este último calcula la memoria disponible restando los búferes, la memoria caché y la memoria "libre" de la memoria total, y corresponde al valor devuelto por el monitor del sistema GNOME. Para mostrar la memoria usada/total en porcentaje, podemos escribir:
Memoria Memory_used_method = Classical Format = "Memoria: %Usado/ %Total"
Aquí está el resultado de incluir el módulo en i3status:
Conclusiones
En este artículo aprendimos a personalizar i3status, una utilidad que viene con el administrador de ventanas i3 y puede usarse para generar e imprimir información en barras de estado como i3bar. Vimos cómo configurarlo y cómo usar algunos de los módulos disponibles. Para obtener una descripción completa de las funcionalidades i3status, eche un vistazo al manual de servicios públicos.