Introducción
En este proyecto, aprenderás a crear un monitor de sistema Linux utilizando Python y la biblioteca Tkinter. El monitor de sistema mostrará información en tiempo real sobre la CPU, la memoria RAM, el uso de disco y las estadísticas de red.
👀 Vista previa

🎯 Tareas
En este proyecto, aprenderás:
- Cómo crear una interfaz gráfica de usuario (GUI) utilizando Tkinter.
- Cómo utilizar la biblioteca
psutilpara obtener información del sistema en tiempo real. - Cómo mostrar el uso de la CPU, el uso de la RAM, el uso de disco y las estadísticas de red.
🏆 Logros
Después de completar este proyecto, podrás:
- Crear una GUI en Python utilizando Tkinter.
- Utilizar la biblioteca
psutilpara obtener información del sistema. - Actualizar etiquetas con datos en tiempo real.
- Organizar la información utilizando marcos y widgets de cuaderno.
Crear los archivos del proyecto
Crea un archivo llamado linux_system_monitor.py y dile que se abra en tu editor de texto.
cd ~/project
touch linux_system_monitor.py
Crear la interfaz gráfica de usuario (GUI)
Agrega el siguiente código para crear la interfaz gráfica de usuario (GUI) del monitor de sistema:
import tkinter as tk
from tkinter import ttk
import psutil
root = tk.Tk()
root.title('Linux System Monitor')
Instala la biblioteca psutil utilizando el siguiente comando:
sudo pip install psutil
Crear el widget Notebook para separar las categorías de información
Agrega el siguiente código para crear un widget de cuaderno, que nos permite separar diferentes categorías de información del sistema:
notebook = ttk.Notebook(root)
notebook.pack()
Agregaremos marcos al cuaderno en el siguiente paso.
Crear marcos
Agrega el siguiente código para crear marcos para cada categoría de información del sistema:
cpu_frame = ttk.Frame(notebook, padding=10)
ram_frame = ttk.Frame(notebook, padding=10)
disk_frame = ttk.Frame(notebook, padding=10)
network_frame = ttk.Frame(notebook, padding=10)
En el código anterior, estamos creando cuatro marcos, uno para cada categoría de información del sistema. El parámetro padding agrega un relleno de 10 píxeles alrededor de cada marco.
Agregar marcos al Notebook
Agrega el siguiente código para agregar los marcos al cuaderno:
notebook.add(cpu_frame, text='CPU Info')
notebook.add(ram_frame, text='RAM Info')
notebook.add(disk_frame, text='Disk Info')
notebook.add(network_frame, text='Network Info')
Estamos agregando los marcos al cuaderno utilizando el método add(). El parámetro text especifica el texto que se mostrará en la pestaña de cada marco.
Crear etiquetas para los marcos
Agrega el siguiente código para crear etiquetas para cada marco:
cpu_percent_label = ttk.Label(cpu_frame)
cpu_percent_label.pack()
ram_percent_label = ttk.Label(ram_frame)
ram_percent_label.pack()
disk_percent_label = ttk.Label(disk_frame)
disk_percent_label.pack()
network_label = ttk.Label(network_frame)
network_label.pack()
En el siguiente paso, esas etiquetas se llenarán con información real-time del sistema.
Llenar las etiquetas con información en tiempo real
Agrega el siguiente código para actualizar las etiquetas con información real-time del sistema:
def update_labels():
cpu_percent = psutil.cpu_percent()
cpu_percent_label.config(text=f'CPU Usage: {cpu_percent}%')
ram_percent = psutil.virtual_memory().percent
ram_percent_label.config(text=f'RAM Usage: {ram_percent}%')
disk_percent = psutil.disk_usage('/').percent
disk_percent_label.config(text=f'Disk Usage: {disk_percent}%')
network_stats = psutil.net_io_counters()
network_label.config(text=f'Network Stats:\nBytes Sent: {network_stats.bytes_sent}\nBytes Received: {network_stats.bytes_recv}')
root.after(1000, update_labels)
update_labels()
La función update_labels() se llama cada segundo utilizando el método after(). El método after() toma dos parámetros: el tiempo en milisegundos y la función a llamar.
Ejecutar el proyecto
Para ejecutar el proyecto, agrega el siguiente código al final de tu archivo:
root.mainloop()
Finalmente, cambia a Escritorio y ejecuta el proyecto usando el siguiente comando:
python linux_system_monitor.py

Resumen
En este proyecto, aprendiste cómo crear un monitor de sistema Linux utilizando Python y la biblioteca Tkinter. El monitor de sistema muestra información en tiempo real sobre la CPU, la RAM, el uso de disco y las estadísticas de red. Siguiendo las instrucciones paso a paso y ejecutando el código, creaste con éxito un monitor de sistema funcional.



