Posts tagged with linux

Opensuse 11.1 and its kiwi-ltsp review

My previous attempts at installing opensuse have been mostly fiascos, but a lot has changed in the latest incarnation, opensuse 11.1. Unlike its predecessors, I installed it to the hard disk using a live dvd, available here: http://download.opensuse.org/repositories/Education/images/iso/


After loading up the dvd, which takes a while to start up, one is greeted with a blank desktop with a couple of options for using the DVD. You can run the LTSP server straight from the DVD without installing anything to the hard drive. This works by serving pre-built kiwi images to the clients. I, however, chose to install to the hard drive by using the installer found on the desktop.


Unlike previous attempts, I was asked only a couple of questions such as timezone, keyboard settings, and partitioning schematics, before the installation process got underway. About 30 minutes later I restarted my computer and had a nicely functional desktop running gnome. I have 2 network cards, but those were easy enough to setup, by clicking on the bottom left computer menu, and then choosing network. The settings here are quite straightforward, and I had to set my 2 network cards to be either internal or external, and make sure the network settings were correct. I set my LTSP facing network card to internal, which is important for firewall issues, and then ran easy-ltsp. Here I had to change a couple of settings for my dhcp server, as the default serves a 10.0.x.x range, which is often used by routers, like mine.


After doing this, I plugged in a thin client, and it loaded up with no problems. On startup, the thin client gives some options such as boot from hard disk, turn apic off, shell prompt. If nothing is chosen, it loads up the thin client and you can start using LTSP. Setting up users is best done through the GUI, but can be done from the terminal using the useradd -m command, which is slightly different from Ubuntu, but has much more integration with LDAP, which is useful for larger setups. I went on to setup italc for ltsp client monitoring. Italc requires a keypair to be created and permissions to be set so anyone in the group italc can read the keys by doing:


ica -createkeypair
chgrp -R italc /etc/italc/keys/private
chmod -R 640 /etc/italc/keys/private
chmod -R ug+X /etc/italc/keys/private


This will probably be done automatically in the next incarnation of the livedvd, but for now, it has to be done manually, if you change your network settings from the default.


I also chose to setup samba for file sharing, which was quite straightforward, and as with other services, is best setup through yast. The defaults seemed fine for what I wanted, which was users home directories shared, using nbd password. The only annoyance I found here is that you have to set the username and passwords for the smb shares from the terminal. It is possible to set up LDAP to work with samba to provide authentication through a gui, but that seems overkill for smaller setups. To setup a samba user with password I did: smbpasswd -a nubae


Just for the sake of trying it out, I went through the process of setting up LDAP with samba to see if windows systems could then login with no problems. I followed this tutorial: http://digiplan.eu.org/ldap-samba-howto-v4.html


That seemed to work fine, though it realls is far too complicated for the typical home or school user. Setting the smbpasswd and using samba to directly authenticate is far easier and faster to setup. Taking it further than the fileserver, I also tries using ldap to authenticate the LTSP users when logging into LDM, and that worked great. If one is interested in using the fatclient option for LTSP, using LDAP is required.


One of the interesting options with opensuse's LTSP is the ability to choose different types of images, such as nomad or AOE. Nomad is a useful image type for thin clients because it allows for the network disconnection with the client without loosing data. That is to say, a user can continue using the thin terminal when the network comes back. AOE is used for fatclient implementation, where services and apps run directly on the client, as opposed to on the server. Of course, there is also the local apps possibility, whereby individual apps are chosen to be run directly on the client. Under opensuse this is very easy to setup, using the easy-ltsp configurator. The easy-ltsp configurator also allows for individual setting for thin clients, such as installation of printers and so on.


A quick glance at the applications available makes you realise there is almost everything one could wish for in an educational environment. There are almost too many edu apps available. It would have been nice to see some grouping of the educational apps, to make life easier for teachers, but the choice is a great start, and quite unique amongst distros. Lacking were some teacher tools, for creating educational content, but I have it on good authority that these will be included soon.


All in all, I was quite impressed with Opensuse and the wide variety of services it can run, be it as a fileserver, ltsp server, ldap server, or desktop machine. The educational software collection is impressive, and the ability to use many kinds of images via easy-ltsp makes it quite friendly to use. I would have to say that next to Ubuntu, this is the best implementation of LTSP so far. The only negative thing I can say is that Opensuse tends to do things in its own way, as opposed to following the upstream projects, but this allows it to be ahead of the game. I will certainly continue using it as my main desktop alongside ubuntu.


Rate It! (Average 0, 0 votes)



Compaq mini 700

This is a recent netbook release, which is a clone of the HP mini note 1000, but seems to be available overseas only. Compared to the Eeepc and Acer, it wins great points in terms of style. If an iphone and a macbook had a baby, this is what it would look like. With a full sized, comfortable keyboard, and nicely responsive mouse, the look and feel make it the nicest netbook I've had the pleasure of using. I've heard some people complain that the casing may not be as sturdy as the Acer and Asus, but I have not seen any issues yet. Perhaps a few years on, there might indeed be issues with the thinness at some places on the case, but I'll give up a little sturdiness for the pleasure of looking at this beauty and day of the week.


Though like other netbooks, the mouse buttons are on the sides, this seems to work allright with this model, and I'm not sure why, though maybe its because they are plenty big. The speakers are in a grill that fits along the bottom, where the keyboard and screen meet. The speakers won't win any awards, but not only do they look good, they sound is great too.


 


compaq mini 700

 


In terms of performance, it is quite similar to other Atom powered netbooks, with 1 gigabyte of ram, being more than sufficient to run Ubuntu or Windows XP. Ubuntu Intrepid ran out of the box, and hummed along nicely, with about 4 hours of battery life. The webcam worked out of the box too, which was a nice surprise as this wasn't the case with the Acer or Eee PC. This model seems to be about 100 € cheaper than the HP which will release next month here in Europe and the UK, but it seems it will just be a matter of branding, as the specs seem to be identical. Perhaps the main difference will be the size of the hard drive, which at 60 gigabytes is a little on the small side, but keeping discipline by putting video and music files on external drives seems to be a good idea anyway, so I don't see that as much of a problem. The HP mini note will probably have a 180 gigabyte drive, and 3 usb connections as opposed to 2 (one is disabled on the compaq mini.)


Going quickly back to running on ubuntu there were no problems with sound drivers, wifi drivers, or keypad and touchpad. It just all seemed to work out of the box. The screen at 10.2 inches is nicely widescreen and the perfect size for both work and play (watching movies, listening to music)


I'd definitely recommend this for anyone looking to use a netbook with Linux.


Rate It! (Average 0, 0 votes)



Telepathy, Empathy and collaboration

The idea of collaboration as implemented by Sugar Labs in the XOs is something truly fascinating. The direction is definitely to incorporate desktop wide collaboration in all future operating systems. I read a recent article in Wired that actually spoke about the future direction of Microsoft windows being this type of unified integration in their OS. They have started on this, but it probably won't show for a good number of years. On linux we have it a lot of it now! and its improving all the time. The service responsible for this is called Telepathy, and is at the heart of not only Sugar, but Gnome and Kde now too. Because of this standardization of a xmpp communication protocol across the entire desktop, instead of having to build a new comms protocol every time for every application, it is making it very easy for application developers to add collaborative functionality to their apps.

This is done through tubes. Tubes are a way for the server to offer a socket to a messenger contact, the remote contact accepts the socket and they can begin to write/read data on it. the big advantage is that with tubes, even if the connections are NATed on both sides, the apps can still share data.

What follows is an experiment in setting up a collaborative environment under Gnome. A lot of the collaborative stuff is really quite alpha/beta still, so this is just an exercise in setting it up for research purposes.

First up we have the telepathy layer and common apps that run with it. We will be installing Empathy for chat, video, audio and sending files. This fairly newcomer is quickly becoming the de facto standard chat client due to its wide support for other protocols and deep integration of telepathy into itself and the desktop, as well as tube support. It will most likely replace pidgin as the standard chat client in Ubuntu starting with Jaunty. Here's a screenshot with a variety of plugins installed and a custom theme:

I have been running it for a good week now, and it seems very stable, albeit requires installation from the Telepathy PPA to give it the latest features.

Add the the telepathy intrepid ibex PPA and install empathy:

sudo echo "deb http://ppa.launchpad.net/telepathy/ubuntu intrepid main" | tee -a /etc/apt/sources.list /dev/null
sudo echo "deb-src http://ppa.launchpad.net/telepathy/ubuntu intrepid main" | tee -a /etc/apt/sources.list /dev/null
sudo apt-get update
sudo apt-get install empathy telepathy-idle

If you had pidgin before, empathy will automatically import all your accounts into it upon first start up. You can then remove it afterward as there is no point in having 2 apps that do the same thing. If you plan to use facebook messaging, you'll have to patch haze.manager and add a facebook-im profile. Also note I did this already having the facebook plugin installed for pidgin, so ymmv:

wget https://bugs.freedesktop.org/attachment.cgi?id=20810
mv attachment.cgi?id=20810 ~/.local/share/telepathy/managers/haze.manager
wget https://bugs.freedesktop.org/attachment.cgi?id=20811
mv attachment.cgi?id=20811 ~/.local/share/mission-control/profiles/facebookim-haze.profile

One thing that is currently sort of missing from empathy is file transfer, which is only possible over Salut. The good thing is, that making a Salut connection is incredibly simple, and requires no server as it works directly over avahi. This is the same protocol used by Ichat.

The really interesting stuff, though, happens when you set up an ejabberd server which allows for collaboration to happen across a variety of applications in a variety of ways. To set up ejabberd, take a look at a previous article I wrote, and follow the ejabberd parts:

http://www.nubae.com/sugar-on-ltsp-ubuntu-intrepid-ibex

Once ejabberd is setup, you can add accounts to be used on your local network via the web interface by browsing to: localhost:5280 and clicking on users to add them. You can then use those details to connect to a jabber server via empathy. Other plugins for empathy are being worked on and include things like sharing webpages to contacts and sharing contact details from calendars. The future looks bright, but there are already some applications that work well with telepathy and collaboration in various forms.

Inkscape is a vector based imaging application that allows for collaboration via its messageboard facility. It's easy to install:

sudo apt-get install inkscape

It is currently a way to send files to and from other jabber apps, as well as chatting, but it will certainly grow to incorporate other collaborative functions. Here's a screenshot of it in action:

The other big app to do collaboration is Abiword, and it allows multiple users to edit a document in real time, each writing their little bit and collaboratively changing areas. The collaboration for Abi Word is done either through the standard ejabberd manner, or via a direct tcp connection. This works not only across computers and networks, but across operating systems too! You can collaborate with windows users just as easily as with Linux users and apple users. Install it:

sudo apt-get install abiword

Here is a screenshot:

A well known app amongst developers, Gobby allows for users to create sessions and then join them, and work on documents together. It is highly useful for hackfests and gatherings, and is used by the Ubuntu devs when they are at such gatherings. It can show a list of documents, users, and then the ability to work on those. Right now, Gobby is avahi based, with plans to support xmpp/empathy in the future.

sudo apt-get install gobby

To get an idea of where this is all going, I looked at a couple of other apps, which are not quite finished yet, but certainly give food for thought. One was Jokosher, which intends to allow collaboration through audio, allowing instruments across the network, voice over ip interviews, and all of this streaming in real time.

The Rythmbox music program has many advanced features, one of which is showing the status in your im according to the music playing. It also allows for sharing of music across the network, with password protection if needed.

Finally there are various games like tictactube and gtetrinet which create tubes to share sessions between each other, and I imagine this trend will multiply across gnome games, allowing for collaborative gaming experiences.

Rate It! (Average 0, 0 votes)



WebDAV with Ubuntu

WebDAV is software to allow collaboration between users to manage files through an easy drag and drop interface, and works across windows, mac and linux. It is intended for web servers, and includes rudimentary version control and file locking for groups. This is how to get it working with the Apache webserver on ubuntu linux.

First make sure apache, php and its modules are installed:

sudo apt-get update
sudo apt-get install apache2 php5 libapache2-mod-php5
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/dav* .

Next we need to set up a DAVLockDB file for file locking when multiple users are sharing the folders. This is a very important step, as you'll wind up with Internal Server Errors if you try to use WebDAV without it.

sudo mkdir /usr/share/apache2/var
sudo touch /usr/share/apache2/var/DAVLock
sudo chown -R www-data.www-data /usr/share/apache2/var

Next we need to setup some form of authentication for the users. WebDAV can be a security risk for this reason, so its important to use something strong. In this case, SHA passwords using .htpasswd should suffice:

sudo htpasswd -s -c /etc/apache2/.htpasswd 

Other usernames can be added afterward by using the same command but without the -c flag (create file) as a file is already there. Next we create the webdav directory, which can be called anything, in this case we'll call it shared:

sudo mkdir /var/www/shared
sudo chown www-data.www-data /var/www/shared

The final step is adding the directives to Apache so it knows what to do with the shared WebDAV folder. Edit the file httpd.conf:

sudo nano /etc/apache2/httpd.conf

and paste the following into it:

## Location of the DavLock file
DavLockDB /usr/share/apache2/var/DavLock
       
## Set up the shared directory to use WebDAV and authentication

       	Dav On
        AuthName "WebDAV shared Login"
        AuthType Basic
        AuthUserFile /etc/apache2/.htpasswd
	## Limit access for enhanced security
\
        require valid-user

        Order allow,deny
        Allow from all

Now restart apache and you will have webdav enabled by doing:

sudo /etc/init.d/apache2 restart

You can download a webdav client for firefox here: http://webfolder.mozdev.org/installation.html

Rate It! (Average 0, 0 votes)