Qu'est-ce qui peut remplacer la surveillance du système dans le panneau supérieur de Gnome de Unity?

117

J'ai l'habitude de surveiller le système dans le panneau supérieur de Gnome: CPU, température, réseau, vitesse du ventilateur. (voir capture d'écran ci-dessous)

Dans Unity, le panneau supérieur est verrouillé pour le nom de la fenêtre et le menu global. Par conséquent, je ne peux pas ajouter d'applets de panneau. Donc ma question est:

Existe-t-il un moyen de remplacer ce type de surveillance système (toujours visible, ne prenant pas beaucoup de place) dans Unity?

    
posée tobi 10.03.2011 - 07:38
la source

10 réponses

56

Exactement comme l'ancien indicateur de gnome: link

Note sur le lien: Une fois installé, lancez l'indicateur de charge système depuis Dash. Contrairement aux anciennes applets gnome, voici comment ajouter ces indicateurs au panneau.

    
réponse donnée zarej 04.05.2011 - 00:02
la source
44

J'ai trouvé la question suivante et la réponse qui ont résolu le problème pour moi. Il contient une liste de remplacements d'anciennes applets appelés indicateurs d'application. Malheureusement, tous ne sont pas encore disponibles pour natty, mais au moins, j’ai un moniteur de base de la charge du système (indicateur-sysmonitor) et un indicateur météo (indicateur-météo) fonctionnant.

Cliquezsurleboutonpourinstaller:

  • Quels indicateurs d'application sont disponibles?
réponse donnée Leo 18.04.2011 - 10:35
la source
20

Voici un moniteur système rapide et sale que j'ai piraté en python:

Ilutilise"l'indicateur de surveillance du système" ( ici ) pour appeler le script que j'ai écrit. Pour l'utiliser:

  1. installer indicator-sysmonitor . Pour ce faire, exécutez la commande suivante:

    sudo apt-add-repository ppa:alexeftimie/ppa && sudo apt-get update && sudo apt-get install indicator-sysmonitor
    
  2. copiez le script ci-dessous dans un fichier appelé sysmonitor

  3. rendre le script exécutable ( chmod +x path-to-file )

  4. cliquez sur l'indicateur et choisissez "Préférences".

  5. choisissez"utiliser cette commande" et donnez-lui le chemin du fichier sysmonitor.

voici le code:

#!/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

EDIT: si vous voulez utiliser la mémoire (comme indiqué par "en haut"), ajoutez les lignes

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

Si vous avez la version 2.0 de psutil, vous pouvez obtenir l'utilisation de la mémoire telle que rapportée par le Moniteur système GNOME à l'aide de la ligne suivante:

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

Si vous avez peu d’espace et que vous préférez avoir des unités pour la vitesse nette (b, k, M), vous pouvez aussi l’utiliser également

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)
    
réponse donnée krumpelstiltskin 28.04.2011 - 02:30
la source
13

Vous pouvez télécharger et installer un package logiciel ( .deb ) à partir de

.

lien ici. Une fois installé, vous le trouverez sous Applications > Accessoires > Sysyem Monitor Indicator et cela ressemblera à ceci dans Unity;

    
réponse donnée scouser73 15.04.2011 - 22:50
la source
5

Mon point de vue sur le problème: lien

Capture d'écran:

    
réponse donnée nortalf 20.05.2011 - 16:26
la source
4

Quelqu'un travaille sur des capteurs matériels pour un indicateur-applet. Voir Existe-t-il un indicateur de capteur de température matériel?

    
réponse donnée Christoph 16.04.2011 - 21:41
la source
4

Vous pouvez installer un indicateur de port du moniteur de système gnome à partir de: lien

    
réponse donnée Bart Vermeulen 09.05.2011 - 22:00
la source
3

Cela ne figure pas dans le panneau du haut, mais vous pouvez utiliser Conky .

Je n’utilise pas Conky, mais il existe quelques thèmes minces et je pense que vous pouvez le faire toujours au-dessus. (Bien que je ne sache pas quelle partie de l'écran il serait bon de couvrir ...)

    
réponse donnée idbrii 05.04.2011 - 20:51
la source
2

Je pense que ce sera la chose la plus proche pour le moment. Moniteur de processeur

    
réponse donnée DexterP17 10.03.2011 - 16:59
la source
-1

J'ai essayé quelques applications et j'ai découvert que celle sur KDE était pour moi le meilleur outil de surveillance du système: ksysguard.

Il se trouve dans les référentiels standard Ubuntu, il vous suffit donc de l'installer dans le Centre logiciel.

Voir la comparaison dans cette capture d'écran.

Comme vous pouvez le constater, ksysguard est bien meilleur.

    
réponse donnée conualfy 24.02.2013 - 08:13
la source

Lire d'autres questions sur les étiquettes