Tuesday, September 7, 2010

VishTecho

Just another WordPress weblog

Archive for the ‘Linux’ Category

Windows apps on Linux the CrossOver way

Posted by vishtecho On August - 14 - 2008

Who says you have to give up your must-have Windows applications when you migrate to Linux? If you can’t leave some crucial Windows program behind, you can run it using CodeWeavers’ latest version of CrossOver Linux.

Though today there are many great Linux end-user applications, some people still have “must-have” Windows applications — Quicken instead of GnuCash, for instance, or Photoshop instead of the GIMP. That’s where CrossOver Linux 7 comes in.

With this new version, you can run more Windows programs on Linux than ever. Such popular Windows programs as Microsoft Office — from 97 to 2007 — Internet Explorer 6, and Quicken run almost as well on Linux as they do on Windows. Other programs, like Adobe Photoshop CS3, run decently albeit not perfectly on Linux with CrossOver.

CrossOver is based on the open source project Wine, an implementation of the Windows API on top of the Unix/Linux operating system family. Wine is a very mature project, which, after 15 years of development, has reached the 1.0 mark.

You don’t need CrossOver Linux to run Windows applications on Linux. Wine alone is enough. Wine, however, requires more technical expertise to use properly. What CrossOver gives you is an automated Windows application installation and technical support. For most users, who just want to run their Windows programs and not bother with the nuts and bolts of Wine, CrossOver Linux, which retails for $40, is worth the money. CodeWeavers also offers CrossOver Mac, which brings the same functionality to Intel-powered Macs.

To see how well this Wine 1.0-powered edition of CrossOver Linux works I tested it on two systems. The first was my main openSUSE 11 desktop, a Hewlett-Packard Pavilion A6040N Desktop PC powered by a 1.86GHz Intel Core 2 Duo E6320 dual-core processor with 2GB of 533MHz RAM and a 320GB SATA (Serial ATA) hard drive running at 7200 RPM. It’s a good 2007-era PC.

I also put CrossOver 7 through its paces on an older Gateway 503GR running Ubuntu 8.04. It comes with a 3GHz Pentium 4 CPU, 2GB of RAM, an ATI Radeon 250 graphics card, and a 300GB SATA drive. Both systems had more than enough raw horsepower power to run Linux, CrossOver Linux, and multiple Windows and Linux applications simultaneously.

CrossOver requires very little from a system. CodeWeavers claims that any 32-bit system that runs at 200MHz can run CrossOver. The program will run on 64-bit systems, but only if they have the 32-bit compatibility library installed. CrossOver also requires that your Linux includes Glibc 2.3.x or greater and X11R6 3.3 or greater. XFree86 4 with XRender and FreeType support is recommended. The bottom line is any modern Linux can run CrossOver.

The program can be installed in several different ways. The sure-fire way of installing it on any Linux is to use its shell script. Once you have it installed, CrossOver presents you with a GUI that works equally well with both KDE and GNOME. Here, you choose which Windows applications you want to install from a supplied list of supported applications.

Installing Windows applications is a snap. It’s a pick and clip operation. You can also install non-supported applications. Some, such as my favorite HTML editor, NoteTab, even though not technically supported, will run, albeit with some problems.

You should also keep in mind that, while CodeWeavers is trying to support the most popular Windows applications on Linux, it doesn’t support every program. Check the company’s compatibility pages to see if anyone has tried to run your particular favorite program with CrossOver and how well it has gone for them.

Once in place, the supported Windows applications ran without a hitch. I spent most of my time working on Word 2003 documents, Excel 2003 spreadsheets, IE 6, and fairly complicated Quicken 2006 financial statements. The programs ran well. As a matter of fact they ran better on Linux than they did on Vista. Quicken, in particular, took better to CrossOver than it did to Vista. With a little research I found out that this was not just me. Vista is known to have trouble with several versions of Quicken.

Some Windows software runs better on Linux than it does on the latest version of Windows — who knew?

CrossOver isn’t perfect of course. While I was able to run Photoshop CS3, I sometimes had trouble rendering the CS3 interface. A screen refresh usually took care of the problem, but some users will doubtlessly find that annoying.

I would also sometimes need to force a screen refresh when one Windows application’s window covered up another. When I’d reveal the “lower” application, the part of it that had been covered by the other Windows application wouldn’t render properly. After doing anything with the new foreground application, such as running a command, the foreground program’s screen reappeared as it should.

CodeWeavers also offers CrossOver Linux Professional, which costs $70, can be used for multiple users, and comes with CrossOver Games. This addition includes advanced support for DirectX, Microsoft’s graphics application programming interfaces for games. With this, many Windows games will run well on Linux. I can personally attest that zapping your enemies and other baddies in World of Warcraft and Guild Wars is just as much fun on Linux as it on Windows. CrossOver Games is also available separately for $40.

Not sure if CrossOver is right for you? You can download a free 30-day trial version of CrossOver Linux and a seven-day trial edition of CrossOver Games. You should find that more than enough time to see if these programs deliver the Windows goods for you.

SOURCE: Linux

Killer Development tool from Linux Foundation

Posted by vishtecho On August - 8 - 2008

Ask any independent software vendor what he hates most about developing for Linux and he’ll tell you that it’s having to develop for SUSE and for Red Hat and for Ubuntu and … you get the idea. The Linux Foundation has just released a beta of a new program, Linux Application Checker (AppChecker), that’s going to make ISVs and other programmers start to love developing for Linux.

AppChecker, now in beta 3, is a downloadable open source Linux program. Once installed, the program shows you a Web page, the LSB Database Navigator. Here, you click on the Application Check link. This presents you with a Web form interface to fill out. In this form, you’ll enter a name for your report and Name field, and in the Components field you’ll enter the file path for your application. Next, enter the application’s individual files, directories, installed RPM packages (prepended with pkg:),; RPM and .deb package files, and tar.gz and tar.bz2 archives. To make this manageable, click on the Select Application Components button so you can enter each item in a separate field. Next, select the LSB Version and LSB Profile you want to test against.

You then let AppChecker rip. It will automatically decompress archives and start testing. The program will check out your ELF (Executable and Linking Format, a.k.a. binary files), Perl, Python, and shell scripts. So far, this doesn’t sound much more than just another fancied-up version of the forerunner of all program checkers, lint, but it’s what AppChecker does next that will make it a must for any Linux software developer.

AppChecker then checks your program not only against different versions of the Linux Standard Base (LSB), but also against all the Linux distributions in the LSB Database. After the test is done it will present you with a report. It’s this report that makes AppChecker special.

In the Web-based report, you’re shown the compatibility status of your application with the various distributions, and which external libraries and interfaces your program uses. If all goes well, it gives you the option of putting your program in for LSB certification straight from the test program. It doesn’t just give you a thumbs-up or thumbs-down for your application on any particular distribution, according to Amanda McPherson, Linux Foundation vice president of marketing and developer programs — it “gives you the details you need to get your program running on a particular distribution.”

McPherson warns, “This is a beta program and there’s no guarantee, but yes, if AppChecker says your program should work with, say, Ubuntu 7.10 and 8.04, then your application should work on these distributions. The results can get very granular. It will tell you this library or this interface isn’t available in this distribution. It can also recommend some replacements. For example, OpenSSL is often a problem and you should use different SSL library.”

The program’s initial idea came from McPherson and Ted T’so, the Linux Foundation’s CTO and noted Linux kernel developer. AppChecker was then put together by T’so and the Russian Academy of Science. The program is licensed under the GPLv2.

According to AppChecker’s technical documentation, AppChecker works by analyzing your “program’s C/C++ symbols — mostly functions with some global variables — and libraries required by an application that are satisfied by dynamically linked libraries provided by a distribution.”

AppChecker isn’t a debugger. It doesn’t check that the “type information expected by the application matches the type of the object provided by the distribution’s libraries. For example, the layout of a data structure might have changed, or the function parameter that had previously been a 32-bit integer may have been changed to a 64-bit integer. Another problem that cannot be detected by the AppChecker is if the details of a function’s behavior changes from one version to another.”

What it does do is spell out for you what libraries and interfaces are provided by any given distribution, and make suggestions on which ones you might use as replacements to work on a particular version of Linux, or that will work on several different Linux distributions, McPherson explains. With this tool, you can quickly see what you need to do with your application to make it more portable across different Linux distributions.

It isn’t perfect, of course. Not only is the program still in beta, but some libraries and interfaces aren’t in the LSB databases. Still, it’s a huge step forward in enabling developers to see exactly what they’re dealing with in writing an application for multiple different versions of Linux.

AppChecker users can keep their test results to themselves, but McPherson hopes that they’ll share their results with the Linux Foundation. “If you choose choose to share your results with us, it helps the Linux platform and helps the LSB get better. For example, it tells us what libraries Linux developers are using that aren’t in LSB. We can then include [them] in the LSB, and that will make the LSB better.”

SOURCE: LINUX

Author: Steven J. Vaughan-Nichols