FLATPAK
Flatpak is the new framework for desktop applications on Linux
Guided by
Prof.R.K CHAVAN
Presented by
Akash N. Karwande
2016MNS011
Flatpak History
 March 2016 ‐ first major xdg‐app release
 June 2016 ‐ xdg‐app renamed to Flatpak, flatpak.org launched by Red Hat.
 October 2016 ‐ Flatpak 0.6.13 released.
 major command line improvements, automatic checking and installation for runtimes, capabilities
that allow applications that cannot be freely redistributed to use Flatpak.
 November 2016 ‐Linux announces their adoption of Flatpak
How it works
Runtimes
 provide the environment including the basic dependencies they might
require to run the application
 Each application must be built against a runtime, and this runtime must be
installed on a host system
 Users can install multiple different runtimes at the same time, including
different versions of the same runtime.
 Flatpak identifies runtimes (as well as SDKs and applications) by a triple of
name/arch/branch. For example: org.gnome.Sdk
 GNOME runtimes are released with each major release and contain the
main GNOME platform libraries.
Install a runtime
Flatpak requires every app to specify a runtime that it uses for its dependencies. We'll
use the GNOME 3.22 development platform runtime for this. To install the runtime, we
first need to add the repository that provides it. Run:
And then install the runtime itself
Bundled Libraries
 If an application requires any dependencies that aren't in its runtime, they can be
bundled along with the application itself. This allows apps to use dependencies
that aren't available in a distribution, or to use a different version of a dependency
from the one that's installed on the host.
 Both runtimes and app bundles can be installed per-user and system-wide.
Sandboxes
 Flatpak isolates apps from the host OS as well as from other applications. This
provides security for users and a predictable environment for developers. (Some of
these features are work in progress)
 A sandbox is a testing environment that isolates untested code changes. Sandbox
is a platform to quickly and easily create or generate web service mocks, with
instant deploy, collaborative build, and debugging tools for API developers
The Flatpak Command
 flatpak is the tool that is used to install, remove and update runtimes and
applications. It can also be used to view what is currently installed, and has
commands for building and distributing application bundles. flatpak --help provides
a full list of available commands.
 Each Flatpak app has the following basic structure:
Install and Run a Flatpak
 With Flatpak, applications can be safely updated on a running system, without fear
of conflicts occuring. Flatpak also allows multiple versions of the same application
to be installed at the same time, which is great for testing development or testing
versions. And in the future, Flatpak's security first approach guarantee greater
privacy and peace of mind.
 In the near future, you will be able to install flatpaks painlessly from graphical tools
such as GNOME Software. Until then, you can use the commandline tool to install
and update flatpaks.
Install Flatpak
Before you can install applications with Flatpak, you need to install Flatpak itself.
Currently this has to be done using the command line.
This section contains instructions for installing Flatpak on Fedora or Ubuntu.
With Fedora 23 or later, run:
On Ubuntu, Flatpak is available through a PPA. To install it, run:
Add repositories
Flatpak allows you to install software from remote repositories. For this example we are going to use tw
repositories: one which contains GNOME apps, and one which contains the runtime that provides the
dependencies they need.
Once this is complete, you're all set to install some apps!
View, install and run apps
To view which apps are available in the gnome-apps repository, just run:
To download and install an app, like gedit, run:
This will automatically find and install the required runtime that the application depends on from the set of configured
remotes.
Installed applications should appear in the usual place in your desktop. You can also run them from the command line:
Flatpak Applications
 A growing number of apps are available as Flatpaks, including LibreOffice,
Telegram, GIMP, Inkscape, MyPaint and numerous core GNOME applications.
 This page provides an overview of what's available, along with instructions on how
to try them.
 Each application requires a runtime.
 Applications in this repository require the org.gnome.Platform runtime.
 The installation of LibreOffice and Telegram is done by commandline which is
shown by next:
LibreOffice
LibreOffice is available as a standalone Flatpak file. This relies on the org.gnome.Platform 3.20
runtime, as well as the org.gnome.Platform.Locale runtime. To download and install it, run:
Telegram
Experimental nightly builds of the Telegram desktop client are being made available by Jan
Grulich. These require the 3.20 version of the org.gnome.Platform runtime. To install, run:
Conclusion
Flatpak is the new framework for desktop applications on Linux. It allows the same
app to be installed on different Linux distributions, including different versions. And it
has been designed from the ground up with security in mind, so that apps are isolated
from each other and from the host system. Flatpak work on most Linux Distribution
such as Fedora, Ubuntu and Debian .
THANK YOU

Flatpak

  • 1.
    FLATPAK Flatpak is thenew framework for desktop applications on Linux Guided by Prof.R.K CHAVAN Presented by Akash N. Karwande 2016MNS011
  • 2.
    Flatpak History  March2016 ‐ first major xdg‐app release  June 2016 ‐ xdg‐app renamed to Flatpak, flatpak.org launched by Red Hat.  October 2016 ‐ Flatpak 0.6.13 released.  major command line improvements, automatic checking and installation for runtimes, capabilities that allow applications that cannot be freely redistributed to use Flatpak.  November 2016 ‐Linux announces their adoption of Flatpak
  • 4.
  • 5.
    Runtimes  provide theenvironment including the basic dependencies they might require to run the application  Each application must be built against a runtime, and this runtime must be installed on a host system  Users can install multiple different runtimes at the same time, including different versions of the same runtime.  Flatpak identifies runtimes (as well as SDKs and applications) by a triple of name/arch/branch. For example: org.gnome.Sdk  GNOME runtimes are released with each major release and contain the main GNOME platform libraries.
  • 6.
    Install a runtime Flatpakrequires every app to specify a runtime that it uses for its dependencies. We'll use the GNOME 3.22 development platform runtime for this. To install the runtime, we first need to add the repository that provides it. Run: And then install the runtime itself
  • 7.
    Bundled Libraries  Ifan application requires any dependencies that aren't in its runtime, they can be bundled along with the application itself. This allows apps to use dependencies that aren't available in a distribution, or to use a different version of a dependency from the one that's installed on the host.  Both runtimes and app bundles can be installed per-user and system-wide.
  • 8.
    Sandboxes  Flatpak isolatesapps from the host OS as well as from other applications. This provides security for users and a predictable environment for developers. (Some of these features are work in progress)  A sandbox is a testing environment that isolates untested code changes. Sandbox is a platform to quickly and easily create or generate web service mocks, with instant deploy, collaborative build, and debugging tools for API developers
  • 9.
    The Flatpak Command flatpak is the tool that is used to install, remove and update runtimes and applications. It can also be used to view what is currently installed, and has commands for building and distributing application bundles. flatpak --help provides a full list of available commands.  Each Flatpak app has the following basic structure:
  • 10.
    Install and Runa Flatpak  With Flatpak, applications can be safely updated on a running system, without fear of conflicts occuring. Flatpak also allows multiple versions of the same application to be installed at the same time, which is great for testing development or testing versions. And in the future, Flatpak's security first approach guarantee greater privacy and peace of mind.  In the near future, you will be able to install flatpaks painlessly from graphical tools such as GNOME Software. Until then, you can use the commandline tool to install and update flatpaks.
  • 11.
    Install Flatpak Before youcan install applications with Flatpak, you need to install Flatpak itself. Currently this has to be done using the command line. This section contains instructions for installing Flatpak on Fedora or Ubuntu. With Fedora 23 or later, run:
  • 12.
    On Ubuntu, Flatpakis available through a PPA. To install it, run: Add repositories Flatpak allows you to install software from remote repositories. For this example we are going to use tw repositories: one which contains GNOME apps, and one which contains the runtime that provides the dependencies they need. Once this is complete, you're all set to install some apps!
  • 13.
    View, install andrun apps To view which apps are available in the gnome-apps repository, just run: To download and install an app, like gedit, run: This will automatically find and install the required runtime that the application depends on from the set of configured remotes. Installed applications should appear in the usual place in your desktop. You can also run them from the command line:
  • 14.
    Flatpak Applications  Agrowing number of apps are available as Flatpaks, including LibreOffice, Telegram, GIMP, Inkscape, MyPaint and numerous core GNOME applications.  This page provides an overview of what's available, along with instructions on how to try them.  Each application requires a runtime.  Applications in this repository require the org.gnome.Platform runtime.  The installation of LibreOffice and Telegram is done by commandline which is shown by next:
  • 15.
    LibreOffice LibreOffice is availableas a standalone Flatpak file. This relies on the org.gnome.Platform 3.20 runtime, as well as the org.gnome.Platform.Locale runtime. To download and install it, run: Telegram Experimental nightly builds of the Telegram desktop client are being made available by Jan Grulich. These require the 3.20 version of the org.gnome.Platform runtime. To install, run:
  • 16.
    Conclusion Flatpak is thenew framework for desktop applications on Linux. It allows the same app to be installed on different Linux distributions, including different versions. And it has been designed from the ground up with security in mind, so that apps are isolated from each other and from the host system. Flatpak work on most Linux Distribution such as Fedora, Ubuntu and Debian .
  • 17.