Skip to content

Kabouik/harbour-containers

 
 

Repository files navigation

Containers

A LXC manager and runner for SailfishOS

harbour containers

Documentation

What is it?

Containers (harbour-containers) is a SailfishOS application to create, download, manage and run Linux containers (LXC) from a convenient GUI. It relies on Xwayland to run the associated desktop environment inside a new SailifshOS window:

Screenshot 20220817 005 800
Screenshot 20220817 004 800
E5vInvOWQAMcxLg 800

Installation

Note
Before proceeding, make sure LXC kernel requirements are satisfied.
From Chum community repository

Install Chum from here, then search for "Containers" in its app list.

Screenshot 20220818 001 480
From command line
  1. Install dependencies:

    devel-su
    pkcon install zypper # If you don't have it installed already
    zypper install nemo-qml-plugin-dbus-qt5 sailfish-polkit-agent python3-base python3-gobject dbus-python3 xz
  2. Manually download here the latest version of lxc-templates-desktop ("noarch" folder), and qxcompositor and harbour-containers (in the folder that corresponds to your device architecture).

  3. Install them either from your Sailfish file manager or using:

    cd /path/to/directory/where/you/downloaded/the/three/rpms
    devel-su
    zypper install lxc-templates-dekstop-<VERSION>.rpm
    zypper install qxcompositor-<VERSION>.rpm
    zypper install harbour-containers-<VERSION>.rpm

How to use?

The GUI of harbour-containers should be straightforward, but see lxc-templates-desktop’s wiki for more details and CLI usage.

If unfortunately you checked "Setup desktop" when creating a new container but just saw the new container icon appear and then stop witnout a terminal prompting your for a user password, then the desktop was not configured. Go into that container in the GUI, press "init container config", and then "setup xsession".

Discussion

See the TMO thread.

Demos

  • Debian with i3 WM on a Pro1x running SailfishOS, with dynamic rotation (and rotation lock with keyboard opening):

    dynamicorientation
  • Kali with XFCE4 alongside SailfishOS:

    99102454 feeae200 25d5 11eb 935f b846233e8808
  • You can run any Linux desktop application that has been compiled for your architecture. See for instance rofi and Darktable below:

    99102434 fa262e00 25d5 11eb 853f f203327f9a55
  • While LXC containers of desktop Linux distributions are most convenient with a hardware keyboard phone like the F(x)tec Pro1 and Pro1x, Onboard is also preinstalled for compatibility with other smartphones:

    99102422 f5fa1080 25d5 11eb 9d74 b7a09c1a9a22
  • More pics:

    EmdbYnRXIAEZlLb 800
    EmdbYpVXYAA9Ou6 800
    Eo d7waW4AI17FB 800
    FSpmvrBWQAAqPL2 800
  • A video showcasing what LXC containers can do on SailfishOS is available here. Moar videos here.

Known issues/limitations

  • No sound in aarch64 devices (or please tell us)

  • No hardware acceleration

  • Only prebuilt binaries of Xwayland can be used at the moment inside containers (this is automated when setting up xsession from the GUI), because latest sources don’t support the XDG_WM_Base protocol that we need

License

This project is proudly licensed under GNU GPLv3.

About

A Linux containers manager for SailfishOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • QML 53.7%
  • Python 30.5%
  • Shell 10.9%
  • QMake 4.1%
  • C++ 0.8%