Archive for March, 2009

Adobe Reader 9 released – Linux and Solaris x86

Adobe Reader 9.1 for Linux and Solaris x86 has been released today. Solaris x86 support was one of the most requested feature by users. As per the Reader team’s announcement, this release includes the following major features:
    – Support for Tabbed Viewing (preview)
    – Super fast launch, and better performance than previous releases
    – Integration with
    – IPv6 support
    – Enhanced support for PDF portfolios (preview)
The complete list is available here.
Adobe Reader 9.1 is now available for download and works on OpenSolaris, Solaris 10 and most modern Linux distributions such as Ubuntu 8.04, PCLinuxOS, Mandriva 2009, SLED 10, Mint Linux 6 and Fedora 10.

AIR applications and root access on Linux

A number of users have tweeted, blogged and sent us emails – “It’s understandable for AIR itself to need root access during its installation (since it installs to /opt), but why do AIR applications need root access for installation, especially when I’m installing the application to a folder owned by me?”
The answer lies in the fact that AIR applications are similar to regular native applications – they install as native rpm/deb packages. This requires access to the rpm/deb system database (e.g. rpm database lock). And this is required even if the installation folder is chosen to be one that is owned by the current non-root user. In addition, with root privileges, it’s also possible to install applications to a location that is accessible to other users on the system.
However, do note that when they are launched, AIR applications run with the privileges of the user launching the application and not root. The primary executables of AIR applications (under the bin/ folder in the installation path) do not have the setuid bit set. You should not be worried about AIR applications running with root privileges, based on the fact that their installation required superuser access – the two are completely independent.

Why does AIR install only on rpm/deb based Linux distros?

AIR applications are not web applications running outside the browser, but are full-fledged desktop applications with their own windows and access to the filesystem, clipboard and other system resources.
Being desktop applications, they should also integrate well with the system’s package manager (instead of being simply extracted to a directory). On Windows, this corresponds to “Add/Remove Programs”. On Linux, this means the likes of Synaptic or Pirut. This makes it easy for users – since they use the system’s package manager to uninstall other applications, it should be no different for AIR applications. AIR also depends on the package manager for version management of applications (and of the runtime itself) and to ensure that required dependencies are fulfilled.
Since rpm and deb are the most popular package formats, we chose to focus on them. They have been widely adopted, are used in several popular Linux distributions and are not specific to a distro. Who knows which formats will be popular by the time the next version of AIR is released!
Though AIR’s installer is available as a self-extracting executable and AIR applications are distributed as .air files, both of these get installed on the system as native rpm/deb packages. We’re considering alternative distribution formats – If you have an idea or suggestion, please let us know.

Tutorial – Using Flex Builder Linux with AIR 1.5.1

This article is based on the earlier tutorial about AIR Beta + Flex Builder, but is updated for the latest release of AIR (1.5.1).
The primary changes are:
1. Use AIR 1.5.1 SDK instead of AIR Beta SDK
2. Use Flex SDK 3.3 instead of Flex SDK 3.1

Some changes are required to get Flex Builder to use the latest AIR SDK for Linux. This is a step-by-step guide to get things up and running.
1. Ensure that you have Sun JRE >= 1.5 in your PATH (This can be verified with “java -version”)
2. Install Eclipse (cpp or java) >= 3.3 to $HOME/eclipse
    – Download Eclipse IDE 3.4 from (if you do not already have Eclipse >= 3.3)
    – Update: Use Eclipse IDE 3.3 (instead of 3.4), to enable the mxml editor (syntax highlighting and more) (from
    – cd ~
    – tar zxvf ./eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz
    – This extracts eclipse under ~/eclipse
3. Install Flex Builder alpha 4 Eclipse plugin
    – Download the Flex Builder installer from and launch it
    – chmod +x ~/flexbuilder_linux_install_a4_081408.bin
    – ~/flexbuilder_linux_install_a4_081408.bin
    – Choose $HOME/eclipse as the “Existing Eclipse Folder”:
    – Choose “Proceed with caution” if prompted
4. Install Flex SDK 3.3
    – Download Flex SDK 3.3 from
       – Choose Build, Adobe Flex SDK dated Feb 5, 2009
    – Unzip it to a new folder (“3.3”) under ~/Adobe_Flex_Builder_Linux/sdks:
    – cd ~/Adobe_Flex_Builder_Linux/sdks
    – mkdir 3.3
    – cd 3.3
    – unzip ~/
5. Install AIR 1.5.1 SDK under Flex SDK 3.3
    – Download Adobe AIR 1.5.1 SDK from to $HOME
    – Untar it to the folder created above
       – cd ~/Adobe_Flex_Builder_Linux/sdks/3.3
       – tar jxvf ~/air_1.5_sdk.tbz2
    – Rename bin/adl to bin/adl_lin and bin/adt to bin/adt_lin (These are what Flex Builder expects)
       – cd bin
       – mv adl adl_lin
       – mv adt adt_lin
6. Set the newly installed SDK as default
    – Launch eclipse
       – ~/eclipse/eclipse
    – Window -> Preferences -> Flex -> Installed Flex SDKs
    – Click on Add
    – Select ~/Adobe_Flex_Builder_Linux/sdks/3.3 as the “Flex SDK location”. Click OK.
       – Choose “Flex 3.3” as the active SDK by selecting its checkbox. Click OK.
We’re done!
To verify that the setup is correct:
1. Create a new AIR application
    – Create a new Flex Builder project (through File -> New)
    – Choose a project name, choose “Desktop application (runs in Adobe AIR)” as the application type. Click Finish.
    – If you see the message “Could not open the editor: Assertion failed”, right-click on the .mxml file in the Flex Navigator panel and select Open with > Text Editor. You can then edit the mxml file, though without syntax highlighting and other features of the mxml editor.
2. Edit the new application’s .mxml file
    – Change the line:
       <mx:WindowedApplication xmlns:mx=”” layout=”absolute”>
       <mx:WindowedApplication xmlns:mx=”” layout=”absolute” title=”{NativeApplication.nativeApplication.runtimeVersion}”>
3. Run the application (Ctrl-F11)
4. The application’s window will show up. Check the title of the window. It should be “” (latest AIR SDK) if everything was set up correctly.
The application can be packaged as a .air file through File -> Export -> Flex Builder -> Release Build.