Skype 2.0 For Linux in OpenSuSE 10.3
I finally got around to trying out the new Skype 2.0 release for linux. I had tried the beta a few months ago with almost no luck, so I had kind of put it off for a while.
At first I tried the RPM that was packaged for OpenSuSE 10.3, but didn’t have any luck with it. I’m not sure if it was something I had done by using Smart and some online repositories to mess up my package configuration, but it kept complaining that some 32bit compat libraries for QT4 hadn’t been installed, even though I think they were.
Eventually I just made sure all the libqt4-*-32bit RPMS were installed (via Smart) and then used the dynamically linked tarball version of Skype (from their downloads page).
At first everything was going well except video, then I noticed in their readme that they point out that you need to have the most recent version of the gspcav drivers (webcam drivers for linux), which OpenSuSE 10.3 doesn’t have. I think the version available with the online repositories is something like gspcav 1.00.12 and you need version 1.00.20 (as of when I am writing this). This is the version that was release on 12 Dec 2007. Using the OpenSuSE Build Service I found a pre-compiled version of the gspcav-kmp-default package that matched the latest kernel for OpenSuSE 10.3, and after getting that installed video worked like a charm. I haven’t made a call that uses the video yet, but I was able to get it working in the Skype configuration test window, so I have pretty high hopes.
Using the Smart package manager with OpenSuSE 10.3
I’ve been using OpenSuSE for years, and regular SuSE before then. They’ve always been RPM based, which leaves a lot to be desired, and their tool Yast2 for managing software installation has some drawbacks that I can never quite get over.
With that said, it’s really easy to get Smart up and running to do your software management. Smart is a package manager that can manage the RPM system in OpenSuSE and will read from online YaST2 (and other types) repositories. Smart reminds me a lot of Apt, the commands are very similar and it accomplishes the same results pretty much.
If you’re running OpenSuSE, you can get smart from the online build service found at http://software.opensuse.org. You will need to get at least the following two packages:
- Smart
- rpm-python
After those are installed (using rpm -Uvh smart...rpm rpm-python...rpm), you can issue the command smart update.
The initial update process will read the current repositories you may have set up with YaST2 and imports them automatically. After the update process is complete, there are a couple basic command you’ll use most often:
smart search: search takes a search string and will search the repositories for packages that match, returning the package names and descriptionssmart install: install takes a list of package names to install. Install will also calculate any dependencies and install those as well, prompting you with a complete list before actually installingsmart update: Updates the local package information with the latest from your online repositoriessmart upgrade: Does a full system upgrade, looking for any newer versions of packages you already have installed, it will prompt you with the complete list and ask for confirmation before continuingsmart remove: Removes a package and it’s dependencies, will prompt you with a complete list of packages before it continues
Smart is a great tool for doing software management on OpenSuSE, and in my experience much faster than YaST2.
First project idea
I have a linux computer hooked up to my TV that serves dual purposes. First it’s a general file server/web server. Secondly it’s supposed to be a home theater PC. In the past I’ve used MythTV for a long time, but since I don’t use it for actually watching/recording TV at all I think it’s kind of bloated for me. My basic uses (or what I would want to use it for) are for watching video files and listening to music.
I’ve been looking around lately for good software to do this, something along the lines of Windows Media Center, but haven’t had any luck with anything. Most lately I’ve tried Elisa, and that project is so new that it was hard to get set up. It looks promising, but it doesn’t have good documentation yet.
So, I would ideally like to write something myself that focuses on watching videos and listening to music, runs fullscreen and is meant to be controlled with a remote. And I’d really like to write it in Ruby, but that’s turning out to be pretty difficult: I can’t find any good GUI libraries for Ruby, at least ones that are actively maintained. QtRuby/Korundum seems like it hasn’t been updated in years, and even Ruby-Gnome2 seems like it’s not maintained anymore (that and the Ruby/Gstreamer bindings aren’t even available in their regular distribution).
So I guess I’ll keep looking, or maybe even fall back to C++/Qt/KDE which I haven’t even looked at in like 4 years…and now with KDE4 out I think that learning curve is going to be kind of steep.
Getting additional mouse buttons to be useful in linux
Quick follow up to the previous post. I have a Microsoft Laser Mouse 6000, which happens to have two side buttons, which in Windows correspond to the Back and Forward actions in things like web browsers and Explorer. In linux, these buttons don’t do anything by default, but I finally got them working.
All I had to do was install xbindkeys, which for OpenSuSE 10.3 can be found via the OpenSuSE Build Service. After that is installed, you create the file $HOME/.xbindkeysrc and put something like the following into it:
"xvkbd -text "\[Alt]\[Left]""
m:0x0 + b:8
"xvkbd -text "\[Alt]\[Right]""
m:0x0 + b:9
The b:8 and b:9 parts are the mouse buttons you want to listen for, which can be found by using xev.
After that file is set up, you just need to make sure that xbindkeys is started when you start X, which can be done in a script in $HOME/.kde/Autostart, maybe just added to the script I mentioned in the previous post about how to get multimedia keys working in linux. For the time being, you can just run xbindkeys from a commandline in your current session.
Once all this is done, xbindkeys will listen for the mouse buttons you set up and send the specified keyboard commands, in this case Alt+Left and Alt+Right, which should get you Back and Forward actions in your browsers.
Configuring the Logitech diNovo Edge in Linux 6
I love my Logitech diNovo Edge keyboard, and I only recently got some of it’s special keys mapped and working in Linux. Doing this required using xev to gather the keycodes for the various special keys and functions on they keyboard and then setting up an Xmodmap file mapping these keycodes to various XF86 actions.
The keys that I couldn’t get codes for are:
- “Phone” Key (Fn + F1)
- Magnifying glass keys (along the left edge)
- A B C D keys (Fn + F9-F12)
Otherwise, here’s the contents of my $HOME/.Xmodmap file:
keycode 160 = XF86AudioMute
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 122 = XF86Search
keycode 144 = XF86AudioPrev
keycode 164 = XF86AudioStop
keycode 162 = XF86AudioPlay
keycode 153 = XF86AudioNext
keycode 236 = XF86Mail
keycode 130 = XF86HomePage
keycode 129 = XF86MenuPB
keycode 115 = XF86MenuKB
Then, if you’re using KDE, you can the KDE Control Center -> Regional & Accessibility menu’s Keyboard Shortcuts or the Input Actions sections to map these new keys to events.
One important part is to make sure your .Xmodmap file is loaded when you log in, you can do this via a bash script in $HOME/.kde/Autostart that looks something like this:
#!/bin/bash
xmodmap ~/.Xmodmap
Also, I followed some instructions found here for general XModmap usage and help: Multimediakeys with .Xmodmap HOWTO
Server monitoring with Munin and Monit
I was looking for a good way to find out about my server stats, which are kind of low with slicehost’s most basic offering, and finally came across two pieces of software, Munin and Monit.
Munin generates tons of graphs of system statistics from CPU and Memory usage to load averages, open files and lots more and generates web content that lets you quickly see the health/performance of your system.
Monit is for more automated monitoring and runs as a daemon on your server. You can configure it to watch lots of different things including CPU and Memory usage and whether or not various services are running. It then alerts you when your specified conditions are tripped, such as if memory usage goes over a certain percentage, or if CPU utilization stays high for a given amount of time. It can also watch processes and if they die it will restart them.
The best guide (it also has helpful links to more details) I could find is called Server Monitoring With munin And monit found on a site I’m going to have to check out more, HowToForge.