Unity'deki en üst Gnome Panel'de sistem izleme ne olabilir?

116

Üst Gnome Panelinde Sistem izlemeyi kullanıyorum: CPU, Sıcaklık, Net, Fan Hızı. (aşağıdaki ekran görüntüsüne bakın)

Birlikte, Üst Panel pencere adı ve genel menü için kilitlendi, bu yüzden panel uygulamaları ekleyemiyorum. Yani sorum şu:

Unity'de bu tür bir sistem izlemenin (her zaman görülebilir, fazla yer kaplamaması) yerini almanın bir yolu var mı?

    
sordu tobi 10.03.2011 07:38

10 cevap

56

Eski gnome göstergesi gibi: İşte

Bağlantıdan not alın: Yüklendikten sonra, Sistem Yük Göstergesi'ni Dash'tan başlatın. Eski gnome uygulamalarının aksine, bu göstergeler panele nasıl eklenir.

    
verilen cevap zarej 04.05.2011 00:02
44

Soruyu benim için çözen şu soruyu ve cevabı buldum. Uygulama göstergeleri olarak adlandırılan eski uygulamaların bir listesini içerir. Ne yazık ki hepsi henüz natty için mevcut değil, ama en azından çok basit bir sistem yükü monitörü (gösterge-sysmonitor) ve bir hava durumu göstergesi (gösterge-hava durumu) çalışıyor.

Yüklemek için düğmeye tıklayın:

verilen cevap Leo 18.04.2011 10:35
20

İşte pythondan bir araya getirdiğim hızlı ve kirli bir sistem izleyicisi:

Yazdığım komut dosyasını çağırmak için "Sistem Monitörü Göstergesi" ni ( burayı ) kullanır. Kullanmak için:

  1. indicator-sysmonitor dosyasını yükleyin. Bunu yapmak için aşağıdaki komutu çalıştırın:

    sudo apt-add-repository ppa:alexeftimie/ppa && sudo apt-get update && sudo apt-get install indicator-sysmonitor
    
  2. aşağıdaki kodu sysmonitor

    adlı bir dosyaya kopyalayın
  3. komut dosyasını çalıştırabilir ( chmod +x path-to-file )

  4. göstergeyi tıklayın ve "Tercihler" seçeneğini seçin.

  5. "bu komutu kullan" ı seçin ve sysmonitor dosyasının yolunu verin.

işte kod:

#!/usr/bin/python

import re
import sys
import time
import psutil





#Functions:_    __    __    __    __    __    __    __    __    __    __    __
#__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \_



#interface |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
net_re = re.compile(r"\s*\S+:\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+")

def getInOut():
  """
  Get a readout of bytes in and out from /proc/net/dev.
  """

  netfile = "/proc/net/dev"

  try: f = open(netfile)
  except:
    sys.stderr.write("ERROR: can't open "+netfile+".\n")
    sys.exit(2)

  f.readline()    #Burn the top header line.
  f.readline()    #Burn the second header line.

  inb = 0
  outb = 0
  for line in f:
    m = net_re.match(line)
    inb += int(m.group(1))
    outb += int(m.group(2))
  f.close()

  return (inb,outb)



def sampleNet():
  """
  Get a sample of I/O from the network interfaces.
  """
  return makeSample(getInOut)


def makeSample(function):
  inlist = list()
  outlist = list()

  (inbytes, outbytes) = function()
  inlist.append(inbytes)
  outlist.append(outbytes)
  time.sleep(1)

  (inbytes, outbytes) = function()
  inlist.append(inbytes)
  outlist.append(outbytes)

  return (inlist[1] - inlist[0], outlist[1] - outlist[0])



def diskstatWrapper():
  """
  Wrapper for the diskstats_parse function that returns just the in and out.
  """
  ds = diskstats_parse("sda")
  return (ds["sda"]["writes"], ds["sda"]["reads"])



def sampleDisk():
  """
  Get a sample of I/O from the disk.
  """
  return makeSample(diskstatWrapper)





def diskstats_parse(dev=None):
    """
    I found this on stackoverflow.
    (http://stackoverflow.com/questions/3329165/python-library-for-monitoring-proc-diskstats)
    """
    file_path = '/proc/diskstats'
    result = {}

    # ref: http://lxr.osuosl.org/source/Documentation/iostats.txt
    columns_disk = ['m', 'mm', 'dev', 'reads', 'rd_mrg', 'rd_sectors',
                    'ms_reading', 'writes', 'wr_mrg', 'wr_sectors',
                    'ms_writing', 'cur_ios', 'ms_doing_io', 'ms_weighted']

    columns_partition = ['m', 'mm', 'dev', 'reads', 'rd_sectors', 'writes', 'wr_sectors']

    lines = open(file_path, 'r').readlines()
    for line in lines:
        if line == '': continue
        split = line.split()
        if len(split) != len(columns_disk) and len(split) != len(columns_partition):
            # No match
            continue

        data = dict(zip(columns_disk, split))
        if dev != None and dev != data['dev']:
            continue
        for key in data:
            if key != 'dev':
                data[key] = int(data[key])
        result[data['dev']] = data

    return result





#MAIN:    __    __    __    __    __    __    __    __    __    __    __    __
#__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \_




(indiff, outdiff) = sampleNet()
outstr = ""
outstr += "cpu: "+str(int(psutil.cpu_percent()))+"%\t"
outstr += "net: "+str(indiff/1000)+"|"+str(outdiff/1000)+" K/s\t"

(diskin, diskout) = sampleDisk()
outstr += "disk: "
if(diskin):
  outstr += "+"
else:
  outstr += "o"
outstr += "|"
if(diskout):
  outstr += "+"
else:
  outstr += "o"

print outstr

DÜZENLEME: Eğer bellek kullanımını istiyorsanız ("üst" raporunda olduğu gibi) satırları ekleyin

memperc = int(100*float(psutil.used_phymem())/float(psutil.TOTAL_PHYMEM))
outstr += "mem: "+str(memperc)+"%\t"

Eğer psutil'in 2.0 sürümü varsa, GNOME Sistem Monitörü tarafından bildirilen bellek kullanımını aşağıdaki satırı kullanarak alabilirsiniz:

memperc = int(100*float(psutil.used_phymem()-psutil.cached_phymem())/float(psutil.TOTAL_PHYMEM))

Çok az alanınız varsa ve net hız için ünitelere sahip olmayı tercih ederseniz (b, k, M) bunu da kullanabilirsiniz.

def withUnit(v):
    if v<1024:
      return "%03d" % v+"b";
    if v<1024**2:
      s= ("%f" % (float(v)/1024))[:3];
      if s[-1]=='.':
         s=s[:-1]
      return s +"k";

    return ("%f" % (float(v)/(1024**2)))[:3] +"M";


(indiff, outdiff) = sampleNet()
outstr = ""
outstr += "c"+ "%02d" % int(psutil.cpu_percent())+" "
outstr += "m"+ "%02d" % int((100*float(psutil.used_phymem())/float(psutil.TOTAL_PHYMEM)))+" "

outstr += "d"+withUnit(indiff)+" u"+withUnit(outdiff)
    
verilen cevap krumpelstiltskin 28.04.2011 02:30
13

Bir yazılım paketini ( .deb )

yükleyebilir ve yükleyebilirsiniz.

Burada İşte . Yüklendikten sonra Uygulamalar & gt; Aksesuarlar & gt; Sysyem Monitor Indicator ve Unity'de böyle görünecek;

    
verilen cevap scouser73 15.04.2011 22:50
5

Sorunu üstlenmem: İşte

Ekran Görüntüsü:

    
verilen cevap nortalf 20.05.2011 16:26
4

Gösterge-applet için donanım sensörleri üzerinde çalışan biri var. Bkz. Donanım sıcaklık sensörü göstergesi var mı?

    
verilen cevap Christoph 16.04.2011 21:41
4

Gnome sistem monitörü göstergesinin bir portunu aşağıdakilerden yükleyebilirsiniz: İşte

    
verilen cevap Bart Vermeulen 09.05.2011 22:00
3

Üst panelde değil, Conky 'i kullanabilirsiniz.

Conky'yi kullanmıyorum, ama orada bazı ince temalar var ve bence her zaman en üstte yapabilirsiniz. (Her ne kadar ekranın hangi bölümünün örtbas edilmesinin iyi olacağını bilmeme rağmen ...)

    
verilen cevap idbrii 05.04.2011 20:51
2

Bunun şimdilik bunun için en yakın şey olacağını düşünüyorum. Cpu monitörü

    
verilen cevap DexterP17 10.03.2011 16:59
-1

Birkaç uygulamayı denedim ve KDE'deki birimin benim için en iyi sistem izleme aracı olduğunu buldum: ksysguard.

Ubuntu standart havuzlarında, bu yüzden bunu sadece Yazılım Merkezi'nde kuruyorsunuz.

Bu ekran görüntüsündeki karşılaştırmaya bakın.

Gördüğünüz gibi, ksysguard çok daha iyi.

    
verilen cevap conualfy 24.02.2013 08:13

Etiketlerdeki diğer soruları oku