forbidden icon in Ubuntu 13.10

Bug #1241474 reported by Miguel Méndez
94
This bug affects 19 people
Affects Status Importance Assigned to Milestone
Indicator Sysmonitor
Fix Released
Undecided
fossfreedom

Bug Description

The applet shows a forbidden icon at the left of my CPU and Memory indicators in my Ubuntu 13.10. It worked perfectly before the upgrade, in Ubuntu 13.04 (see attached screenshot).

The bug is different from #789926 https://bugs.launchpad.net/indicator-sysmonitor/+bug/789926 , in the sense that it does show my chosen hardware information, only that it appears as well a forbidden icon at left.

In fact it is the same problem that intronauta reports: https://bugs.launchpad.net/indicator-sysmonitor/+bug/789926/comments/11 , which I think should have been reported as a new bug.

If I start it from the terminal:

$ indicator-sysmonitor
/usr/bin/indicator-sysmonitor:761: Warning: /build/buildd/glib2.0-2.38.0/./gobject/gsignal.c:2475: signal 'child-added' is invalid for instance '0x22700e0' of type 'GtkMenu'
  self.ind.set_menu(menu)
INFO:root:Menu shown
INFO:root:Fetcher started

$ uname -a
Linux miguel-vaio 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Tags: forbidden icon
Revision history for this message
Miguel Méndez (mendez8) wrote :
Revision history for this message
Timo Palomaa (timppis) wrote :

Same here. There is package for Saucy (manually installing Raring deb works though) though, so is this something that is actually not even supposed to work correctly? Clearly something related to the indicators has changed somewhere.

Revision history for this message
Timo Palomaa (timppis) wrote :

#2: Gah, correction: *there is _no_

Revision history for this message
snake561 (snake561) wrote :

same problem here.

Revision history for this message
dannet (ventasdannet) wrote :

You can fix it editing the file /usr/bin/indicator-sysmonitor in the line #724. Replace:

        self.ind = appindicator.Indicator("indicator-sysmonitor",
          "sysmonitor",
            appindicator.CATEGORY_SYSTEM_SERVICES)

with:

        self.ind = appindicator.Indicator("indicator-sysmonitor",
          "gnome-system-monitor",
            appindicator.CATEGORY_SYSTEM_SERVICES)

Now it will show the gnome-system-monitor default Icon.

Revision history for this message
snake561 (snake561) wrote :

thanks for that. Its much better now, not the same as before 13.10, but i kind of like it.

Revision history for this message
Timo Palomaa (timppis) wrote :

Improving that workaround: above attachment is a 1 px wide empty .svg icon. Place it somewhere in your home folder, and put its path in place if "gnome-system-monitor".

Apparently it is not possible to not have an icon? (http://askubuntu.com/questions/225691/write-application-indicator-with-no-icon).

Revision history for this message
Miguel Méndez (mendez8) wrote :

Thanks dannet and Timo! Nice workaround!

dannet (ventasdannet)
information type: Public → Public Security
dannet (ventasdannet)
information type: Public Security → Public
Revision history for this message
Alexandros Aristotelous (alexandrakkos) wrote :

well the fix is not working for me though, that's what i get in the terminal:

$ indicator-sysmonitor
  File "/usr/bin/indicator-sysmonitor", line 726
    self.ind.set_status(appindicator.STATUS_ACTIVE)
    ^
IndentationError: unexpected indent

$ uname -a
Linux peppos 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

i tried everything that u said but its still not working. while trying to run from the terminal i get an IndetationError and i think it has something to do with that

Revision history for this message
Miguel Méndez (mendez8) wrote :

Check that the indentation on every line is right, particularly on your line 726. Python uses indentation to determine the blocks of code.

Revision history for this message
Alexandros Aristotelous (alexandrakkos) wrote :

well it looks right to me, thats a copy of it:

self.ind = appindicator.Indicator("indicator-sysmonitor",
          "gnome-system-monitor",
            appindicator.CATEGORY_SYSTEM_SERVICES)
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.ind.set_label("Init...")

should i copy the whole code?

Revision history for this message
Miguel Méndez (mendez8) wrote :

Those three lines starting by "self.ind" should have the same indentation. See my screenshot.

Revision history for this message
snake561 (snake561) wrote :

alexandros are you sure that you copied/edited the code right, because it seems like you have a structure problem in your code, maybe too many spaces...

Revision history for this message
Alexandros Aristotelous (alexandrakkos) wrote :

fixed the spaces and all, now i got another issue on terminal:

$ indicator-sysmonitor
Traceback (most recent call last):
  File "/usr/bin/indicator-sysmonitor", line 27, in <module>
    import appindicator
ImportError: No module named appindicator

--

but i do have "import appindicator" and i didnt change anything else except what u told me to. seems a bit strange.
does it have to do with me having a 64-bit ubuntu version?

Revision history for this message
Miguel Méndez (mendez8) wrote :

Do you have installed the python-appindicator package?

Revision history for this message
Ethan Pollitt (ethanpollitt) wrote :

Fix in #5 worked very nicely for me.

no longer affects: ubuntu
Revision history for this message
Bernmeister (thebernmeister) wrote :

@derastronaut: what do you mean this no longer affects Ubuntu? I've done an update just now and this issue remains.

In other news...

I made a modification to one of my indicators as I had the same issue. In short I dynamically create a 1 pixel SVG and save to the current user's HOME directory.

For indicator-sysmonitor I made the following changes:

class IndicatorSysmonitor(object):
...
    def __init__(self):
...
        SVG_FILE = os.getenv( "HOME" ) + "/" + "." + "indicator-sysmonitor" + "-icon" + ".svg"
        with open( SVG_FILE, "w" ) as f:
            svg = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' \
                  '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1 1"></svg>'
            f.write( svg )
            f.close()

        self.ind = appindicator.Indicator("indicator-sysmonitor", "." + "indicator-sysmonitor" + "-icon", appindicator.CATEGORY_SYSTEM_SERVICES)
...

Revision history for this message
Andreas Petsas (andreaspe) wrote :

I know it will sound very noob but how can i put the path /syntax of the empty.svg icon in the file?

Revision history for this message
Alexandros Aristotelous (alexandrakkos) wrote :

see screenshot attached in comment #12 andrea and u'll understand it from there

Revision history for this message
Andreas Petsas (andreaspe) wrote :

Thank you Alexandre. I missed that somehow in the thread :)

Revision history for this message
trinkity (trinkity) wrote :

#5 works ! perfect!

Revision history for this message
boler (boler1132) wrote :

#5 & #7 works ! good jpb! look the picture

Revision history for this message
UbUK (ubuk) wrote :

I have the same problem with a fresh install of 14.04 when I installed indicator-sysmonitor. Very annoying.

Revision history for this message
kcpr (kcpr) wrote :

For 14.04 You can use solution show in #5 and #7, but with 22x1 empty .svg file.
1x1 doesn't work because icons are automatically stretch to 22 pixels.

Revision history for this message
Bernmeister (thebernmeister) wrote :
Revision history for this message
fossfreedom (fossfreedom) wrote :

fixed in v0.8.1 release

Changed in indicator-sysmonitor:
status: New → Fix Released
milestone: none → 8.x
assignee: nobody → fossfreedom (fossfreedom)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.