Sistem sıcaklığı

Merhabalar,
Bir önceki sürümde, üst panelde sistemi gösteren bazı özellikler yer alıyordu. Örneğin bellek kullanımı, sistem sıcaklığı vs. verileri yüzdesel olarak gösteriyordu.
Bu uygulamayı bilenler varsa veya önerebileceğiniz başka tür bir uygulama varsa paylaşırsa sevinirim. Zira bilgisayarımda arka planda çalışan uygulamaların belleği, fanı ısıtması gibi özellikleri yüzdesel olarak o uygulamada görebiliyor, ona göre aksiyon alıyordum.
Şimdiden teşekkürler… Herkese iyi bir yıl dilerim…

1 Beğeni

sen bu konuyu açınca aklıma uygulama yazmak geldi yapay zeka ile :slight_smile: Şu hali ile benim işimi görücek bir şey oldu .

Not : Uzun süre test edilmedi . Hataları eksiklikleri olabilir . Her bilgisayarda çalışırmı bilmiyorum . Test edilmedi . Sadece kendi cahazımda denedim .

Uygulamanın çalışması için gerekli bağımlılıklar : sudo apt install python3-pyqt5 python3-psutil lm-sensors

masaüstüne yeni bir metin belgesi aç .Adını istediğin gibi koy uzantısı .py olsun . Örnek deneme.py içine alttaki kodları yapıştır .

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import os
import psutil

# DİKKAT: Bu ayar, Wayland'in sürükleme kısıtlamalarını aşmak için
# uygulamayı X11 uyumluluk modunda (XWayland) çalışmaya zorlar.
os.environ["QT_QPA_PLATFORM"] = "xcb"

from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QLabel, 
                             QSystemTrayIcon, QMenu, QAction, QStyle)
from PyQt5.QtCore import QTimer, Qt, QPoint

class AkilliMonitor(QWidget):
    def __init__(self):
        super().__init__()
        self.oldPos = QPoint()
        self.initUI()
        self.sistem_tepsisi_olustur()
        
    def initUI(self):
        # Pencereyi çerçevesiz, her zaman üstte ve araç penceresi yap
        self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.Tool)
        self.setAttribute(Qt.WA_TranslucentBackground)
        
        layout = QHBoxLayout()
        layout.setContentsMargins(10, 5, 10, 5)
        layout.setSpacing(10)

        # Görsel stil
        self.stil = """
            color: #00FF41; 
            font-family: 'Monospace', 'Courier New'; 
            font-weight: bold; 
            font-size: 13px; 
            background-color: rgba(15, 15, 15, 230); 
            padding: 5px 12px; 
            border: 1px solid #0055ff; 
            border-radius: 5px;
        """

        self.lbl_cpu = QLabel()
        self.lbl_ram = QLabel()
        self.lbl_gpu = QLabel()
        self.lbl_disk = QLabel()
        self.lbl_mb = QLabel()

        for lbl in [self.lbl_cpu, self.lbl_ram, self.lbl_gpu, self.lbl_disk, self.lbl_mb]:
            lbl.setStyleSheet(self.stil)
            layout.addWidget(lbl)
            
        self.setLayout(layout)
        
        # Veri güncelleme periyodu (2 saniye)
        self.timer = QTimer()
        self.timer.timeout.connect(self.verileri_guncelle)
        self.timer.start(2000)
        
        self.verileri_guncelle()
        self.show()

    def sistem_tepsisi_olustur(self):
        self.tray_icon = QSystemTrayIcon(self)
        # Varsayılan bilgisayar ikonu kullan
        self.tray_icon.setIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))
        
        # Sağ tık menüsü
        menu = QMenu()
        goster = menu.addAction("Göster")
        gizle = menu.addAction("Gizle")
        menu.addSeparator()
        kapat = menu.addAction("Kapat")
        
        goster.triggered.connect(self.show)
        gizle.triggered.connect(self.hide)
        kapat.triggered.connect(QApplication.instance().quit)
        
        self.tray_icon.setContextMenu(menu)
        self.tray_icon.show()
        
        # İkona sol tıklandığında göster/gizle
        self.tray_icon.activated.connect(self.ikon_tiklandi)

    def ikon_tiklandi(self, reason):
        if reason == QSystemTrayIcon.Trigger:
            if self.isVisible():
                self.hide()
            else:
                self.show()
                self.raise_()

    # Sürükleme Mekanizması (XWayland sayesinde aktif)
    def mousePressEvent(self, event):
        if event.button() == Qt.LeftButton:
            self.oldPos = event.globalPos()

    def mouseMoveEvent(self, event):
        if event.buttons() == Qt.LeftButton:
            delta = QPoint(event.globalPos() - self.oldPos)
            self.move(self.x() + delta.x(), self.y() + delta.y())
            self.oldPos = event.globalPos()

    def get_all_temps(self):
        try:
            temps = psutil.sensors_temperatures()
            data = {"cpu": "N/A", "gpu": "N/A", "disk": "N/A", "mb": "N/A"}
            for name, entries in temps.items():
                if not entries: continue
                n = name.lower()
                v = f"{int(entries[0].current)}°C"
                if any(x in n for x in ['core', 'cpu', 'k10', 'zen']): data["cpu"] = v
                elif any(x in n for x in ['gpu', 'nvidia', 'radeon', 'amdgpu']): data["gpu"] = v
                elif any(x in n for x in ['nvme', 'drive', 'sd']): data["disk"] = v
                elif any(x in n for x in ['acpi', 'pch', 'it8', 'mb']): data["mb"] = v
            return data
        except:
            return {"cpu": "N/A", "gpu": "N/A", "disk": "N/A", "mb": "N/A"}

    def verileri_guncelle(self):
        cpu = psutil.cpu_percent()
        ram = psutil.virtual_memory().percent
        t = self.get_all_temps()

        self.lbl_cpu.setText(f"İşlemci: %{cpu} [{t['cpu']}]")
        self.lbl_ram.setText(f"Bellek: %{ram}")
        
        # Dinamik gösterim (GPU, Disk, Anakart varsa göster)
        labels = [('gpu', self.lbl_gpu, "Ekran Kartı:"), ('disk', self.lbl_disk, "Disk:"), ('mb', self.lbl_mb, "Anakart:")]
        for key, lbl, prefix in labels:
            if t[key] != "N/A":
                lbl.setText(f"{prefix} {t[key]}")
                lbl.show()
            else:
                lbl.hide()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    # Son pencere kapansa bile uygulamanın (tray'de) çalışmaya devam etmesini sağla
    app.setQuitOnLastWindowClosed(False)
    ex = AkilliMonitor()
    sys.exit(app.exec_())

çalıştırmak için terminal aç
cd Masaüstü enter
python3 deneme.py enter

Ekranın istediğin yere taşıyabilirsin .

Kendi bilgisayarımda ekran görüntüsü . Sağ alt köşeye aldım .

Disk sıcaklığını göstermezse . sudo modprobe drivetemp terminale yazın . Çalışırsa hoşuna giderse Dep paketi yaparım . Sistemine kurulum yaparsın . Kurulumsuzda bu şekilde çalıştırabilirsin .

1 Beğeni

Merhaba, dediklerinizi tam yapıyordum kaldırdınız.

Mission Center adlı güzel bir uygulama var. sudo apt install mission-center komutu ile kurulabilir.

1 Beğeni

Tekrar ekledim . Uygulamanın düzgün çalışması için gereken bağımlılıkları da ekledim konuya . Deneyebilirsin .

1 Beğeni

Deb paketi yaparsanız ve panelde de aktif olarak görebilirsem ne ala.

1 Beğeni

Dediklerinizi yaptım da her seferinde mi bunu yapmam gerekecek? Sabit olarak panelde duramaz mı?

Uygulamayı kurup kısayolu panele yerleştirebilirsin . Uygulama Pardus Gnome 25 wayland (GNOME) ve x11 (xorg üzerinden Gnome) ortamında denenmiştir . Sorunsuz kullanım mevcut . Sanırım sizin istediğiniz Panel üzerinde gözüksün. Uzantı olarak yapılması lazım onun pytthon pyqt5 ile olmaz . O ayrı bir iş sanırım .

Not : Uygulamadan çıkış yaparken GUI üzerine gelip sağ tıkla diyip Çıkış bütonuna basınız . Simge üzerine gelip penceryi kapat dediğinizde sorunsuz çıkış yapacak şekilde düzenlendi. Uygulama taşıdığınız yerin hatırlanması için düzenleme yapıldı . Dep Paketi güncellendi .

2 Beğeni

Hocam minik bir dokunuş yaptım.
resim

1 Beğeni

Bat batarya oluyor sanırım . Leptop olanlar için iyi bence .Birde ingilizce ifadeler kullanılmış . Birde Çarpı işareti eklenmiş . Pencereler genişletilmiş . Yazı stili değiştirilmiş . Farkettiğim bunlar :slight_smile:
Çok uğraştım kod bilgisi olmayınca .Uygulama çalışıyor sorun yok . Çalışınca sorun yok diyorsun fakat öyle değilmiş :slight_smile: Dep paketi yapınca koddaki hatalar çıktığını anladım . Terminalden aç , kapat sorun yok . Ama dep yapınca Uygulama ilk açılışta ve kapanışta uygulama simgesinin üzerinde yuvarlak birşey dönüp duruyordu . Uygulama kapanınca hemen açılmıyordu . Akşam ettirdi yani anlıyacağın :slight_smile: .

self.setWindowFlags(
    Qt.FramelessWindowHint |
    Qt.WindowStaysOnTopHint |
    Qt.Tool
)

 Qt.Tool

Sorun bu tek satırlık koddaymış . Çıkardım bu kodu düzeldi. Arkadaşın istediği sanırım uzantı şeklinde Panelde gözükücek. Onu yaparsan güzel olur aslında . Dün denedim ben çalıştı fakat kalbim mutmain olmadı ölçümdeki doğruluğu konusunda .

İngilizce ifade yerine Türkçe yaptığım zaman uygulama boyutu uzuyor. Hani dedim kibar bişi olsun.

1 Beğeni

Ekran kartı ve disk yok benimkinde.

Çok ama çok teşekkür ederim. Süper oldu. Emeğinize, aklınıza sağlık…

Bu resmi de istiyorum :slight_smile:

Resim bu .

Disk sıcaklığın görünmüyorsa bu kodlar sırayla terminela yazıp enter la . Disk sıcaklığın kalıcı olarak görünür olur . Ekran kartına bişi yapamam sanırım .

echo "drivetemp" | sudo tee /etc/modules-load.d/drivetemp.conf 
 lsmod | grep drivetemp  
 sudo modprobe drivetemp    

Benim verdiğim linktekini mi indirdin yoksa arkadaşın verdiğimmi . Benim verdiğim linktekini dene . Olmazsa birde arkadaşın verdiğini dene . Düzeltip deneme imkanı çok zor çünkü .

Birde Şuan Pardus Mağazasından kaldırılan system-monitoring-center uygulamasını indirip kurabilirsin .

İstersen Synaptic Paket yöneticisini açıp arama kısımına system-monitoring-center yazıp çıkan uygulamayı kurup oradada sıcaklık değerlerini görebilirsin .

1 Beğeni



1 Beğeni

Sistem Asistanı her sorununuzu çözer. Deneyin bence.

1 Beğeni

Terminale kopyala yapıştır yaptım, disk sıcaklığı geldi lakin ekran kartı sıcaklığı gelmedi. Olsun, bu kadarı da yeter, gayet yeterli. Ayrıca istediğim duvar kağıdını da paylaşmışsınız. Hepsi için çok teşekkür ederim, iyi ki varsınız. Pardus kullanmak bu kadar güzel işte!..

1 Beğeni

Aradığın burada…

https://extensions.gnome.org/extension/1460/vitals/

1 Beğeni

Uygulama güzel fakat geliştirilebilir . Sıcaklık değerlerini Görev yöneticine atınca hepsinin sembolü aynı . İşlemcimi , Ekran kartımı , Ana kartmı Ayrı Ayrı uygun semboller eklense güzel olur sanki . Bu şekilde iyi .

Ekran Görüntüsü 2026-01-09 23-51-20