Open Source

Syncing your Palm Pilot with Linux via KDE

In this Daily Drill Down, Jack Wallen, Jr. checks out the KDE offering in the Pilot link game: KPilot.


In “Setting up your Palm Pilot with Linux via GNOME,” we dove into syncing your Palm Pilot with Linux via GNOME, and we learned just how flexible and powerful the GNOME Pilot package is. This time, we look in on the other camp, KDE, and check out its offering in the Pilot link game: KPilot.

KPilot is a small suite of applications. It consists of a daemon (for connecting the PC and the Pilot) and a small group of conduits. Although the list of conduits is not nearly as healthy as the GNOME list, it’s a useful set of tools that will keep the Linux Palm user happy.
One of the biggest discoveries I made while researching this Daily Drill Down was the KOrganizer. I’ll deal with this particular tool here only out of respect to its incredible functionality and usefulness!
First steps
As with the GNOME Pilot software, you must take a couple of initial steps in order to get your Palm Pilot to link with Linux. The first step in getting your Pilot to sync in Linux (regardless of which desktop environment (DE) you’re using) is to successfully create the link to the /dev/pilot file. To do this, first determine to which serial port your Palm Pilot will be connected. Here's which device files go with which ports:
  • ttyS0—Serial Port 1
  • ttyS1—Serial Port 2
  • ttyS2—Serial Port 3

Or, depending on your distribution:
  • cua0—Serial Port 1
  • cua1—Serial Port 2
  • cua2—Serial Port 3
The cua* name scheme is being phased out of Linuxdom, so although many distributions still include the cua* devices, stick with the ttyS* devices.
The first step in creating the actual link is to create, as root, a new device file called /dev/pilot along with the link to the ttyS* device. Use the following command:
ln /dev/ttyS* /dev/pilot

Remember to replace the * with the number of the ttyS device to be used. Once this link is created, you’re ready to attempt to link your Palmtop machine to your Linux machine. Put the device in its cradle, hit the Sync button, and you’re ready to go.

Once you’ve created the link, you must make sure that users can read and write to it. To give users read/write permission to your new link, run the following command (as root):
chmod 666 /dev/pilot

Now that the link is created and given the proper permissions, you simply put the Pilot in its cradle and begin the process of setting up KDE.

Initial setup
The initial setup for KDE is a very simple process of opening up the KPilot application (from the main menu, navigate to Utilities), selecting the Setup entry from the Conduits drop-down menu, highlighting the desired conduit in the left panel, and adding it to the right panel (by clicking the right arrow). There are currently only three conduits to choose from with KPilot: popmail_conduit, todoconduit, and vcalconduit. In comparison to GNOME's Pilot software, this list is sorely lacking and, judging from the application’s Web site, there's little hope of more to come. This is not to say that with KDE 2.0, KPilot will not grow. In fact, I'm hoping that with the huge leap forward in the desktop paradigm that KDE 2.0 will make, all tagalong applications will follow suit. As it stands, KPilot will serve minimal needs but will do so with extraordinary grace.

Once you've chosen your conduits, click Done to begin the sync process.

KPilot
Figure A shows the KPilot application’s main window. What you cannot see is that the text area containing the words Pilot Application is actually a drop-down list that holds the following entries:
  • Pilot Application
  • Memos
  • Address Book
  • File Installer

With the above list added to the conduit list, KPilot becomes a much more complete suite of tools for syncing the Pilot to Linux. This suite of conduits makes its backup home in the /home/USERNAM/.kde/share/apps/kpilot/DBBackup/USERNAME directory.
Where you see USERNAME, insert your Linux login name.
Here you will see the following entries:

PcDB.pdb AddressDB.pdb CitiesDB.pdb DatebookDB.pdb
Saved Preferences.prc ExpenseDB.pdb MailDB.pdb untitled1.pdb
ToDoDB.pdb Extension Registry.pdb MemoDB.pdb  
Unsaved Preferences.prc Giraffe HighScore.prc Net Prefs.prc  
VendorsDB.pdb GraffitiShortCuts.prc NetworkDB.pdb  

Unlike the GNOME files, these are binary files that cannot be edited via a simple text editor.

Figure A
Here’s the main KPilot window.


The Pilot application
The Pilot Application screen (the default screen at startup) is, for all intents and purposes, a splash screen for KPilot and serves very little purpose. At first, you may think it’s the screen where hot-syncing takes place, but you will eventually discover that you can sync from any of the screens within KPilot.

The main purpose for the Pilot Application screen is so you can sync your Pilot without having to do any work. Unlike with GNOME, having the daemon running is not enough—the KDE KPilot application must be running in order to sync your Pilot. Fortunately, if you have only the daemon running, the KPilot application will start up when you press the Hot Sync button on the cradle.

One problem does arise when you close KPilot but keep the daemon running (for later syncing). Once the KPilot application has been closed, even with the daemon running, the sync will not complete, and the daemon will die. For some strange reason, the next sync process will not restart KPilot. So, in order to sync your Pilot after you've closed KPilot, you must restart the KPilot application. Unlike GNOME, the KDE Pilot daemon does not work independently of its applications. With gpilotd, you can keep the daemon running in the background for any length of time, and it doesn’t depend on the GNOME Pilot application for its use—something the KDE team might want to emulate.

The main drop-down menus that appear in the Pilot Application screen appear in all of the conduits, but we'll highlight them here.

File

Through the File menu, you can do the following:
  • Configure the general settings of KPilot, which include Device Used, Speed, User, Sync Options, and Address Settings
  • Backup
  • Restore
  • Quit

Conduits

The Conduits drop-down menu allows you to choose and set up the three different conduits available to KPilot. Although there are only three conduits to select (popmail, todo, vcal), there are more applications (Memos, Address Book) that are selected from a drop-down menu within the KPilot Application itself. I’ll refer to these applications as conduits from here on out.

Help

The Help menu has two offerings: About and Contents. About brings up the author’s contact information, and Contents brings up the actual help system for KPilot. Be warned that this help system is of little use.

Conduits
Memos
The Memos conduit is actually a very nice tool for syncing from and to the Pilot and for reading those synced notes with a nice GUI front end.

Figures B and C show the memo conduit split in half. The top portion of this conduit shows the main drop-down menus that are present through all of the various conduits.

Figure B
The left pane of the Memos conduit screen shows the available conduits.


Figure C
The right pane of the Memos conduit screen displays the user-selected conduits.


The left half of the Memos conduit window is the main area where you can select various categories (out of the box, the only categories present are Unfiled, Personal, and Business). As you add categories on your Pilot, they will show up in this drop-down menu where you can import, export, and delete memos.

The right half of the Memos conduit is where the actual memo appears. From this conduit, you can read and edit memos. This is one aspect of the KDE Pilot sync suite that surpasses GNOME. While in GNOME, the only way to edit the memos sent from (or to) the Pilot is via a text editor (such as pico). With KDE's suite, however, you have a simple tool (within the KPilot application itself) that gives you a very friendly GUI text editor for adding or editing memos.

The memo GUI does have one simple quirk. In order to actually add a memo from scratch, the file itself must already be present. You cannot just open the Memos screen and enter a new memo in the right pane. Instead, you have to use either Import Memo or Export Memo. With these tools, you will be able to point and click (through the help of KFM-K File Manager), open existing text, and edit that text. Then when you sync your Pilot, the memo will shoot over from the PC to the Palm device. Sweet!

Address Book
The layout of the Address Book conduit is similar to (if not the same as) that of the Memo conduit. In the main selection screen on the left side, you can edit records, add records, delete records, import lists, and export lists. From the right pane of this menu, you are able to preview only the entry.

With this screen, the Address Book conduit excels. Unlike in the Memo conduit, you do not have to import or export a new entry in order to sync it to your Pilot. Within this application, any newly created address entry will be copied over to the Pilot during the next sync.

One drawback to this application is that when you’re entering various phone numbers, you cannot choose the category. Instead of the Work, Home, Fax, Other, E-mail, Main, Pager, andMobile categories, you get only Custom 1-5. When you sync phone numbers (created by the Address Book conduit), they all show up in the Work category. The only way to resolve this issue is to sync the numbers and manually change them once they are in your Pilot.

Similar to the above issue, you cannot change the category (within KPilot) of an entry once it has been synced with the Pilot. To alter the category, you must do so from the Pilot. So add new entries with care (choose the right category or you'll be running back to your Pilot to make the change!).

File Installer
File Installer is, in a sense, the meat and potatoes of any Pilot sync suite. GNOME Pilot has its version (dragging and dropping from GMC into the running applet), and KPilot has its own—File Installer.

The File Installer conduit is a very minimal window whose primary purpose is to open up KFM (K File Manager) so you can select which files to install. The application has Add File and Clear List buttons. The Add File button is where you'll do all of your file selecting. A simple click on Add File will open KFM so you can select the file to be installed onto the Pilot. Once you've selected the file to be installed, it's only a matter of pressing the Hot Sync button on the cradle and the file (or application) will be installed.
The KPilot daemon must be running for the above process to work.
File Installer also includes the Clear List feature. The Add File feature allows you to add multiple files to the Pilot, but if you change your mind, simply press Clear List, and they will systematically disappear.

popmail
The popmail conduit is a simple way for your KDE machine to send its mail to your Pilot and vice versa. The popmail_conduit is set up through the KPilot application via the Conduits drop-down menu. From here, you select (from the Installed Conduits pane) the popmail_conduit and then select Setup. Once you are in the Setup screen, you'll see the following options that you can configure:
  • Email Address
  • Signature File
  • Sendmail Cmd
  • SMTP Server
  • SMTP Port
  • POP Server
  • POP Port
  • POP Username
  • POP Password

You can enable or disable these options:
  • Leave Mail On Server
  • Save POP Password
  • Use A SMTP Server
  • Sync Incoming Mail
  • Send Outgoing Mail

Most of these configurations are standard networking configurations. Possibly the only hitch is having to enable Use A SMTP Server before you can enter any text in the SMTP Server configuration section. (Until that point, the section will be grayed out.)

Once the popmail_conduit is configured and running, it will do its thing almost completely in the background—dumping your e-mail to and from your Pilot. The only way you will notice it working is if you read your sync logs, look in your Pilot’s in-box, or do not configure the popmail_conduit settings to Save POP Password. If you don’t enable Save POPPassword, every time you sync your Pilot, you will have to enter your password manually.

todo and vcal conduits
The todo and vcal conduits can be lumped together because their configuration is identical. When configuring these conduits, you’ll need to know the location of your calendar.vcs file. Typically, this file is located in the ~/.kde/share directory (as user, type cd ~/.kde/share and you will be magically transported to this directory). To the right of the text entry area you’ll see a 3-D button with three dots (...) in the center. Press this button, and KFM will start. Navigate your way through /.kde/share and you should see the calendar.vcs file. If you do not see this file, it means you probably haven’t started the KOrganizer for the first time. If this is the case, go to the K menu, navigate through Applications, and select Organizer. This will start the KOrganizer, which will generate the calendar.vcs file. Once the file is created, you can select it through both the TodoConduit and VCalConduit setup screens.

The second option involved with these configurations is enabling the option Prompt Before Changing Data Selection. Although you’d think this selection would cause a change, it doesn’t. Even if you enable this feature, you will not be prompted before a change is made.

KOrganizer
KOrganizer is a very sweet tool for keeping track of appointments and to-do lists, as well as being a strong entry in the calendar space. KOrganizer is configurable and simple to use. Although it is not enterprise- or office-ready, KOrganizer is perfectly suited for the user needing a single point of entry for keeping track of his or her day-to-day dealings.

The highlight of KOrganizer is its calendar/to-do list integration. Both appointments and to-do lists are handled in the same fashion and can be entered with the same depth of detail offered by any popular Calendaring application.

Within KOrganizer, you will have three main panes to work within: the to-do list, month view, and day view. To add a new appointment, you have to right-click the time (in the Day View area) and select New Appointment. Entering a new to-do item is equally as simple. Just right-click in the To-Do window and select New To-Do, and you will have a new text area (in the To-Do pane) to enter your item.

When creating a new appointment, you’ll see the full-blown configuration screen, complete with a Details tab. When entering a new to-do item, there’s only one way to add details to the item. Once you've entered the text and clicked Enter, right-click the item and select Edit To-Do. You’ll see a screen that resembles the Appointment screen but with fewer options.

The difference in adding details to an appointment and a to-do entry primarily lies in the ability (or inability) to configure start/end times and to specify the % Complete setting. The Details tab, however, remains the same throughout.

I have two issues with KOrganizer. The first is the lack of completion in its help system. KOrganizer has been out for some time now, and it seems the help system has yet to be updated. This has caused me many a headache when I’m trying to find answers to simple questions within the application. Also, it seems the intent of KOrganizer is to allow you to e-mail appointments to attendees with a simple click of a button, yet there is no apparent way to configure this feature. Because of the lack of configuration for this feature, it simply does not work.

One of the nicest features of KOrganizer is its printing function. Many Linux applications (especially calendar and spreadsheet applications) have problems printing properly. KOrganizer, however, prints splendid landscape calendars in day, week, or month views. The only problem with the printout is the space allotted for sentences tends to be a bit short. Because of this, it's best to restrict your appointment descriptions to no more than 15 characters. The 15-character limit will ensure that all your text is displayed in the printout.

The daemon
As I mentioned earlier, the KPilot daemon is needed for the Pilot to sync. This daemon has a dockable icon that rests in the KPanel and indicates (with a red or green color) the sync status of the Pilot.

To get the daemon running, you navigate from the K menu through Utilities and select KPilotDaemon, which will then launch and land in your panel. Once the icon appears, you can press the Hot Sync button on your cradle, and the Pilot will sync with your PC.

If you are interested in starting KPilotDaemon at login, open the KPilot application and choose Settings from the File drop-down menu. In the resulting screen, select Start Hot-Sync Daemon At Login. Okay the change, quit the KPilot application, and restart X Windows.

Conclusion
Although not nearly as extensive as the GNOME Pilot application, KPilot is a highly useful tool for syncing with your Pilot. Along with the KOrganizer, KPilot is a simple, user-friendly means of keeping up with the Windows crowd.

I would have to say that between KPilot and GNOME Pilot, I would quickly align myself with the GNOME crowd. Yes, this may be a bias to some, but for me the extensive configuration tools and the ability to use a plain-text editor on many of the GNOME Pilot files makes GNOME Pilot a more Linux-like, yet user-friendly, and powerful tool.

If you only use the standard minimum tools with your Pilot and you’re set on the Windows GUI metaphor, check out KPilot. If you're looking for something more, then GNOME Pilot is your application.

In a future Daily Drill Down, I'll take a look at syncing your Pilot with console-only tools. GUI addicts will shudder and wince as the command line takes center stage.

Jack Wallen, Jr., editor in chief of Linux content, was thrown out of the "Window" back in 1995, when he grew tired of the "blue screen of death" and realized that "computing does not equal rebooting." Prior to Jack's headfirst dive into the computer industry, he was a professional actor, with film, TV, and Broadway credits (anyone see “The Great Gilly Hopkins”?). Now, Jack is determined to use his skills as a communicator to spread the word—Linux. Ladies and gentlemen, the poster boy for the Linux Generation!

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

About Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website jackwallen.com.

Editor's Picks