Novell is now a part of Micro Focus

Hot Off the Grill

Articles and Tips: article

Aaron Weber

01 Apr 2005


The marketing materials say that Novell Linux Desktop is suitable for a wide range of deployments. So is it right for you? If it is, how will you deploy it? And once it's deployed, how much work does it require to maintain? Let's look at Novell Linux Desktop and outline some of the ways to simplify deployment and maintenance. I think you're going to like what you see.

Evaluating Novell Linux Desktop

Know Your Users

Every successful software deployment begins with needs assessment, including not just end users, but also developers and administrators. To get backing on a new deployment of software, you need not only an inventory of the software you now have deployed, but also a clear understanding of the way it is used. An organization replacing its UNIX design or development workstations will have completely different system requirements than one providing narrowly defined functionality to transactional workers or setting up public kiosk systems. Even relatively similar systems often have radically different user requirements: a Web developer and a marketing manager might both need an office suite, but use it for different things. The difference between those user needs might mean that one can migrate to Linux now and the other might need to wait a while.

Once you have a good list of the required applications and features, check to see if they are available on Linux, or more important, if alternatives with the same functionality exist on Linux. At all levels of the software industry, vendors are bringing their products to Linux. In particular, you'll find extensive Linux support in Web-oriented applications such as Macromedia Flash, RealNetworks RealPlayer, and UNIX applications such as graphics tools from AutoDesk Discreet or the geophysics and petroleum systems from Paradigm. Of course, support will vary by vendor and application. Macromedia does not yet ship Flash development tools for Linux, for example. So check to be sure. (See Table 1. As a good starting point, check out Full Steam Ahead in the September/October 2004 issue.)

Table 1: What Application Can I Use on Linux to Replace my Windows Application?

Service
Description

Windows Application

Linux Version Available?

Potential Linux Substitute

Microsoft Office

No

OpenOffice.org

Microsoft Outlook

No

Novell Evolution

Microsoft Visio

No

Kivio (for some functions)

Microsoft Project

No

MrProject (for some functions)

Macromedia Flash Player

Yes

Macromedia Flash Player

Adobe Photoshop

No

GIMP

Adobe Acrobat Reader

Yes

Adobe Acrobat Reader for Linux

Adobe Acrobat (full version)

No

PDF export from OpenOffice.org

AutoDesk Discreet Smoke, Flint

Yes

AutoDesk Discreet Smoke, Flint

For a more complete list of hundreds of applications that are currently available on Linux, their respective licensing and how you can get them, check out Full Steam Ahead in the September/October 2004 issue online.)

When the original application is not yet available on Linux, similar applications often provide similar functionality as well as new features when compared to the original product. These applications are often included with the operating system. For example, Novell Evolution, the most popular groupware client for Linux which is also included in Novell Linux Desktop, handles e-mail, calendar and address book functions like Microsoft Outlook. OpenOffice.org, an alternative to Microsoft Office, provides more functionality than most users will ever touch. You'll need to determine the needs of your user populations to see which features they require and which features they don't. One simple way to perform this evaluation is to install the Windows version of OpenOffice.org. Novell found that even for employees who still needed Windows, Windows application developers, for example, OpenOffice.org worked great. And for those who were hesitant to switch to Linux, switching office suites was a relatively painless first step.

To learn more about the internal Novell transition from Windows to Linux as well as from Microsoft Office to the OpenOffice.org office suite, read the following "Building Blocks" articles in Novell Connection online.

Depending on your current software platform, internal or custom applications can be very simple to bring to Linux. If you are migrating from UNIX to Linux, you may need only to repackage and recompile. Java, Python, or other script- or Web-based applications may work without even that effort. On the other hand, Visual Basic applications will need to be rewritten or run through an emulation tool such as CodeWeavers Crossover Office. Even some Web applications depend on ActiveX and work only in Internet Explorer. As always, your results will depend both on the applications and the way you use them. Even in cases where you won't be using Linux, platform independence can give you significantly more flexibility in other areas, such as selecting different hardware or a new Web browser.

In addition to understanding the functional needs of your user base, you need to understand how they feel about the software they use. In other words, if you change their software, how much will they complain? UNIX workstation users may be thrilled to try new hardware and software; others might call the help desk at the first sign of change. In either case, you need to be prepared to deal with user concerns. Consider training materials and resources that are available to you. Something as simple and inexpensive as distributing Novell QuickStart reference cards can save you and your users headaches, time and money.

If Your Users are Developers

Development workstations present their own set of issues. In the past, developing applications for the Linux desktop has been a matter of steep learning curves, aloof experts, and obscure, unstable application programming interfaces (APIs). That has changed. With Novell Linux Desktop, Novell is committed to maintaining its compatibility with SUSE LINUX Enterprise Server 9, which means that applications that are built to run on SUSE LINUX Enterprise Server 9 can also run on Novell Linux Desktop. It also means developers can use the desktop operating system to develop for the server. Having a stable API enables developers to spend less time editing applications to keep up with changes in the platform, and more time fixing bugs and adding features. It also means skills don't become obsolete, so it's worth the effort to really become an expert.

Figure 1

Skill sets developed on other platforms are also useful on Novell Linux Desktop because Novell supports and contributes to a variety of cross-platform technologies, most notably Java/J2EE with the exteNd solutions and C#/.NET with Mono. One of the newest technologies in the Novell tool box, Mono is an open source development platform based on the Microsoft .NET framework. You can run Mono applications on Windows, Linux, UNIX and Macintosh OS X, even if they were written in C#, Java, Python and other languages. Mono works with a number of Linux IDEs including MonoDevelop, and also integrates with Microsoft Visual Studio .NET.

Mono ships with two graphical API stacks in addition to its extensive foundation classes. The Microsoft compatibility stack provides Windows.Forms and other Windows-native APIs, so you can run applications that were developed for the Windows .NET engine on Linux. The Gtk# stack, the set of C# bindings for the Gtk development toolkit, was designed as a platform for native Linux development. But it also runs on Windows so you can run your applications that are built for Linux on Windows too. Combined with MonoDevelop and the Glade interface designer, Gtk# allows you to build complex desktop applications in only a few lines of code. For example, to build a Web browser, take the following steps:

  • Use Glade (the interface designer) to create a few buttons, a text entry box and a frame for a non-Gtk widget, the Gecko browser display. Glade saves this interface as an XML file.

  • Write "using" statements in MonoDevelop to include the Gecko and Glade libraries.

  • Direct Glade to read the XML file. The Glade subsystem reads the XML and creates blank C# functions for each user interface element automatically.

  • Direct the Gecko library to display an HTML rendering window inside the available frame.

  • Save and run.

By using stock buttons for "Forward," "Back," and "Go," you even get stock translations for free: changing the LANG environment variable changes the application to another language, and even rearranges the button order when using right-to-left languages like Hebrew and Arabic.

More and more applications built on the Mono platform are production ready, including the new version of Novell iFolder and the Novell ZENworks Linux Management daemon. For more information on Mono, visit http://mono-project.com and read the Bottom Line article of this issue.

You can use Mono and C# to interact with other applications, most notably Novell Evolution and Nautilus (the GNOME file manager), which make special efforts to be friendly to extensions and developer modifications. In Evolution 2.0, the data storage mechanism is split out into a module called the Evolution Data Server. The data server features clearer, more accessible interfaces, so Evolution data is available to other applications. For example, the main panel calendar can show task lists, the Gaim instant messaging tool can read the Evolution contacts list for instant messenger nicknames and buddy lists, and OpenOffice.org can use the Evolution address book for mailmerge data.

Figure 2

In addition to accessing Evolution data from your applications, you can use the data server APIs to extend the functionality of Evolution. For example, one current project is a small tool that passes Web calendar URLs from a Web browser into the Evolution calendar. You can then click on any ICS (a shareable iCalendar file) file online, such as sports and theater schedules, TV listings, holidays and history dates, and automatically add it to your Evolution calendar displays. Another project, written in C# for the Mono runtime, adds an RSS aggregation component to Evolution to replace the Summary tool from Evolution version 1.4. (For an extensive library of ICS files, visit www.icalshare.com.)

Current development versions of Evolution extend the modularity of the Evolution Data Server with the ePlugin architecture, which makes it even easier to write new Evolution components.

While Nautilus has always made it possible to display a variety of information by using embedded Bonobo components (Bonobo is the GNOME architecture for creating reusable software components and compound documents), the GNOME 2.6 release helps you extend existing interfaces. Previously, any given view had to be coded from scratch, which led to code duplication and inconsistent user interfaces. Extensions, however, keep code and tools consistent and allow you to repurpose them.

The Linux version of iFolder now uses Nautilus extensions and developers are beginning to notice the speed with which they can develop additional tools. Some possibilities include a code repository view that uses the basic appearance and functionality of Nautilus file management, but adds tools to interact with the file server and display file metadata like revision numbers, locks and branches. A photograph-management system using Nautilus views could add basic image editing features like rotate, comment and crop, built on the familiar thumbnail view of images from the file manager. You can build Nautilus extensions in any language, but C# is an increasingly popular choice. (For developer articles about Nautilus extensions and other topics, visit Novell Cool Solutions online.)

Meeting Administrator Needs

The average user wants an operating system that's easy to use. But as an administrator, you need an operating system that's easy to use, because you have to handle tech support calls and repair or reinstall systems when users break something. Novell Linux Desktop has several features that keep users satisfied and safe, while making it easy for you to deploy, manage and even redeploy systems when necessary.

Figure 3

Figure 4

System Lockdown

One feature you'll appreciate is an extended ability to lock down user preferences and access to applications. UNIX has long had a relatively simple approach to system restriction: because most settings are stored in configuration files, you simply set those files or directories as read-only. If you can't write to the file, you can't change the settings. But the file-based system doesn't provide you with the finer-grained control you need. For GNOME applications, the GConf system does exactly that.

GConf is an XML-based configuration-storage mechanism that consists of a system-wide set of defaults, per-user settings instances and a daemon which controls access to them. The daemon can also alert multiple applications to a change in settings. That way, when you change a single setting, you can apply it instantly across the entire desktop if you want.

Right now, you can adjust these settings manually or with shell scripts that you run through ZENworks Linux Management 6.5. Future releases of ZENworks Linux Management will build on that framework to allow administrators to fine tune settings policies in different groups of systems without shell scripts. In other words, with just a few clicks, you can control the smallest details of configuration on any number of systems in any location-all at once. For example, you can improve privacy and reduce the amount of undesirable material accidentally brought into the office by setting Evolution to not load remote images in HTML messages, just by setting one GConf key.

Another approach to system lockdown is the Kiosk Tool included in the KDE desktop which allows administrators to build kiosk systems quickly and easily. Most IT professionals think of automated airport check-in stations when they hear "kiosk." But a kiosk configuration can be used in a variety of ways, only some of which actually resemble that type of kiosk. Anything accessed by multiple users, of course, is a candidate for the kiosk treatment: online bridal registry stations, public Internet access stations and shop-floor terminals are the most immediate examples. However, the kiosk tool is also appropriate for transactional deployments such as call centers, or anywhere administrators want to restrict the number of available applications.

Thin Client Configurations

Like other operating systems, Novell Linux Desktop can be deployed in a thick or thin client configuration. Thin clients provide greater centralized control and allow you to use less powerful (i.e., cheaper) hardware. However, they aren't an option for remote workers and don't provide much user flexibility. In addition, they are highly dependent on a fast network so be sure that your server and network infrastructure are up to the task. Thick clients provide users with much more flexibility and power at the expense of administrator control. And of course, you'll need more powerful hardware if you plan to run applications on the client rather than on the server.

The default Novell Linux Desktop configuration is a full, or thick client. A thinner client deployment is slightly more complicated, because it means that you must configure a server as well. Novell recommends the Linux Terminal Server Project (LTSP) for thin client configurations.

To set up an LTSP server, first install the ltsp-utils package, and then run the ltspadmin application. ltspadmin allows you to get the various applications which you will be serving to client systems, and also lets you determine which clients can and cannot connect to the server. (For more details, visit www.ltsp.org online.)

Configuring the client itself is relatively simple: you need only set it to boot from the network or from a disk that you have prepared. The most convenient option, PXE boot, is supported by most, but not all, hardware. (Again, see the documentation online at www.ltsp.org for more detailed information.)

Deploying Novell Linux Desktop

As in earlier releases of SUSE LINUX operating systems, the AutoYaST system allows you to define a default system type and install it over a network-repeatably and quickly. So it's easy to roll out 100 systems when you add a new department to your company, and it's easy to replace systems if someone places a powerful magnet too close to a hard drive.

AutoYaST uses two different methods called rules and classes to define systems. Rules, like e-mail filter rules, define a few options that apply to one or more systems and may be mixed and applied over one another. Classes represent a complete configuration which is typical for a group of systems. You can define classes and then apply rules to them, or stick with just one or the other. Rules and classes are defined in a set of XML files which you may edit by hand or create using the graphical YaST configuration tool.

An AutoYaST rules file might contain the following code:

<?xml version="1.0"?>
<!DOCTYPE autoinstall SYSTEM "/usr/share/autoinstall/dtd/rules.dtd">
<autoinstall xmlns="http://internal.novell.com/1.0/yast2ns"
xmlns:config="http://internal.novell.com/1.0/configns">
  <rules config:type="list">
    <rule>
      <domain>
        <match>mydeployment.novell.com</match>
        <match_type>exact</match_type>
        continue config:type="boolean">false</continue>
      </domain>
    </rule>
  </rules>
</autoinstall>

This code defines an automatic installation of all systems in the mydeployment.novell.com domain. In this example, the "continue" parameter is set to "false," so systems matching this profile will not have any other rules applied to them.

The AutoYaST configuration files can then be placed on an installation server. Client systems attempting to boot from the network can be directed to the installation server, boot from the installation disk, and have a custom installation applied to them automatically. Using AutoYaST, you can start an unattended installation in about ten seconds. After you start it, it will complete automatically in 30 to 40 minutes, depending on network performance and the amount of software you're installing.

After the installation is finished, your next steps will be training and any needed maintenance. Novell can help with both. (Although we don't have room to discuss them in great detail here.)

Further Reading and Other Resources

Novell recommends ZENworks Linux Management to maintain your Linux deployment. ZENworks lets you define groups of individual computers and then deploy different applications to them on the schedule you prefer. Learn more about Novell ZENworks and in Hear Ye! Hear Ye! in this issue.

Novell offers training services directly to you as well as through partners. You might also want to conduct your own training seminars; Novell can help you with materials and suggestions. See Novell Training for more information. For more information about C#, .NET and the Mono project, visit www.go-mono.net. For an extensive library of online calendars that can be used in Novell Evolution and elsewhere, visit www.icalshare.com. For additional developer articles, see Novell Coolsolutions.

Script vs. Image-based Installations

AutoYaST is a script-based installation tool, but you can also use image-based installation solutions such as Symantec Ghost. Image-based tools provide greater compression and efficiency, but are really only effective in deployments with a small number of configurations deployed in high volume. A script-based system like AutoYaST is more flexible, allowing you to adjust configuration quickly or add security updates without changing the entire image.

Novell Linux Desktop Statistics

  • Linux Kernel 2.6

  • Core API shared with SUSE LINUX Enterprise Server 9

  • Desktop environments: GNOME 2.6 and KDE 3.2

  • Package format: RPM

  • Default File System: ReiserFS (ext3 and others available)

  • Official Development Languages: Java, C#, C++, C, (others available)

  • Official Human Languages: English (US), Finnish, French (France), German, Italian, Norwegian, Portuguese (Brazil), Spanish (Latin America), Swedish (others available)

  • Supported Groupware Client: All standards-based servers, GroupWise, SUSE LINUX Openexchange and Microsoft Exchange.

  • Key Applications: OpenOffice.org Novell Edition, Novell Evolution, iFolder 2

Performance Kernel

The kernel used in Novell Linux Desktop 9 is from the 2.6 series, and is also featured in SUSE LINUX Enterprise Server 9. Novell Linux Desktop 9 is the first enterprise-class desktop operating system to feature the Linux 2.6 kernel, which brings broader hardware support and is dramatically faster than 2.4 series kernels. Benchmarks indicate that performance is 3-5 times faster in many cases.

Costs To Consider

Crashes and viruses don't send invoices, but they do have a real cost. How much time does your organization spend on virus and crash recovery? How much is an hour of your time worth?

Novell Linux Desktop ships with many applications that cost extra if you use them on other operating systems. You counted the operating system and the office suite in your Windows licensing costs, but did you include anti-virus software or file compression utilities? All these and literally hundreds more are included with Novell Linux Desktop. What's more, there's no additional cost to get them! They come in the box!

* Originally published in Novell Connection Magazine


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates