Sunday, July 10, 2011

Conky Weather error in Ocelot (Ubuntu 11.10 alpha 2)

I installed Ubuntu 11.10 Alpha 2 (Oneiric Ocelot) a couple of days ago on my EeePC 901 and have posted on a few of my observations already both here and here.
As I like Conky a lot, I copied over some files from Ubuntu Natty which I have on the same machine (.conkyrc, .conkyForecast.config, gmail_parser.py and conkyip) as well as installing python-feedparser from Ubuntu's repos.
After this everything worked fine other than the weather forecast which didn't show up at all.
If I ran "conkyForecast --verbose" in a terminal, it indicated the problem to be a lack of weather data in the cache.
So, I copied over the file .conkyForecast-ABXXCDEF.cache (where ABXXCDEF is the location code for your city) from the /tmp file on Natty to the /tmp file in Ocelot.
Then, when I killed conky and relaunched it (without rebooting), the weather information showed up correctly.
This appears to be a bug in Python as it performs in Ocelot and is discussed in Kaivalagi's long running thread starting at this post.
The problem with my solution is that the cache file in /tmp is removed by a reboot.
So, I copied the .conkyForecast-ABXXCDEF.cache file from Natty to my ~ directory and added this line to the start-up script for Conky (to add a 20 second delay before it starts):

cp /home/paul/.conkyForecast-ABXXCDEF.cache /tmp

Now when I reboot to Ocelot, conky shows up in its entirety.
However, I'd be surprised if this problem is not rectified soon as Ubuntu moves through Alpha to Beta and RC.


Just another couple of points I profited from in Ocelot:
1. I've already posted about how to use the command line to add startup applications. However, although not available in Unity Applications for the moment, actually /usr/share/applications/ does contain a Startup Applications app which provides a GUI for adding Startup apps.
2. Neither is a Screensaver app available. This means that it's not easy to disbale screenlocking when the screensaver is activated.
As always, this can be done from the terminal as explained in this post. This just requires editing the file /etc/default/acpi-support and commenting out the line "LOCK_SCREEN=true".

No comments:

Post a Comment