Что может заменить мониторинг системы в верхней панели Gnome в Unity?

Установите пакет libgeos-dev Install libgeos-dev с вашим любимым менеджером пакетов (или центром программного обеспечения), и вы получите /usr/bin/geos-config.

Как я нашел это? Я использовал запрос geos-config для файлов на веб-странице http://packages.ubuntu.com/ . Это перечислит пакет, который вам нужен (, ссылка на запрос ). Используйте это в следующий раз, когда столкнетесь с подобными проблемами!

117
задан 26.10.2014, 03:48

10 ответов

Точно так же, как старый индикатор гномов: http://www.webupd8.org/2011/05/network-memory-and-cpu-usage-indicator.html#more

Примечание по ссылке: После установки запустите индикатор загрузки системы из Dash. В отличие от старых апплетов gnome, именно так можно добавить эти индикаторы на панель.

0
ответ дан 24.04.2019, 17:24
  • 1
    Примечание: мультизагрузка индикатора и другие являются теперь стандартными, Вам не нужен PPA. Поскольку учебные руководства видят: howtogeek.com/118908/… – Aaron Digulla 29.12.2014, 14:48

Вот быстрый и грязный системный монитор, который я взломал вместе с python: menubar

Он использует «Индикатор системного монитора» ( здесь ) для вызова сценарий, который я написал. Чтобы использовать его:

  1. установите indicator-sysmonitor. Для этого выполните следующую команду:

    sudo apt-add-repository ppa:alexeftimie/ppa && sudo apt-get update && sudo apt-get install indicator-sysmonitor
    
  2. скопируйте приведенный ниже скрипт в файл с именем sysmonitor

  3. сделайте скрипт исполняемым ( chmod +x path-to-file)

  4. нажмите на индикатор и выберите «Настройки». Example showing that

  5. выберите «использовать эту команду» и укажите путь к файлу системного монитора.

вот код:

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

РЕДАКТИРОВАТЬ: если вы хотите использовать память (как сообщает top), добавьте строки

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

Если у вас версия 2.0 psutil, то вы можете получить информацию об использовании памяти в соответствии с отчетом системного монитора GNOME со следующей строкой:

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

Если у вас мало места, и вы предпочитаете использовать единицы измерения для чистой скорости (b, k, M) вы также можете использовать это

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)
0
ответ дан 24.04.2019, 17:24
  • 1
    спасибо James для форматирования и недостающего шага (apt-add-repository). – ceejayoz 29.04.2011, 08:09
  • 2
    Вы могли сказать мне, как я мог получить % RAM вместо использования диска? – Kris Ivanov 04.05.2011, 06:13
  • 3
    @neo: сделайте функцию, которая анализирует "/proc/meminfo" во многом как тот, названный " getInOut () " (поля в meminfo сам explainatory). Тогда вызовите свою новую функцию с makeSample (). Если there' s требуют для этого I' ll пишут и отправляют код. – hidden 05.05.2011, 11:21
  • 4
    @neo: я добавил строки для использования памяти к сообщению. если использование мадам - все, что Вы хотите, я предлагаю, чтобы Вы удалили все другие строки из сценария так Python doesn' t должны проанализировать их. – deHaar 07.05.2011, 10:19
  • 5
    Я обнаружил то же самое и записал короткий сценарий Perl, который контролирует использование сети. – Quentin 28.09.2011, 20:59

Я нашел следующий вопрос и ответ, который решил проблему для меня. Он содержит список замен для старых апплетов, называемых индикаторами приложений. К сожалению, не все они доступны для natty, но по крайней мере у меня есть очень простой монитор загрузки системы (индикатор-системный монитор) и индикатор погоды (индикатор-погода).

enter image description here

Нажмите кнопку для установки:

Install via the software center

  • [111 ] Какие индикаторы доступны?
0
ответ дан 24.04.2019, 17:24

Моя точка зрения на проблему: https://gist.github.com/982939

Снимок экрана:

enter image description here

0
ответ дан 24.04.2019, 17:24

Кто-то работает над аппаратными датчиками для индикатора-апплета. См. Имеется ли аппаратный индикатор датчика температуры?

0
ответ дан 24.04.2019, 17:24

Вы можете загрузить и установить пакет программного обеспечения ( .deb ) с

https://launchpad.net/indicator-sysmonitor/+download здесь. После установки вы найдете его в Приложения> Аксессуары> Sysyem Monitor Indicator , и он будет выглядеть так в Unity; enter image description here

0
ответ дан 24.04.2019, 17:24

Вы можете установить порт индикатора системного монитора gnome с: https://launchpad.net/~indicator-multiload/+archive/stable-daily

0
ответ дан 24.04.2019, 17:24

Это не на верхней панели, но вы можете использовать Conky .

Я не использую Conky, но есть некоторые тонкие темы, и я думаю, что вы можете сделать это всегда на вершине. (Хотя я не знаю, какую часть экрана было бы хорошо покрыть ...)

0
ответ дан 24.04.2019, 17:24
  • 1
    +1 I' ve, с помощью Носатого для этого точно (как замена апплета системного монитора). It' s чрезвычайно настраивающийся, и it' s, вероятно, что потребуется некоторая работа для получения желаемого результата. Для некоторых красивых и интересных конфигураций, I' ve, с помощью одного предложенного на webupd8.org – Alessio Cantarella 15.04.2011, 17:27

Я думаю, что это будет ближе всего к этому моменту. Монитор процессора

0
ответ дан 24.04.2019, 17:24

Я попробовал несколько приложений и обнаружил, что приложение на KDE для меня лучший инструмент для мониторинга системы: ksysguard.

Он находится в стандартных репозиториях Ubuntu, так что вы просто устанавливаете его в Software Center.

См. Сравнение на этом скриншоте. How much processor Gnome System Monitor uses vs KDE System Monitor (ksysguard)

Как видите, ksysguard намного лучше.

0
ответ дан 24.04.2019, 17:24

Теги

Похожие вопросы