View Full Version : Screenlets in Sidux?
PaulFXH
August 27th, 2007, 10:47 PM
I've used screenlets for quite some time and currently use 0.0.10 in Ubuntu Feisty without problems.
I also use the Sidux distro (based on Debian Sid) on my computer and tried to get screenlets functioning there as well.
The untar/'make install' seemed to go fine and a lot of *.py functions now exist in /usr/local/share/screenlets/ in Sidux.
However, they don't actually do anything when I call them in a terminal.
Seems there's something essential missing from my armoury of software tools.
Can anybody suggest what I might be in need of?
Thanks
Paul
RYX
August 28th, 2007, 02:19 AM
What exactly do you mean by "they don't actually do anything"? :)
Do you get any kind of output or do they just silently fail? Could be related to many things - wrong file permissions, too old gnome or py/gtk version or other missing libraries, depends on the error you get (if any).
What does happen if you run this in a terminal:python -u /usr/local/share/screenlets/Clock/ClockScreenlet.py?
:)
PaulFXH
August 28th, 2007, 08:22 AM
Thanks for your reply.
Here are some answers:
1) If I run
/usr/local/share/screenlets/Clock/ClockScreenlet.py in a terminal I get
bash: ClockScreenlet.py: command not found
2) If I run
python -u /usr/local/share/screenlets/Clock/ClockScreenlet.py in a terminal, I get this:
Traceback (most recent call last):
File "/usr/local/share/screenlets/Clock/ClockScreenlet.py", line 17, in ?
import screenlets
File "/usr/lib/python2.4/site-packages/screenlets/__init__.py", line 33, in ?
import rsvg
ImportError: No module named rsvg
Please note that if I open /usr/local/share/screenlets/ I see these folders:
Calendar Flower Ruler
Clock Launcher Storage
Control MailCheck Test
CopyStack Notes Windowlist
CPUMeter Pager
Example Picframe
I will just mention also that I use KDE in Sidux.
Thanks
Paul
plun
August 28th, 2007, 09:13 AM
Traceback (most recent call last):
File "/usr/local/share/screenlets/Clock/ClockScreenlet.py", line 17, in ?
import screenlets
File "/usr/lib/python2.4/site-packages/screenlets/__init__.py", line 33, in ?
import rsvg
ImportError: No module named rsvg
I made a search in Debians packages and you must install librsvg2-2 and
librsvg2-common
http://packages.debian.org/cgi-bin/search_packages.pl?keywords=rsvg&searchon=names&subword=1&version=stable&release=all
:)
PaulFXH
August 28th, 2007, 09:18 AM
Thanks but the LATEST versions of BOTH of these packages are already installed.
plun
August 28th, 2007, 09:33 AM
Thanks but the LATEST versions of BOTH of these packages are already installed.
Ok
Please take a look at this thread about python packages.
http://forum.compiz-fusion.org/showthread.php?t=3449
:)
RYX
August 28th, 2007, 11:58 AM
First of all the screenlet files seem to have "lost" their executable permissions ... To be able to launch them directly you'll need to "chmod +x <ScreenletName>.py" all of them. Don't know why this happens, but could likely be a security feature on Debian.
The second (the real?) error seems to be related to a too old gnome version. Many (if not all) people on Debian systems have a gtk 2.8 and a gnome 2.14 installed by default, maybe you have, too. The rsvg-bindings are part of the gnome-python-desktop since gnome 2.15 so you'll need to update your system in that case ...
What do you get if you run this in a terminal?python -c "import gtk; print gtk.pygtk_version"
PaulFXH
August 28th, 2007, 01:01 PM
Thanks for the replies.
1) I did this command a number of times
chmod +x ClockScreenlet.py (always in /usr/local/share/screenlets/Clock/)
but I still got the "command not found" error
2)when I run this command
python -c "import gtk; print gtk.pygtk_version"
I get
(2, 10, 6)
3) Note that I am running Sidux with KDE rather than Gnome
Does it now look like I will need to separately compile the rsvg-bindings and install them?
RYX
August 28th, 2007, 01:18 PM
Hmmm - that's mysterious. Try it like this (as root or through sudo):chmod +x /usr/local/share/screenlets/Clock/ClockScreenlet.py
Your gtk version is ok and I think KDE is not the problem, I guess you are just missing the rsvg-bindings. I really hate the fact that they are so closely bundled into python-gnome2-desktop, but currently I can't do anything about it. Compiling them separately may be the most satisfying solution (maybe you can even briefly write down your steps? Thanks in advance) ...
:)
PaulFXH
August 28th, 2007, 08:04 PM
1) I tried the chmod command you suggested but even this made no difference -- still getting a "command not found" error
2) Downloaded python-gnome2-desktop.tar.gz with the intention of separately compiling just the rsvg part. However, had a lot of problems during the compile, so I installed all of python-gnome2-desktop from apt-get here in Sidux.
However, once again, no improvement. I still keep getting the "command not found" error.
Anything else I might be overlooking?
RYX
August 28th, 2007, 09:26 PM
Could be some weird permission-thing on Debian, I really have no clue why they are not executable. What does this output (mainly the permissions are of interest): ls /usr/local/share/screenlets/Clock/ClockScreenlet.py
And after installing python-gnome2-desktop, can you now launch them by "python -u /path/to/screenlet/SomeScreenlet.py"?
PaulFXH
August 28th, 2007, 11:35 PM
1) This command
ls /usr/local/share/screenlets/Clock/ClockScreenlet.py
gives
/usr/local/share/screenlets/Clock/ClockScreenlet.py
2) I checked the permissions of ClockScreenlet.py in the file manager (Konqueror) and it is owned by root who has full RW permission.
3) This command
python -u /usr/local/share/screenlets/Clock/ClockScreenlet.py
gives
Traceback (most recent call last):
File "/usr/local/share/screenlets/Clock/ClockScreenlet.py", line 17, in ?
import screenlets
File "/usr/lib/python2.4/site-packages/screenlets/__init__.py", line 28, in ?
import gtk
File "/var/lib/python-support/python2.4/gtk-2.0/gtk/__init__.py", line 48, in ?
from gtk import _gtk
ImportError: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: g_intern_static_string
I think I might try the Sidux forums tommorrow with this problem. Perhaps somebody there can shed some new light on the topic.
RYX
August 29th, 2007, 06:40 PM
Does it only have RW or does it have RWX? If the screenlet has no execute permissions, then you won't be able to run it.
Concerning the startup error you may need to install some newer libraries for cairo/pango or gtk - I never saw that type of error. I am sure the people in Sidux forums can help you with that and know which libs you need to update.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.