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

Я привык иметь системный мониторинг в верхней панели Gnome: CPU, Temperature, Net, Fan-Speed. (см. скриншот ниже)

screenshot of Gnome 2 panel showing the system monitor applets

В Unity верхняя панель заблокирована для имени окна и глобального меню, поэтому я не могу добавлять апплеты панели. Итак, мой вопрос:

Есть ли способ заменить этот вид системного мониторинга (всегда видимый, занимающий мало места) в Unity?

118
задан 25 October 2014 в 18:48

10 ответов

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

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

57
ответ дан 25 October 2014 в 18:48

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

enter image description here

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

Install via the software center

44
ответ дан 25 October 2014 в 18:48

Моя версия проблемы: https://gist.github.com/982939

Скриншот:

enter image description here

5
ответ дан 25 October 2014 в 18:48

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

menubar

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

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

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

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

  4. щелкните на индикаторе и выберите "Preferences".

    Example showing that

  5. выберите "use this command" и укажите ему путь к файлу sysmonitor.

    Вот код:

    #!/usr/bin/python
    
    импорт ре
    импортные системы
    время импорта
    импортный мешок
    
    #Functions:_ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ___
    #__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \_
    
    #интерфейс |bytes пакеты сбрасываются в сжатом виде multicast|bytes пакеты сбрасываются в сжатом виде в виде колонн носителя
    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():
     """
     Получить считывание байт в /proc/net/dev и из /proc/net/dev.
     """
    
     netfile = "/proc/net/dev".
    
     try: f = open(netfile)
     за исключением того:
     sys.stderr.write("ERROR: не может открыть "+нет-файл+".\n")).
     системный выход(2)
    
     f.readline() #Сожгите строку верхнего заголовка.
     f.readline() #Сожгите вторую строку заголовка.
    
     inb = 0
     аутб = 0
     для очереди на f:
     m = net_re.match(line)
     inb += int(m.group(1))
     outb += int(m.group(2))
     f.close()
    
     вернуться (вход, выход)
    
    Def sampleNet():
     """
     Получите образец входов/выходов от сетевых интерфейсов.
     """
     вернуть makeSample(getInOut)
    
    def makeSample(function):
     inlist = list()
     outlist = list()
    
     (инбайты, аутбайты) = function()
     inlist.append(inbytes)
     outlist.append(outbytes)
     время.сна(1)
    
     (инбайты, аутбайты) = function()
     inlist.append(inbytes)
     outlist.append(outbytes)
    
     return (inlist[1] - inlist[0], outlist[1] - outlist[0])
    
    def diskstatWrapper():
     """
     Обертка для функции diskstats_parse, которая возвращает только вход и выход.
     """
     ds = diskstats_parse("sda")
     возвращать (ds["sda"]["пишет"], ds["sda"]["читает"]])
    
    def sampleDisk():
     """
     Получите образец входов/выходов с диска.
     """
     вернуть makeSample(diskstatWrapper)
    
    def diskstats_parse(dev=None):
     """
     Я нашел это на переполнении стека.
     (http://stackoverflow.com/questions/3329165/python-library-for-monitoring-proc-diskstats)
     """
     file_path = '/proc/diskstats'.
     результат = {}
    
     # 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()
     для очереди в очереди:
     if line == '': continue
     split = line.split()
     если len(split) != len(columns_disk) и len(split) != len(columns_partition):
     # совпадений нет
     продолжить работу по адресу
    
     data = dict(zip(columns_disk, split)))
     если Дэв!= Нет и Дэв!= data['dev']:
     продолжить
     за ключом к данным:
     if key != 'dev':
     data[key] = int(data[key]))
     result[data['dev']] = данные
    
     результат возврата
    
    #MAIN: __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ___
    #__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \_
    
    (indiff, outdiff) = sampleNet()
    превышение = ""
    outstr += "cpu: "+str(int(psutil.cpu_percent()))+"%\t".
    outstr += "net": "+str(indiff/1000)+"|"+str(outdiff/1000)+" K/s\t"
    
    (дискин, дискаут) = sampleDisk()
    outstr +="диск: "
    если (дискин):
     превышение += "+"
    Иначе:
     превышение +="о"
    outstr += "|"
    if(дискаут):
     превышение += "+"
    Иначе:
     превышение +="о"
    
    превышение печати
    

EDIT: если Вы хотите использовать память (как отчет "сверху"), добавьте строки

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

, если у Вас есть версия 2. 0 из psutil, то вы можете получить информацию об использовании памяти, как сообщает GNOME System Monitor со следующей строкой:

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)
20
ответ дан 25 October 2014 в 18:48

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

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

13
ответ дан 25 October 2014 в 18:48

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

4
ответ дан 25 October 2014 в 18:48

Можно установить порт индикатора монитора системы гномов: https://launchpad.net/~индикатор-мультизагрузка/+архив/стабилизация-дневно

4
ответ дан 25 October 2014 в 18:48

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

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

3
ответ дан 25 October 2014 в 18:48

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

2
ответ дан 25 October 2014 в 18:48

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

Он находится в стандартных репозиториях Ubuntu, так что вы просто установите его в Центре программного обеспечения.

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

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

-1
ответ дан 25 October 2014 в 18:48

Другие вопросы по тегам:

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