Skip to content

Kubuntu for the Masses

Chalk me up as another satisfied Ubuntu user. Kubuntu, really, which is Ubuntu with the KDE desktop in lieu of Gnome. That's an important distinction, as far as I'm concerned: when I first abandoned SUSE and was looking around for a new distro, I checked out Ubuntu and rejected it because I simply prefer KDE over Gnome. It's not religious to me, the KDE desktop just fits the way I work, and that means a lot. So when I heard about Kubuntu, I was excited to give it a try, and after a couple of days tinkering with the live distro, I made the decision to install. And no regrets! The following comments apply to Breezy Badger, the second official release.

Why Ubuntu? Why Kubuntu?

Ubuntu has several things going in its favor: It's Debian-based, and the more I know about Debian the more I like it. It runs a clean, cutting-edge KDE 3.4 desktop, which has made great gains in useability and polish since even 3.3, which was already a great desktop. And the alternatives -- Windowmaker, Blackbox, etc. -- are only an apt-get away if I want them. For the moment, I haven't had the urge. Thirdly, its USB support is great, it worked well with my PCMCIA modem, something no distro other than SUSE had been able to accomplish. And lastly, two things I was unable to get working under Xandros worked well with Kubuntu: Postfix and a kernel framebuffer. That lets me work at a virtual console with my all-time favorite console applications: Mutt and Lynx/Links. Xandros XD3 was a great distro, but I never got Postfix working, and the lack of the framebuffer meant my virtual consoles were unbearably ugly, font-wise. So Kubuntu was like a breath of fresh air.

Complaints

I have little to complain about, as I liked Kubuntu enough to stick with it. But there are some areas where Kubuntu can work on improving the next release:

  • Java: For mostly political reasons, Ubuntu doesn't include Java in its distro. This is a hassle for me because I do a lot of writing using Jedit, the Java-based text editor.
  • Browser: Kubuntu relies on the KDE suite of applications, so Konqueror is the browser of choice. But no browser plug-ins have been installed or configured. In this day and age, a browser without plugins is hardly worth using. Flash and friends ought to come configured.
  • Grub: SUSE's install routine allows you to install GRUB on the MBR, on the partition, or even on a boot floppy. Kubuntu has little flexibility: either install it on the MBR or don't, and the installation didn't provide me with good working entries for other distros on my hard drive.
  • Virtual Consoles: The consoles don't clear when you're done with them, which leaves the previous session's text on the screen. Annoying.
  • Printers: I was unable to get the printer configuration routine to connect my Epson Stylus C60 over a parallel cable. Seems like a nice little utility (which you access through the KControlpanel), but none of the test pages ever arrive at the printer, and I don't know why. Yast2 under SUSE and Xandros were both able to configure that printer with no difficulty at all, establishing print queues, configuring Cups, and all. A major disappointment.
  • Politics: Besides Java, certain packages aren't readily available in the Apt archives, probably for political reasons. I understand the philosphy and even respect it, but personally pragmatism leads me to want the package more than the politics. Opera, latex2html, and java are all subject to this constraint, and require additional downloads.

    Package List

    No distro is complete without downloading all the apps that are missing on the CD. Ubuntu's Debian repositories make that easy. Once I got my internet connection running I downloaded the following:

  • Gimp 2.2 (image manipulation tool)
  • Gqview (image collection viewer)
  • Quanta (webpage authoring tool)
  • Synaptic (for apt-get repositories)
  • Emacs and Xemacs
  • TeTeX and aucTeX (for LaTeX authoring)
  • Lynx, Links, urlview, and antiword (console utilities: the first two are console web browsers.
  • Jed and Joe (two excellent console text editors).
  • Xplanet (graphical toy)
  • Mysql and mysqlcc (Database stuff)
  • Mtink (a utility to work with Epson printers - invaluable if you've got one)
  • And I downloaded the following packages from their respective websites, since they weren't available through Ubuntu:

  • Opera (my favorite web browser) available from www.opera.com.
  • Pine (console email program, when I thought maybe I wouldn't be able to get Mutt working) Available from Washington University.
  • Jedit (my favorite text editor and word processor) Available from www.jedit.org.
  • LaTeX2HTML (a wonderful utility that I've been using to place online my Woodnotes series of tech articles, including the popular Woodnotes Guide to Emacs for Writers).

    Tips for Configuration and Installing

    Virtual Consoles

    I found this tip at the Ubuntu Wiki:

    	Go in your /etc/inittab 
    and add to the "1:2345:respawn:/sbin/getty 38400 tty1" 
    lines the following code:
     "-I '\033[2J\033[f'".
    	
    	Like so:
    	1:2345:respawn:/sbin/getty 38400 tty1 -I '\033[2J\033[f'
    	2:23:respawn:/sbin/getty 38400 tty2 -I '\033[2J\033[f'
    	... (etc)
    	
    	This sends a clear console code on exit. An old modem thing.
    	

    Postfix

    Configuring Postfix was a little more difficult. The challenge is getting Postfix and SASL to interoperate in order for me to authenticate to my ISP. I learned a lot about how to do this from this webpage.

    I added the following to /etc/postfix/

    	smtp_sasl_auth_enable=yes
    	smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
    	smtp_sasl_security_options=
    	
    	smtpd_sasl_auth_enable=yes
    	smtpd_use_pw_server=yes
    	

    I added the following to /etc/postfix/sasl/smtpd.conf

    	smtp_sasl_auth_enable=yes
    	smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
    	smtp_sasl_security_options=
    	
    	smtpd_sasl_auth_enable=yes
    	smtpd_use_pw_server=yes
    	

    Dial up Modem

    Since most developers have broadband, the old-fashioned, unlucky dial-up users like myself are frequently forgotten. The Gnome desktop as a whole is criminally guilty of forgetting about dial-up folks like myself, and the excellent KPPP dialup utility is one of the many reasons I prefer the more feature-complete KDE desktop. Kubuntu's kppp required some tweaking, however.

    First of all, the first time I loaded it up it complained that there was no /etc/resolv.conf file. I opened a shell and created one to get past that problem (sudo touch /etc/resolv.conf). Afterwards KPPP would dial up, authenticate, and then die as soon as it passed control over to the PPP daemon pppd.

    I suspected the problem was somewhere in the interface between kppp and pppd. Kppp was connecting to my ISP correctly, but when it came for pppd to do its trick, it died without warning. So I took a look at /etc/ppp/options and saw the following code:
    # Require the peer to authenticate itself before allowing network
    # packets to be sent or received.
    # Please do not disable this setting. It is expected to be standard in
    # future releases of pppd. Use the call option (see manpage) to disable
    # authentication for specific peers.
    auth
    

    I disregarded the warning, put an additional # before the auth command to disable it, and kppp has worked like a charm ever since. The reason is that kppp does its own authentication and then hands control over to the pppd daemon. But as configured originally the first thing it tried to do was authenticate again. Not necessary, and disabling that behavior lets me dial up with ease.

    Printing

    I had trouble getting an Epson Stylus C60 printer to receive information over a parallel cable. Fewer and fewer people still use parallel cable in a world of USB, but my old laptop only had one USB slot, so using parallel cable allows me to save the USB for another peripheral, in this case a trackball.

    I found very few articles on the Internet about people experiencing printer trouble with (K)ubuntu, which makes me think my problems do not represent the typical Kubuntu user experience. The problem was that as I ran the KDE printer setup wizard (a very nice little wizard!) but when it came time to test the printer setup, nothing was printed, and KDE didn't register any errors for my attention. Trying to run the wizard as root didn't help.

    The following are the steps I took to diagnose the problems. Turns out to have been a simple driver issue and maybe a couple of easy tweaks.

  • 1. Determine whether or not the Cups daemon (cupsd) is running at all.

    		pl -Al | grep cupsd
    	

    That showed the cupsd was indeed running.

  • 2. Check that the kernel is able to deal with parallel cable by running

     modprobe parport_pc

    An empty response is good (no news is good news). Otherwise you'll get an error stating that kernel module was not found. But that was not my problem.

  • 3. Read the cups error log to see if the errors revealed any useful information. Turns out, they did. Find the error log at /var/spool/log/cups/. In my case, the errors didn't provide enough information to tell me what was wrong, but suggested helpfully that I enable more verbose logging. This I did by modifying /etc/cups/printers.conf and killing and restarting cupsd. The verbose logging helped me figure out that cupsd was receiving the document but was unable to render it - sounded like a bad driver to me. I tried another driver combination instead of the one the kprinter wizard listed as recommended, and this resolved my problems.

  • 4. The following are changes I made en route to my solution. I don't know if they really made a difference or not: User kprinter (run it as root) to make myself part of the "lp" group. Kuser gave me some trouble so I finally just manually edited the /etc/group file, which was easier, really. I also fixed the permissions on the lp cups driver by switching to the /etc/udev/permissions.d/udev-permissions directory and ensuring that lp had permissions level of 0666 (it was 0660 before, I think).

    Locales and Consoles

    I had a lot of trouble with the $LOCALE variables and the smooth operation of my virtual consoles, Konsoles, aterms, and vterms. Xterms never worked right with emacs and mutt displayed a lot of characters with diacritical marks incorrectly. I solved it by adding the following to my .bashrc:

    LOCALE=en_US.utf8 && export LOCALE
    LC_CTYPE=en_US.iso88591 && export LC_CTYPE
    alias xterm='xterm -en ISO-8859-1 -fg white -bg black'
    	

    To get the locales thing working correctly I had to reconfigure the locales package with 'dpkg--reconfigure locales'. To get Konsole to deal with the diacritical marks I had to manually set the encoding to Western European (ISO-8859-1) from the "Settings" menu. This is something that could definitely use more work in the next release, as console users like myself rely so heavily on these things being correctly configured.

    The Verdict:

    I finally went back to SUSE, this time installing 9.3 over FTP. Their excellent YaST2 utility makes a world of difference, and most packages I use came already installed. I was furthermore pleasantly surprised to find out a lot of what had annoyed me about 9.2 were specific to that release, and 9.3 was a much better product, even on the same hardware.

  • Trackbacks

    No Trackbacks

    Comments

    Display comments as Linear | Threaded

    No comments

    The author does not allow comments to this entry