Einführung
In diesem Projekt lernst du, wie du mithilfe von Python und der Tkinter-Bibliothek einen Linux-Systemmonitor erstellen kannst. Der Systemmonitor wird Echtzeitinformationen über die CPU, den Arbeitsspeicher, die Festplattennutzung und die Netzwerkstatistiken anzeigen.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du mithilfe von Tkinter eine grafische Benutzeroberfläche (GUI) erstellst.
- Wie du die
psutil-Bibliothek verwendest, um Echtzeitsysteminformationen zu erhalten. - Wie du die CPU-Nutzung, die Arbeitsspeichernutzung, die Festplattennutzung und die Netzwerkstatistiken anzeigst.
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- In Python eine GUI mit Tkinter zu erstellen.
- Die
psutil-Bibliothek zur Erlangung von Systeminformationen zu verwenden. - Etiketten mit Echtzeitdaten zu aktualisieren.
- Informationen mit Hilfe von Frames und Notebook-Widgets zu organisieren.
Erstelle die Projekt-Dateien
Erstelle eine Datei namens linux_system_monitor.py und öffne sie in deinem Texteditor.
cd ~/project
touch linux_system_monitor.py
Erstelle die Benutzeroberfläche (GUI)
Füge folgenden Code hinzu, um die grafische Benutzeroberfläche (GUI) für den Systemmonitor zu erstellen:
import tkinter as tk
from tkinter import ttk
import psutil
root = tk.Tk()
root.title('Linux System Monitor')
Installiere die psutil-Bibliothek mit folgendem Befehl:
sudo pip install psutil
Erstelle das Notebook-Widget, um die Informationen in Kategorien zu trennen
Füge folgenden Code hinzu, um ein Notebook-Widget zu erstellen, das es uns ermöglicht, verschiedene Kategorien von Systeminformationen zu trennen:
notebook = ttk.Notebook(root)
notebook.pack()
Wir werden im nächsten Schritt Frames zum Notebook hinzufügen.
Erstelle Rahmen
Füge folgenden Code hinzu, um Frames für jede Kategorie von Systeminformationen zu erstellen:
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)
Im obigen Code erstellen wir vier Frames, eines für jede Kategorie von Systeminformationen. Der padding-Parameter fügt einen 10-Pixel-Padding um jedes Frame hinzu.
Füge Rahmen zum Notebook hinzu
Füge folgenden Code hinzu, um die Frames zum Notebook hinzuzufügen:
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')
Wir fügen die Frames zum Notebook hinzu, indem wir die add()-Methode verwenden. Der text-Parameter gibt den Text an, der auf dem Tab für jedes Frame angezeigt werden soll.
Erstelle Beschriftungen für die Rahmen
Füge folgenden Code hinzu, um Beschriftungen für jedes Frame zu erstellen:
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()
In einem nächsten Schritt werden diese Beschriftungen mit aktuellen Systeminformationen gefüllt.
Fülle die Beschriftungen mit Echtzeitinformationen
Füge folgenden Code hinzu, um die Beschriftungen mit aktuellen Systeminformationen zu aktualisieren:
def update_labels():
cpu_percent = psutil.cpu_percent()
cpu_percent_label.config(text=f'CPU-Auslastung: {cpu_percent}%')
ram_percent = psutil.virtual_memory().percent
ram_percent_label.config(text=f'RAM-Auslastung: {ram_percent}%')
disk_percent = psutil.disk_usage('/').percent
disk_percent_label.config(text=f'Speicherplatz-Auslastung: {disk_percent}%')
network_stats = psutil.net_io_counters()
network_label.config(text=f'Netzwerkstatistiken:\nGesendete Bytes: {network_stats.bytes_sent}\nEmpfangene Bytes: {network_stats.bytes_recv}')
root.after(1000, update_labels)
update_labels()
Die Funktion update_labels() wird alle Sekunde mithilfe der after()-Methode aufgerufen. Die after()-Methode nimmt zwei Parameter: die Zeit in Millisekunden und die aufzurufende Funktion.
Führe das Projekt aus
Um das Projekt auszuführen, füge folgenden Code am Ende Ihrer Datei hinzu:
root.mainloop()
Schließlich wechsel zu Ihrem Desktop und führe das Projekt mit dem folgenden Befehl aus:
python linux_system_monitor.py

Zusammenfassung
In diesem Projekt haben Sie gelernt, wie Sie mithilfe von Python und der Tkinter-Bibliothek einen Linux-Systemmonitor erstellen. Der Systemmonitor zeigt Echtzeitinformationen über die CPU, den Arbeitsspeicher, die Festplattennutzung und die Netzwerkstatistiken an. Indem Sie den Schritt-für-Schritt-Anweisungen folgen und den Code ausführen, haben Sie erfolgreich einen funktionierenden Systemmonitor erstellt.



