‘Glimpse’ for Linux Offers Safe Sandbox Testing of Unstable Apps

We all want the latest features and changes an app has to offer, and for many of us that means using unstable, beta or sometimes even alpha quality software.

This ‘bite of the beta pie’ approach has drawbacks: application performance may not be ideal and you risk files being trashed by buggy new features.

Enter Glimpse which lets ‘unstable’ applications run alongside stable applications in a ‘sandbox’, making the testing of alpha software (for curiosity’s sake or more) a relatively fear-free experience.

Glimpse application sandbox for Linux

The developer of Glimpse, , explains: -

“Applications run in Glimpse are allowed to read your real data, but when they write to it or modify it in any other way, all the changes stay within their sandbox. Your real files on your system are left intact.”

Sergey then gives an example Glimpse in use with an unstable music player…

Without Glimpse: First, you spend lots of time on setting up the build environment (again?! how do those guys manage to change it so quickly?!), including unstable version of compiler that breaks all other builds in the system. Then, when you finally manage to try the player for 10 minutes, you realize that the “improved writing metadata to files” has just broken half of your music library. You’re out of luck or have to restore a manual backup (if one exists).

With Glimpse: You open Glimpse, click “Update sandbox”, and the latest version of the player arrives in a few minutes, not hours. And if you find that all the music files in the sandbox are broken, you think “thanks to Glimpse, my files are safe,” click the “Purge sandbox files” button, and your original music is available in the sandbox again.

Download Glimpse

Glimpse works with Ubuntu 10.10 onwards. Just add the following PPA to your Software Sources:

  • sudo add-apt-repository ppa:glimpse-hackers/stable
Next step is to run an update and install both glimpse and a profile for your Apps to use:
  • sudo apt-get update && sudo apt-get install glimpse glimpse-profile-elementary glimpse-profile-ubuntu

Once download launch ‘Glimpse’ from the Dash. In the window that opens click on the ‘Profile’ you wish to use. Depdning on the profile chosen you may need to download or locate an .iso for Glimpse to use.

From there you just hit the ‘Launch Apps’ button to launch an app in Sandboxed mode (such as the ‘Software Centre’ for adding some Unstable PPAs to play with).

Trying elementary OS Luna

If you choose to try the development build of elementary OS ‘Luna’ you will be prompted to download an .iso of the latest Ubuntu 11.10 Daily Build. Once completed, and elementary sandbox launched, you will need to open ‘Cerbere’ from the apps list to launch the “full blown” Pantheon Desktop Shell (Slingshot, Wingpanel, etc.) on your desktop.

Tip: Log in to a “classic” GNOME session with the latest elementary GTK theme selected before doing this as it gets in the way of Unity ;)

For more information, including on some of the technical caveats in using Glimpse,  head over to Sergey’s blog

No related posts.

Post a comment or leave a trackback: Trackback URL.
  • Kamil Prusko

    It would be really awesome to have such feature in Ubuntu Software Center, a “Try” button :)

    • https://launchpad.net/~shnatsel Shnatsel

      They actually have it, you just have to install one package to add that button but I don’t remember the name.

      • http://pulse.yahoo.com/_HHS3YNBYUFBBEPUESRLV747QOM Dylan

        Its called: qtnx.

        Install that and you can test drive apps in Ubuntu Software Center!

        • Anonymous

          Oh i didn’t know about this one. tried it, and it sure is awesome! =D

          thx for the tip =)

        • Anonymous

          Oh i didn’t know about this one. tried it, and it sure is awesome! =D

          thx for the tip =)

        • Anonymous

          Oh i didn’t know about this one. tried it, and it sure is awesome! =D

          thx for the tip =)

        • Anonymous

          “NX is a differential X compression protocol for X11.

          This package provides the QT client.”

          Are you sure?

  • Omer Akram

    someone else was also working on sandboxing I read on planet ubuntu dont know where that went

    edit: i should have read the article not only the title

  • http://www.facebook.com/people/Kizito-Mudambo/100000043562909 Kizito Mudambo

    Sounds fun

  • http://jimmyvolatile.myopenid.com/ Jimmy

    Now, this is the best news I’ve heard in the last couple of months. Only thing missing now are automatic uploading of crash reports.

    • https://launchpad.net/~shnatsel Shnatsel

      Good idea, we gotta work on that…

  • http://twitter.com/zzecool zzecool

    I loled at “Without Glimpse” comment  …………….  so true !!

  • ean5533

    Excellent article Joey. A clear but concise explanation, a screenshot, installation instructions, link to original article, and no spelling errors. I think that covers every possible complaint that the trolls love to whine about. 

    More on-topic: I recommend everyone use Glimpse to try Beatbox if they like lightweight media players. I’ve already essentially replaced Rhythmbox on my machine, and this is only a 0.1 release for Beatbox!

    • ike ahloe

      yeah me too, I use banshee to write playlists to cd, but thats about it. beatbox is sooo much slicker

    • Anonymous

      two reasons I don’t use beatbox:
      DAAP support
      clementine

  • Anonymous

    What about Arkose? How do the differ?

    https://launchpad.net/arkose

  • ike ahloe

    don’t mean to bring it up again and again, but opportunities present themselves. appbundles would eliminate the need for over-complicated things like this. If you wanted to try out a software, download it and run it alongside other versions. don’t like it? throw it away. the cons are outweighed by the fact that they just work and you don’t have to deal with problems all the time.

  • ike ahloe

    don’t mean to bring it up again and again, but opportunities present themselves. appbundles would eliminate the need for over-complicated things like this. If you wanted to try out a software, download it and run it alongside other versions. don’t like it? throw it away. the cons are outweighed by the fact that they just work and you don’t have to deal with problems all the time.

    • https://launchpad.net/~shnatsel Shnatsel

      There are lots of issues with this approach, in particular it results in over-complicated dependency/ABI tracking or static compilation that consumes LOTS and LOTS of RAM.

      Attempts in doing that keep popping up, from RUNZ framework to AppImages and AutoPackage, and all of them fail even though they get support from major software vendors sometimes.

      Packaging systems were created especially to avoid this brain-damage.

      • ike ahloe

        (don’t read unless you’re shnatsel. I don’t want to bore anyone else, it’s basically a duplicate comment anyways)what? none of those projects get/got any support at all… the closest is appimages, but it has no support form gnome, kde, or the major distros (not to mention the makers are delusional about the importance of 64 bit). Nothing will be successful without support from desktops/OSes to integrate.      I have more dependency problems with a packaging system because if i update 1 library it affects multiple programs even though maybe only 1 should use the updated library. I once updated my video editor’s main library mlt…. but another video editor wasn’t compatible so i had to uninstall the other just to use the first mentioned….(also, no multiple versions, crazy hunt for program files if needed, incomplete uninstalls often, having to pop in passwords just to add a little game at user level…. )      also there are well designed ways for app bundling that do not significantly affect ram usage. Obviously OSX does fine with the majority of it’s smaller apps running out of bundles, even the bigger ones store the majority in one bundled location. I’m not talking “yet another bundle project”. I’m talking about a legitimate attempt by a few big linux forces to fully integrate an option.
              my main problem is repo systems take away the ability for the devs to control the experience of their software. suddenly careless maintainers, distro differences,  and problems with shared libraries are always screwing up the developers intended experience. devs can’t control which version of a lib will work best with that version of a software, or which stripped, tampered version of a library that OS uses.    When a user starts using linux, they have to get used to stuff breaking randomly with they update a new software or library… THEN when they go to the software’s support, they find people asking what distro they use and then you hear “ooohhh you’re using (distro)… well of course dummy, that distro sucks with this app, install these 3rd party repos and learn all this complicated crap to get a regular experience and make your software sources a crazy unstable mess     And the versions of software provided by the repo are generally very old and when new releases come out you have to wait until the next cycle, where it may not be updated, and if it is it might be poorly packaged by the OS maintainers. It’s so fun to wake up to find a software was released and you can just download it, click it, and bam, exactly what you the software devs intend.    serious software selection will never come to ubuntu like that…. software makers like their customers to have a reliable experience across all platforms. taking away all of their power to 1. create a specific experience and 2.  create excitement for new releases, makes most software studios avoid linux because they know the OS gets in the way of them and the user.(i added paragraphs for some sensitive dudes from a few posts ago, even though this is basically a duplication, but yeah don’t say i’m not thinking of you )

        • https://launchpad.net/~shnatsel Shnatsel

          Yeah, 900Mb VLC player installer for Mac OS X is especially nice. A full linux distro including it consumes less space :P Surely the way to go.
          (actually they fixed it now but it used to be 900Mb)

          Ubuntu solves these issues by building all apps with a given library version in each release. It’s a good idea. Rolling-release sounds cool but it’s far too hard to maintain and develop at the same time, so rolling-release distros either keep the same architecture for years or don’t provide any and let the user build it.

          OS X still has serious issues with RAM consumption. The memory management on the classical Mac OS can be used to frighten small children, and they don’t seem to care much about it even in OS X.

          I actually haven’t seen any cases of library version mismatch in Ubuntu repos. Midori on elementary OS uses a terribly outdated webkitgtk+ and suffers a lot from it, but that’s a different story. Ubuntu also tends to provide several versions of each library if there are ABI differences between the versions.

          I think Ubuntu should have more open and transparent package review process, that’s all. PPAs currently hold lots of useful stuff which is NOT moving to its repos despite being supposed to do so.

          Also, for those seeking updates, there is the official backports repository.

          • ike ahloe

            1. well i think harddrive space is so cheap i rather have a simple reliable system.

            2. great job on Glimpse. I think it’s a great idea, which helps the current system a lot.

            3. the more transparent package review process could definitely help things out. also being careful about packaging multiple libraries when abi differences are present. but this is part of my point… why have to deal with all this?

            4. the backports is not something that is basic to users. People seem to think power users are the only ones who want to install a new software the week it comes out.  Not true. Many artists for instance want to keep up to date on software but not get into a crazy technical maze.  I think regular people like to go to projects’ sites on launch days excited, and download an app and run it simply and easily. Installing things any other way than the repo is explicitly warned by the OS to not be recommended…   The OS says to not use new software when it comes out.  That sounds to me like the OS is directly distracting the user experience in a  world where everyone is excited to use new features in stable releases. 

            5. i’ll agree that the current system could use improvement and be bearable and even enjoyable… but i’ll always feel that a more sensible solution already is right in front of everyone. I’m so annoyed with apple’s software policies and new design strategies that I hate having to admire so much of the basic solid foundation osx is built upon. common sense based usage for regular smart folks.

          • zekopeko

            >Yeah, 900Mb VLC player installer for Mac OS X is especially nice. A full
            linux distro including it consumes less space :P Surely the way to go.
            (actually they fixed it now but it used to be 900Mb)

            I googled. This is appears to be a complete fabrication. The installer is 32MBs.

            Now for the crux of your argument. This whole shared libraries stuff made sense when RAM was measured in KBs. A few more megabytes of used RAM mean very little to me when I have 4GB.

            It means even less if I can get new versions of my applications without having to upgrade my whole OS hoping nothing breaks.

            The Mac App Store (and the future Windows app store) are the way forward. Applications developers need to start packaging their apps instead of leaving it to distributions.

        • ean5533

          See my final paragraph for a tl;dr version.

          You may not realize it, but the very core of your argument is choice versus control. Specifically, user choice versus developer control.

          I’m a software developer. I understand precisely what you mean when you talk about “what the software devs intended you to experience.” It’s frustrating trying to write cross-platform software that behaves the same on all platforms. Hell, even C# .NET applications on Windows aren’t completely consistent between Windows versions.

          The problem is that user choice and developer control are fundamentally incompatible. The only way to give more control to developers is to take choice away from everyone else. That’s why Windows software is typically more consistent; the user has less control over his environment. The developer thus has fewer targets to aim at; fewer variables to account for.

          The OSS philosophy favors choice more heavily than developer control. That’s one of the main mantras of OSS advocates. OSS philosophy aims to give more choice to the user, as well as more choice to 3rd parties who want to package up OSS software into neat little bundles. As you give users more ability to change their environment, you’re inescapably taking away that control from the developers.

          As a simple example, consider the idea of desktop notifications. On Windows XP you know exactly what a desktop notification looks like: a little yellow bubble. It will always look like a little yellow bubble, forever. On Linux, however, no one can even agree what notifications should be! Some people think notifications should be intangible “display-only” windows that you can’t interact with, while others think notifications should be something with buttons that you get to click on to do different activities. Some people think notifications should be stuck to a standard look, while others think that notification appearance should be completely customizeable by the program doing the notifying.

          And here’s the kicker: none of those ideas are wrong. None of those ideas are somehow flawed or inferior. It all depends on user choice. However, by allowing some users to have clickable notifications and some users not, suddenly an application developer has to think very hard about how he’s going to handle notifications. When my IM app pops up a notification to the user that Joe has IM’d them, should I include a button for the user to click on to open that chat window? Not all users will have that button depending on what notification library they’re using. 

          I can’t force the user to use my preferred notification library… unless I just bundle my own notification library right into the program. That would certainly make my app more consistent across platforms, but it also takes away choice from the user. Suddenly a user with a libnotify-based distro starts getting these strange notifications that look nothing like the others on his system, and they get in the way of his workflow. The user doesn’t like this behavior but is unable to change it. The user has lost choice so that the developer could gain some control.

          Again, the core of the problem is that the more control we give to developers, the less choice a user has. Linux, like all OSS software, encourages choice for the user. This necessarily means more work for a developer who wants things to work on every Linux distro. In the end if you want to be a Linux developer you have to draw your own lines. You have to explicitly decide what platforms you want to support and which ones you don’t have the manpower for. You have to be willing to accept that users standing outside that line are going to complain, and you have to be ready to calmly tell them “if you’d like to help, here’s the source code.” And you have to accept that 90% of them will respond by calling you lazy and ranting about switching to Arch. So, write your software, draw your lines, and prepare your hate filters. You’re in for a wild ride.

          • ike ahloe

            @ean5533:disqus  interesting read. I’m interested in seeing how the development of Haiku OS’s package management will turn out. i don’t expect that project to get really far, and it’s ugly haha, but they are planning on using App Bundles AS WELL as package manager. Somebody messaged me about this because it’s exactly what I was wanting for linux. so I was reading about it today on it’s website. best of luck to that project even though i’m not super optimistic. Hopefully in a few years there might be a good foundation there that can either expand or inspire linux…. i mean i guess it’s a good way to test out what i’m talking about without wasting time on ubuntu development if it wouldn’t work out

          • Anonymous

            This is why we have standards, like FreeDesktop.org’s notification standard.

          • ean5533

            The freedesktop.org notification spec does not address anything I talked about in my example. It specifically does not address whether or not notifications can be interacted with.

            Even if it did, it wouldn’t matter because freedesktop.org isn’t a standard, and no one takes it seriously. From freedesktop.org’s site:
            “These are not really standards

            Note: freedesktop.org is not a standards body.”

          • Anonymous

            I misunderstood what you were saying. You are right about that.

  • https://launchpad.net/~maitraya-bhattacharyya megababaii

    And if I need to test an unstable version of Glimpse, should I run it under the stable version? :P I think so..

  • http://profiles.google.com/dajomu1 daj omu
    • http://profiles.google.com/harveycabaguio Harvey Cabaguio

      They’re not the same thing.

  • Jordan Ketterer

    What about when you really want to try the new Glimpse and have to go the without glimpse way LOL

    • Anonymous

      you would just put glimpse in glimpse which contains another glimpse of a glimpse …. glimpse glimpse glimpse

      :P

      • B ers

        Glimpception

        • https://launchpad.net/~woutervddn Wouter Vandenneucker

          Yo Dawg, so I heard you like glimpse

          • http://www.facebook.com/ItsJoshGrant Josh Grant

            Exactly what I thought!

      • http://www.facebook.com/profile.php?id=1056520521 John Timothy Poole

        That’s a whole lot of glimpse’ing

        • http://twitter.com/eduardobatta Eduardo Battaglia

          Well, there’s Glimpse egg sausage and Glimpse, that’s not got much Glimpse in
          it.

  • https://launchpad.net/~shnatsel Shnatsel

    Here you go, a fancier screenie:

  • Anonymous

    Little unfortunate about the name, Glimpse… Their are already a few other software products called Glimpse – http://getglimpse.com and ingloriousapps.posterous.com/glimpse are both called Glimpse :(

  • http://pulse.yahoo.com/_43QWMHEO2T24W5ONPMHAADTMOY alex

    Can i test unity with it???

  • http://www.facebook.com/profile.php?id=1092969838 Robert Koolis

    This is freaking amazing.

  • http://twitter.com/zc456 Squeaks

    This could massively speed up development of many projects!

  • http://twitter.com/zc456 Squeaks

    This could massively speed up development of many projects!

  • Anonymous

    I can’t wait to see if sandboxing of all executables is possible. Security on steroids.

  • http://kennydude.me Joe Simpson

    I would actually love for this to be integrated into Ubuntu at some point :D It would give it a much needed edge on the other systems, as (if properly implemented) this would work transparently and in the USC you could just have a button “Roll back my data” and “Report an issue”

  • http://twitter.com/wolterh Wolter Hellmund

    am I the only one getting an error with a missing zenity.ui file?