什么可以替代Unity顶级Gnome面板中的系统监控?

我习惯在顶级Gnome面板中进行系统监控:CPU,温度,净,风扇速度。 (见下面的截图)

Gnome 2面板的屏幕截图,显示了系统监视器小程序

在Unity中,顶部面板被锁定为窗口名称和全局菜单,因此我无法添加面板小程序。 所以我的问题是:

有没有办法在Unity中替换这种类型的系统监控(始终可见,占用空间不大)?

完全像旧gnome指标: http : //www.webupd8.org/2011/05/network-memory-and-cpu-usage-indicator.html#more

请注意链接: 安装完成后,从Dash启动System Load Indicator。 与旧的gnome applet不同,这是如何将这些指标添加到面板中。

我发现以下问题和答案解决了我的问题。 它包含一个名为应用程序指标的旧applet的替换列表。 不幸的是,并非所有这些都可用于natty,但至少我有一个非常基本的系统负载监视器(指示器 – 系统监视器)和天气指示器(指示器 – 天气)工作。

在此处输入图像描述

单击按钮进行安装:

通过软件中心安装

  • 有哪些应用指标?

这是一个快速而肮脏的系统监视器,我从python中一起攻击: 菜单栏

它使用“系统监视器指示器”( 此处 )来调用我编写的脚本。 要使用它:

  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. 单击指示器并选择“首选项”。 示例显示

  5. 选择“使用此命令”并为其指定sysmonitor文件的路径。

这是代码:

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

编辑:如果你想要内存使用(由“顶部”报告)添加行

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

如果你有psutil的2.0版本,那么你可以获得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) 

您可以从中下载并安装软件包( .deb

https://launchpad.net/indicator-sysmonitor/+download here。 安装完成后,您将在Applications> Accessories> Sysyem Monitor Indicator下找到它,它在Unity中将如下所示; 在此处输入图像描述

我对这个问题的看法是: https : //gist.github.com/982939

截图:

在此处输入图像描述

有人正在使用指示器小程序的硬件传感器。 请参阅是否有硬件温度传感器指示灯?

您可以从以下url安装gnome系统监视器指示器的端口: https : //launchpad.net/~indicator-multiload/+archive/stable-daily

它不在顶部面板中,但您可以使用Conky 。

我不使用Conky,但有一些苗条的主题,我认为你可以使它始终在顶部。 (虽然我不知道屏幕的哪个部分会很好覆盖……)

我认为现在这将是最接近它的事情。 CPU监视器

我尝试了一些应用程序,我发现KDE上的应用程序对我来说是最好的系统监视工具:ksysguard。

它位于Ubuntu标准存储库中,因此您只需将其安装在Software Center中即可。

请参阅此屏幕截图中的比较。 Gnome系统监视器使用多少处理器与KDE系统监视器(ksysguard)

如你所见,ksysguard好多了。