Planet Ubuntu

Subscribe to Planet Ubuntu feed
Planet Ubuntu -
Updated: 1 hour 1 min ago

Raphaël Hertzog: My Free Software Activities in March 2015

Wed, 04/01/2015 - 01:10

My monthly report covers a large part of what I have been doing in the free software world. I write it for my donators (thanks to them!) but also for the wider Debian community because it can give ideas to newcomers and it’s one of the best ways to find volunteers to work with me on projects that matter to me.

Debian LTS

This month I have been paid to work 15.25 hours on Debian LTS. In that time I did the following:

  • CVE triage: I pushed 37 commits to the security tracker and contacted 20 maintainers about security issues affecting their packages.
  • I started a small helper script based on the new JSON output of the security tracker (see #761859 for details). It’s not ready yet but will make it easier to detect issues where the LTS team lags behind the security team, and other divergences like this and will speed up future CVE triage work (once done).
  • I sent DLA-174-1 (tcpdump update fixing 3 CVE) after having received a debdiff from the Romain Françoise.
  • I prepared DLA-175-1 on gnupg, fixing 3 CVE.
  • I prepared DLA-180-1 on gnutls26, fixing 3 CVE.

That’s it for the paid work. But still about LTS, I proposed two events for Debconf 15:

In my last Freexian LTS report, I mentioned briefly that it would be nice to have a logo for the LTS project. Shortly after I got a first logo prepared by Damien Escoffier and a few more followed: they are available on a wiki page (and the logo you see above is from him!). Following a suggestion of Paul Wise, I registered the logo request on another wiki page dedicated to artwork requests. That kind of collaboration is awesome! Thanks to all the artists involved in Debian.

Debian packaging

Django. This month has seen no less than 3 upstream point releases packaged for Debian (1.7.5, 1.7.6 and 1.7.7) and they have been accepted by the release team into Jessie. I’m pleased with this tolerance as I have argued the case for it multiple times in the past given the sane upstream release policy (bugfix only in a given released branch).

Python code analysis. I discovered a few months ago a tool combining the power of multiple Python code analysis tools: it’s prospector. I just filed a “Request for Package” for it (see #781165) and someone already volunteered to package it, yay \o/

update-rc.d and systemd. While working on a Kali version based on Jessie, I got hit by what boils down to a poor interaction between systemd and update-rc.d (see 746580) and after some exchanges with other affected users I raised the severity to serious as we really ought to do something about it before release. I also opened
#781155 on openbsd-inetd as its usage of inetd.service instead of openbsd-inetd.service (which is only provided as a symlink to the former) leads to multiple small issues.


Debian France. The general assembly is over and the new board elected its new president: it’s now official, I’m no longer Debian France’s president. Good luck to Nicolas Dandrimont who took on this responsibility.

Salt’s openssh formula. I improved salt’s openssh formula to make it possible to manage the /etc/ssh/ssh_known_hosts file referencing the public SSH keys of other managed minions. I was looking for a free software solution to handle membership management of a large NPO and I discovered Tendenci. It looked very interesting feature wise and written with a language/framework that I enjoy (Python/Django). But while it’s free software, there’s no community at all. The company that wrote it released it under a free software license and it really looks like that they did intend to build a community but they failed at it. When I looked their “development forums” were web-based and mostly empty with only initial discussion of the current developers and no reply from anybody… there’s also no mention of an IRC channel or a mailing list. I sent them a mail to see what kind of collaboration we could expect if we opted for their software and got no reply. A pity, really.

What free software membership management solution would you use when you have more than 10000 members to handle and when you want to use the underlying database to offer SSO authentication to multiple external services?


See you next month for a new summary of my activities.

No comment | Liked this article? Click here. | My blog is Flattr-enabled.

Benjamin Mako Hill: More Community Data Science Workshops

Tue, 03/31/2015 - 19:41
Pictures from the CDSW sessions in Spring 2014

After two successful rounds in 2014, I’m helping put on another round of the Community Data Science Workshops. Last year, our 40+ volunteer mentorss taught more than 150 absolute beginners the basics of programming in Python, data collection from web APIs, and tools for data analysis and visualization and we’re still in the process of improving our curriculum and scaling up.

Once again, the workshops will be totally free of charge and open to anybody. Once again, they will be possible through the generous participation of a small army of volunteer mentors.

We’ll be meeting for four sessions over three weekends:

  • Setup and Programming Tutorial (April 10 evening)
  • Introduction to Programming (April 11)
  • Importing Data from web APIs (April 25)
  • Data Analysis and Visualization (May 9)

If you’re interested in attending, or interested in volunteering as mentor, you can go to the information and registration page for the current round of workshops and sign up before April 3rd.

Michael Zanetti: OpenStore, TweakGeek and more

Tue, 03/31/2015 - 11:55

Now that the Ubuntu Phone is finally in the hands of many people, it’s time to get some hacking started! This is an attempt to bootstrap some hacking community around the devices that wants to explore the phone beyond of what the platform offers to the normal user at this time. To get this started I prepared an app, called Open App Store that allows hackers to install applications that can’t be published to the official store. This really is not about competing with the official Ubuntu store, but is meant as an extension for power users and developers.

Excited? Download the app here but think twice! This thing opens doors for possibilities to break your Ubuntu installation. Only install it if you know what you’re doing, install it at your own risk and make sure that you know how to reflash your device if you break something [1].

At this point you won’t find many apps in this store, but I managed to prepare two:

* TweakGeek: An app that allows you changing special settings of the device.
* Big Moving Text: You probably know this one from the official store. This version however, is able to keep your display lit while the text is running. Thanks to Michal Predotka for this contribution.

If you have an app that you’d like publishing in this store, here are the rules we’re gonna start with (those might change at some point but for now I think they make sense to see where this is going):

* If an application can be published in the official Ubuntu store, publish it there.
* If an application could be published in the official Ubuntu store if it wouldn’t be about that one cool feature, publish a stripped down version in the official store! Not everyone should and will have Open App Store installed.
* Only open source applications allowed: As the applications might have arbitrary access to the device, every submitted app will get a review and the source code is published along with the app.

Still on board? Here’s how you get started:
* Add an additional .apparmor file to your project (.apparmor.openstore) requesting the special permissions you need.
* Send me a link to a branch for your app to along with some instructions on how to build it if they differ from the standard (Ubuntu SDK).
* Give a short explanation why you can’t publish that in the official store. No need to go into details, a one liner like “needs to keep the display lit” will do. List all the special features you have, if there are more.

Looking forward to your contributions. For now the source code for the Open App Store can be found here. If you want to help out with developing the store app and/or the infrastructure behind it, ping me on IRC or drop me a mail.

Happy Hacking!


Ubuntu Kernel Team: Kernel Team Meeting Minutes – March 31, 2015

Tue, 03/31/2015 - 10:11
Meeting Minutes

IRC Log of the meeting.

Meeting minutes.


20150331 Meeting Agenda

Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:


Status: Vivid Development Kernel

Our Vivid kernel has been rebased to v3.19.3. We are planning to
upload today. We are rapidly approaching kernel freeze for Vivid on
Thurs Apr 9. If you have any patches which need to land for 15.04′s
release, please make sure to submit those asap.
Important upcoming dates:
Thurs Apr 09 – Kernel Freeze (~1 week away)
Thurs Apr 23 – 15.04 Release (~3 weeks away)

Status: CVE’s

The current CVE status can be reviewed at the following link:

Status: Stable, Security, and Bugfix Kernel Updates – Utopic/Trusty/Precise/Lucid

Status for the main kernels, until today:

  • Lucid – None (no update)
  • Precise – Testing & Verification
  • Trusty – Testing & Verification
  • Utopic – Testing & Verification

    Current opened tracking bugs details:


    For SRUs, SRU report is a good source of information:



    Current cycle: 20-Mar through 11-Apr
    20-Mar Last day for kernel commits for this cycle
    22-Mar – 28-Mar Kernel prep week.
    29-Mar – 11-Apr Bug verification; Regression testing; Release

    NOTE: Lucid goes EOL on April 30.

Open Discussion or Questions? Raise your hand to be recognized

No open discussion.

Jonathan Riddell: Ubuntu on Air in 30 mins

Tue, 03/31/2015 - 08:31

Me and Rohan will be on Ubuntu on Air in 30 minutes



The Fridge: Ubuntu Weekly Newsletter Issue 410

Mon, 03/30/2015 - 19:33

Dimitri John Ledkov: Boiling frog, or when did we loose it with /etc ?

Mon, 03/30/2015 - 08:15
$ sudo find /etc -type f | wc -l
2794StatelessWhen was the last time you looked at /etc and thought - "I honestly know what every single file in here is". Or for example had a thought "Each file in here is configuration changes that I made". Or for example do you have confidence that your system will continue to function correctly if any of those files and directories are removed?

Traditionally most *NIX utilities are simple enough utilities, that do not require any configuration files what's so ever. However most have command line arguments, and environment variables to manipulate their behavior. Some of the more complex utilities have configuration files under /etc, sometimes with "layer" configuration from user's home directory (~/). Most of them are generally widely accepted. However, these do not segregate upstream / distribution / site administrator / local administrator / user configuration changes. Most update mechanisms created various ways to deal with merging and maintaining the correct state of those. For example both dpkg & RPM (%config) have elaborate strategies and policies and ways to deal with them. However, even today, still, they cause problems: prompting user for whitespace changes in config files, not preserving user changes, or failing to migrate them.

I can't find exact date, but it has now been something like 12 years since XDG Base directory specification was drafted. It came from Desktop Environment requirements, but one thing it achieves is segregation between upstream / distro / admin / user induced changes. When applications started to implement Base directory specification, I started to feel empowered. Upstream ships sensible configs in /usr, distribution integrators ship their overlay tweaks packaged in /usr, my site admin applies further requirements in /etc, and as I user I am free to improve or brake everything with configs in ~/. One of the best things from this setup - no upgrade prompts, and ease of reverting each layer of those configs (or at least auditing where the settings are coming from).

However, the uptake of XDG Base directory spec is slow / non-existing among the core components of any OS today. And at the same time /etc has grown to be a dumping ground for pretty much everything under the sun:
  • Symlink farms - E.g. /etc/rc*.d/*, /etc/systemd/system/*.wants/*, /etc/ssl/certs/*
  • Cache files - E.g. /etc/
  • Empty (and mandatory) directories
  • Empty (and mandatory) "configuration" files. - E.g. whitespace & comments only
Let's be brutally honest and say that none of the above belongs in /etc. /etc must be for end-user configuration only, made by the end user alone and nobody else (or e.g. an automation tool driven by the end-user, like puppet).

Documentation of available configuration options and syntax to specify those in the config files should be shipped... in the documentation. E.g. man pages, /usr/share/doc, and so on. And not as the system-wide "example" config files. Absence of the files in /etc must not be treated as fatal, but a norm, since most users use default settings (especially for the most obscure options). Lastly compiled-in defaults should be used where possible, or e.g. layer configuration from multiple locations (e.g. /usr, /etc, ~/ where appropriate).

Above observations are not novel, and shared by most developers and users in the wider open source ecosystem. There are many projects and concepts to deal with this problem by using automation (e.g. puppet, chef), by migrating to new layouts (e.g. implementing / supporting XDG base dir spec), using "app bundles" (e.g. mobile apps, docker), or fully enumerating/abstracting everything in a generic manner (e.g. NixOS). Whilst fixing the issue at hand, these solutions do increase the dependency on files in /etc to be available. In other words we grew a de-facto user-space API we must not break, because modifications to the well known files in /etc are expected to take effect by both users and many administrator tools.

Since August last year, I have joined Open Source Technology Center at Intel, and have been working on Clear Linux* Project for Intel Architecture. One of the goals we have set out is to achieve stateless operation - that is to have empty /etc by default, reserved for user modification alone, yet continuing to support all legacy / well-known configuration paths. The premise is that all software can be patched with auto-detection, built-in defaults or support for layered configuration to achieve this. I hope that this work would interest everyone and will be widely adopted.

Whilst the effort to convert everything is still on going, I want to discuss a few examples of any core system.
ShadowThe login(1) command, whilst having built-in default for every single option exits with status 1, if it cannot stat(2) login.defs(5) file.

The passwd(1) command will write out the salted/hashed password in the passwd(5) file, rather than in shadow(5), if it cannot stat the shadow(5) file. There is similar behavior with gshadow. I found it very ironic, that upstream project "shadow" does not use shadow(5) by default.

Similarly, stock files manipulated by passwd/useradd/groupadd utilities are not created, if missing.

Some settings in login.defs(5) are not applicable, when compiled with PAM support, yet present in the default shipped login.defs(5) file.

Patches to resolve above issues are undergoing review on the upstream mailing list.
DBusIn xml based configuration, `includedir' elements are mandatory to exist on disk, that is empty directory must be present, if referenced. If these directories are non-existant, the configuration fails to load and the system or session bus are not started.

Similarly, upstream have general agreement with the stateless concept and patches to move all of dbus default configurations from /etc to /usr are being reviewed for inclusion at the bug tracker. I hope this change will make into the 1.10 stable release.
GNU Lib CToday, we live in a dual-stack IPv4 and IPv6 world, where even the localhost has multiple IP addresses. As a slightly ageist time reference, the first VCS I ever used was git. Thus when I read below, I get very confused:
$ cat /etc/host.conf
# The "order" line is only used by old versions of the C library.
order hosts,bind
multi onWhy not simply do this:
--- a/resolv/res_hconf.c
+++ b/resolv/res_hconf.c
@@ -309,6 +309,8 @@ do_init (void)
   if (hconf_name == NULL)
     hconf_name = _PATH_HOSTCONF;

+  arg_bool (ENV_MULTI, 1, "on", HCONF_FLAG_MULTI);
   fp = fopen (hconf_name, "rce");
   if (fp)
There are still many other packages that needed fixes similar to above. Stay tuned for further stateless observations about Glibc, OpenSSH, systemd and other well known packages.

In the mean time, you can try out images that implement above and more already. If you want to chat about it more, comment on G+, find myself on irc - xnox @ #clearlinux and join our mailing list to kick the conversation off, if you are interested in making the world more stateless.

I am a professional Linux Distribution developer, currently employed by Intel, however the postings on this site are my own and don't necessarily represent Intel's or any other past/present/future employer positions, strategies, or opinions.

* Other names and brands may be claimed as the property of others

Ubuntu App Developer Blog: Return of the Ubuntu UI Toolkit

Mon, 03/30/2015 - 06:45

Next month will be the release of Ubuntu 15.04 (Vivid Vervet) for desktop, and this version of Ubuntu will soon become the version that will be installed on Ubuntu phones as well. With the release of 15.04, we also release a new version of our UI toolkit: Ubuntu.Components 1.2. Below are some of the new features that it will have.

Hasta la vista, toolbar!

In Ubuntu.Components 1.1, the bottom-edge toolbar was replaced by a new header that can be used for navigating the app and trigger actions. Actions that used to be in the  toolbar were automatically moved to the header, and a useDeprecatedToolbar property was added to the MainView for developers that liked to keep the toolbar. In 1.2, the toolbar and useDeprecatedToolbar property are definitely gone which enabled us to clean up the MainView and header code, so that we can give you a fresh new visual design and more control over the looks and behavior of the header very soon.

One ListItem to rule them all

There are many different list items in Ubuntu.Components.ListItems, but they are not always easy to customize and the performance when you use thousands of them in your app is not optimal. Therefore, we now introduce the all-new ListItem component. It replaces all of the old list items, is super-fast (even when you have ten thousands of them), you can swipe them left and right to reveal actions, they offer selection mode (to quickly select a subset of all the list items), and the user can re-order the items in a list. Awesome :)


Ubuntu Shape up (doo doo doo)

The UbuntuShape is now in the best shape ever! It has been refactored to optimize performance (for example, the rendering is now "batched" so even a lot of them can be rendered fast), semi-transparent images and colored backgrounds are supported, you can use all the fill modes and tiling that the Image component supports, there is 2D transformation support, and the implementation was made extensible so that new features can be added more easily.

Here is the code for the app that was used for the two screenshots above:

import QtQuick 2.4 import Ubuntu.Components 1.2 MainView { width: height: //useDeprecatedToolbar: false // terminated Page { title: "Return of the UITK" ListItemActions { id: exampleLeadingActions actions: [ Action { iconName: "tick" }, Action { iconName: "delete" } ] } ListView { anchors.fill: parent model: 10 delegate: ListItem { id: listItem Label { anchors { left: parent.left leftMargin: verticalCenter: parent.verticalCenter } text: "List item "+index } leadingActions: exampleLeadingActions UbuntuShape { anchors { right: parent.right top: bottom: parent.bottom margins: } height: width backgroundMode: listItem.highlighted ? UbuntuShape.VerticalGradient : UbuntuShape.SolidColor backgroundColor: listItem.highlighted ? : UbuntuColors.lightGrey secondaryBackgroundColor: source: Image { source: "logo.png" } sourceFillMode: UbuntuShape.PreserveAspectFit } } } } }

Besides these new features, we fixed a whole bunch of bugs and we are working hard on the next version of the UI toolkit that we will be blogging about in the near future, so stay tuned for more good stuff!


Kubuntu Wire: Kubuntu Sweaters Added to Hellotux Shop

Mon, 03/30/2015 - 06:42

Hellotux donates to Kubuntu with every purchase.

Kubuntu: Kubuntu Sweaters Added to Hellotux Shop

Mon, 03/30/2015 - 05:44
Hellotux have added sweaters to their Kubuntu branded clothes range. Donations to Kubuntu with every purchase.

Mathieu Trudel: Preseeding installations

Sun, 03/29/2015 - 18:29
In early February, I completed a move from Canonical's Phonedations team to the Foundations team. Part of this new work means debugging a lot of different failure cases in the installer, grub, and other early boot or low-level sofware, some of which requiring careful reproduction steps and probably quite a few install runs in VMs on on hardware.

Given the number of installations I do I've started to keep around preseed files; the text files used to configure automatic installations. I've made them available at so that they can be reused as necessary. Most of these preseed files make heavy use of the network to get the installation data and packages from the web, so they will need to be tweaked for use in an isolated network. They are annotated enough that it should be possible for anyone to improve on them to suit their own needs. I will add to these files as I run across things to test and automate. I hope we can use some of them soon in new automated QA tests where appropriate, so that it can help catch regressions.

For those not familiar with preseeding, these files can be used and referred to in the installation command-line when starting from a network PXE boot or a CDROM or pretty much any other installation medium. They are useful to tell the installer how you want the installation to be done without having to answer all of the individual questions one by one in the forms in ubiquity or debian-installer. The installer will read the preseed file and use these answers without showing the prompts. This also means some of the files I make available should not be used lightly, as they will happily wipe disks without asking. You've been warned :)

To use this, you'll want to specify "preseed/file=/path/to/file" (or just file=) for a file directly accessible as a file system or through TFTP, or "preseed/url=http://URI/to/file" (or just url=) if it's available using HTTP. On d-i installs, this means you may also need to add "auto=true priority=critical" to avoid having to fill in language settings and the like (since the preseeds are typically only read after language, country, and network have been configured); and on ubiquity installs (for example, using a CD), you'll want to add 'only-ubiquity automatic-ubiquity' to the kernel command-line, again to keep the automated, minimal look and feel.

I plan on writing another entry soon on how to debug early boot issues in VMs or hardware using serial. Stay tuned.

Carla Sella: Planet Ubuntu-it RSS feed scope

Sun, 03/29/2015 - 13:06
So now Planet Ubuntu-it has is own Ubuntu Phone RSS feed scope.I created it using scopecreator command as I wrote in my previous article: My first Ubuntu Touch Scope.

Planet Ubuntu-it RSS feed scopePlanet Ubuntu-it RSS feed scope

Planet Ubuntu-it RSS feed scopePlanet Ubuntu-it RSS feed scope

Planet Ubuntu-it RSS feed scope

Ronnie Tucker: There’s an app for that…

Sun, 03/29/2015 - 04:50

… but it’s only in the Ubuntu Store.

Yes, indeed. We have an Ubuntu phone web app.

It’s not much. It’s really just a viewer for the website, but it’s quick way of checking the site and downloading PDF/EPUB issues to your device.

To view the issues you’ll need to install Document Viewer (if it’s not already on your device) also from the Ubuntu Store.

Forums Council: Ubuntu Membership

Sun, 03/29/2015 - 03:51

It has been sometime since we last talked about Ubuntu Membership through forum contributions.

Applying is quite simple and we have a dedicated forum area just for it. The process is detailed here and summarized at.

In addition to the normal Ubuntu Member benefits as a forum Ubuntu Member you’ll be first to know when things are changing and can take a part in forming the forum’s moderation team.

So, if you have been contributing to the forums for a while and are interested in becoming a Ubuntu member, please put together a wiki and Launchpad page, sign the Ubuntu Code of Conduct and dive in.

Luke Faraone: Key transition

Sat, 03/28/2015 - 12:55
I'm migrating PGP keys from 0xF9FDD506 to 0x0C14A470. If you signed my old key, I would appreciate you signing my new key as well. Feel free to ping me with questions.

Accordingly, I've published a transition statement signed by both keys.

Matt Zimmerman: What I think about thought

Sat, 03/28/2015 - 09:50

Only parts of us will ever
touch o̶n̶l̶y̶ parts of others –
one’s own truth is just that really — one’s own truth.
We can only share the part that is u̶n̶d̶e̶r̶s̶t̶o̶o̶d̶ ̶b̶y̶ within another’s knowing acceptable t̶o̶ ̶t̶h̶e̶ ̶o̶t̶h̶e̶r̶—̶t̶h̶e̶r̶e̶f̶o̶r̶e̶ so one
is for most part alone.
As it is meant to be in
evidently in nature — at best t̶h̶o̶u̶g̶h̶ ̶ perhaps it could make
our understanding seek
another’s loneliness out.

– unpublished poem by Marilyn Monroe, via berlin-artparasites

This poem inspired me to put some ideas into words this morning, an attempt to summarize my current working theory of consciousness.

Ideas travel through space and time. An idea that exists in my mind is filtered through my ability to express it somehow (words, art, body language, …), and is then interpreted by your mind and its models for understanding the world. This shifts your perspective in some way, some or all of which may be unconscious. When our minds encounter new ideas, they are accepted or rejected, reframed, and integrated with our existing mental models. This process forms a sort of living ecosystem, which maintains equilibrium within the realm of thought. Ideas are born, divide, mutate, and die in the process. Language, culture, education and so on are stable structures which form and support this ecosystem.

Consciousness also has analogues of the immune system, for example strongly held beliefs and models which tend to reject certain ideas. Here again these can be unconscious or conscious. I’ve seen it happen that if someone hears an idea they simply cannot integrate, they will behave as if they did not hear it at all. Some ideas can be identified as such a serious threat that ignoring them is not enough to feel safe: we feel compelled to eliminate the idea in the external world. The story of Christianity describes a scenario where an idea was so threatening to some people that they felt compelled to kill someone who expressed it.

A microcosm of this ecosystem also exists within each individual mind. There are mental structures which we can directly introspect and understand, and others which we can only infer by observing our thoughts and behaviors. These structures communicate with each other, and this communication is limited by their ability to “speak each other’s language”. A dream, for example, is the conveyance of an idea from an unconscious place to a conscious one. Sometimes we get the message, and sometimes we don’t. We can learn to interpret, but we can’t directly examine and confirm if we’re right. As in biology, each part of this process introduces uncountable “errors”, but the overall system is surprisingly robust and stable.

This whole system, with all its many minds interacting, can be thought of as an intelligence unto itself, a gestalt consciousness. This interpretation leads to some interesting further conclusions:

  • The notion that an individual person possesses a single, coherent point of view seems nonsensical
  • The separation between “my mind” and “your mind” seems arbitrary
  • The attribution of consciousness only to humans, or only to living beings, seems absurd

Adnane Belmadiaf: Running Dekko in LXC

Sat, 03/28/2015 - 09:35

I was approached by Daniel Chapman to help with the new message view in Dekko(Ubuntu Touch email client) which uses Oxide Webview to render the message details. Dekko is using the new Ubuntu SDK 1.1 which is not present in the LTS version 14.04, we have tried to make it run but it was impossible.

Setup LXC

To have a clear idea on how LXC works and how to setup your environment make sure you check Nekhelesh's post,

Unpriviledged container

To run Dekko we need to create an unpriviledged container using Utopic 14.10, and let's name it utopicdev :

$ lxc-create --template download --name utopicdev -- --dist ubuntu --release utopic --arch i386 $ sudo chown -R 1000:1000 ~/.local/share/lxc/utopicdev/rootfs/home/ubuntu Running the container

So at this point i had some issues with cgmanager :

$ lxc-start -n utopicdev lxc_container: cgmanager.c: lxc_cgmanager_create: 299 call to cgmanager_create_sync failed: invalid request lxc_container: cgmanager.c: lxc_cgmanager_create: 301 Failed to create hugetlb:utopicdev lxc_container: cgmanager.c: cgm_create: 646 Error creating cgroup hugetlb:utopicdev lxc_container: start.c: lxc_spawn: 861 failed creating cgroups lxc_container: start.c: __lxc_start: 1080 failed to spawn 'utopicdev' lxc_container: lxc_start.c: main: 342 The container failed to start. lxc_container: lxc_start.c: main: 346 Additional information can be obtained by setting the --logfile and --logpriority options.

I fixed it by restarting my machine only, now let's run it in daemon mode :

$ lxc-start -n utopicdev -d Using the container$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY /home/ubuntu/dekko/__build/dekko

When trying to run it you get the following error :

$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY /home/ubuntu/dekko/__build/dekko Cannot chdir into /proc/ directory: Permission denied [0325/] Failed to read from chroot pipe: Not a directory [0325/] Check failed: EnterSuidSandbox(setuid_sandbox, post_fork_parent_callback). Failed to enter setuid sandbox

You get this error is because dekko is using Oxide to render message view which uses setuid sandbox, using OXIDE_DISABLE_SETUID_SANDBOX=1 we can disable it since the LXC container already provides the isolation.

$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY OXIDE_DISABLE_SETUID_SANDBOX=1 /home/ubuntu/dekko/__build/dekko

Note that i am running the compiled version, so you need to install the SDK and compile dekko first.

Benjamin Kerensa: Calling Out OkCupid

Fri, 03/27/2015 - 15:15

So the other day, Indiana’s governor signed a bill into law that the Republican controlled legislature passed called the Religious Freedom Restoration Act. The reality of this bill is it has nothing to do with freedom of religion and everything to do with legalizing discrimination.

Anyways, to the point, I hate to open a can of worms but when I heard this news I thought back to this same time last year and remembered how gung ho OkCupid was over Mozilla’s appointment of Brendan Eich because of his personal beliefs and that they ultimately decided to block all Firefox users.

I don’t really think OkCupid should block Indiana but their lack of even a public tweet or statement in opposition of this legislation leads me back to my original conclusion that they were just riding the media train for their own benefit and not because they support the LGBT community.

If you are going to be about supporting the LGBT community, try to at least be consistent in that support and not just do it when it will make you look good in the media!

Simos Xenitellis: Πως φτιάχνουμε εύκολα app (webapp) για το Ubuntu Phone!

Fri, 03/27/2015 - 13:50

Θα δούμε πως μπορούμε να φτιάξουμε εύκολα ένα webapp (εφαρμογή/app που εμπεριέχει mobile website) στο Ubuntu Touch. Για τα βήματα αυτά δεν χρειάζεται να έχουμε καν το κινητό.

Ξεκινούμε με το να βρούμε ένα δικτυακό τόπο που διαθέτει μια έκδοση για κινητά (mobile website). Για το παράδειγμά μας, χρησιμοποιούμε το

Καθώς βλέπουμε το, παρατηρούμε (στο τέλος της σελίδας) να κάνει αναφορά για το RealMobile και τον ιστότοπο Όταν επισκεφούμε το σύνδεσμο αυτό, βλέπουμε ότι είναι ειδική έκδοση mobile. Αυτό είναι το στοιχείο που αρκεί για να φτιάξουμε το webapp μας!

Για τη δημιουργία ενός απλού webapp για το Ubuntu Touch, θα χρησιμοποιήσουμε τη σελίδα που παράγει το πακέτο click με την εφαρμογή, και μετά πάμε στο για να προσθέσουμε την εφαρμογή. Ας δούμε τα βήματα με λεπτομέρεια.

1.  Πάμε στο και συνδεόμαστε με το λογαριασμό μας στο Ubuntu One. Αν δεν έχετε ήδη λογαριασμό, πατήστε να δημιουργήσετε. Όταν το κάνετε, θα δείτε μια σελίδα με τίτλο «Create your Webapp package».

2. Συμπληρώνουμε τη σελίδα όπως παρακάτω.

Webapp creator for Ubuntu Phone


  1. App name, το όνομα της εφαρμογής. Είναι ένα αλφαριθμητικό που το βλέπει ο χρήστης στη λίστα εφρμογών. Επιλέγουμε κάτι που βοηθάει την ορατότητα της εφαρμογής. Οι εφαρμογές ταξινομούντε αλφαβητικά και έχει νόημα στο παράδειγμά μας να επιλέξουμε κάτι που να ξεκινάει με Real.
  2. Webapp URL, είναι το σύνδεσμος (URL) για το φορητό δικτυακό τόπο. Στο παράδειγμά μας, όταν επισκεπτόμαστε το με τον περιηγητή του Ubuntu μας, μας μεταφέρει αυτόματα στο όταν ολοκληρωθεί η φόρτωση της σελίδας. Οπότε, επέλεξα να βάλω το δεύτερο URL. Δεν έχει ουσιαστική σημασία ποιο θα βάλουμε, αρκεί να φορτώνει στο φορητό δικτυακό τόπο.
  3. App Icon, το εικονίδιο της εφαρμογής, σε αρχείο PNG και σε διαστάσεις 256x256. Εδώ πήρα το λογότυπο από το και το επεξεργάστηκα στο GIMP ώστε να παραχθεί η εικόνα

    Λογότυπο (256x256)

  4. App options, οι επιλογές που ταιριάζουν στο δικτυακό τόπο για χρήση ως webapp. Κρατήστε πατημένο το Ctrl για να επιλέξτε με το ποντίκι περισσότερα από ένα. Για τις επιλογές έχουμε:
    1. Store cookies, αν θα αποθηκεύει cookies ώστε να φαίνονται οι σύνδεσμοι που έχουμε επισκεφθεί. Ακόμα, αν ο δικτυακός τόπος χρησιμοποιεί cookies για να αναγνωρίζει τους επισκέπτες, τότε η επιλογή χρειάζεται. Γενικά, όταν στο webapp δεν υπάρχουν πληροφορίες που θέλουμε να διατηρούνται και να γνωρίζει ο δικτυακός τόπος, τότε δεν επιλέγουμε το Store cookies.
    2. Show header, αν θα εμφανίζεται στο πάνω μέρος σε μια μπάρα το όνομα του δικτυακού τόπου.
    3. Show back and forward buttons, αν θα εμφανίζονται στο πάνω μέρος σε μια μπάρα κουμπιά για εμπρός και πίσω. Αν δεν το επιλέγουμε, τότε δεν θα έχουμε δυνατότητα να πάμε πίσω/εμπρός καθώς επισκεπτόμαστε σελίδες στο webapp. Εδώ θα το απενεργοποιούσαμε αν το webapp είναι τέτοιο που δεν χρειάζεται τέτοια κουμπιά, ή αν παρέχει το ίδιο τέτοια κουμπιά.
    4. Run fullscreen, αν το webapp θα τρέχει σε πλήρη οθόνη. Αν δεν το επιλέξουμε, τότε θα φαίνεται η (πάνω) μπάρα κατάστασης του Ubuntu Touch που δείχνει την ώρα, μπαταρία, δίκτυα, κτλ. Αν το επιλέξουμε, τότε το webapp θα λειτουργεί σε πλήρη οθόνη.
  5. Developer namespace, είναι το όνομα χρήστη που έχουμε στο Launchpad/Ubuntu One καθώς φτιάξαμε το λογαριασμό μας. Μπορεί να μπει και ο δικτυακός μας τόπος, αν έχουμε.
  6. Maintainer full name, το όνομά μας.
  7. Maintainer e-mail, το ε-μαίηλ μας.

Όταν συμπληρώσουμε τη σελίδα, πατάμε στο Submit για να δημιουργηθεί το webapp μας. Θα δημιουργηθεί ένα αρχείο με κατάληξη .click το οποίο και αποθηκεύουμε στο δίσκο μας.

Έπειτα, μπαίνουμε στη διαδικασία αποστολής της εφαρμογής στο Ubuntu Store.

Επισκεπτόμαστε στη σελίδα και συνδεόμαστε με το λογαριασμό μας στο Launchpad/Ubuntu One. Θα εμφανιστεί η αρχική σελίδα με τις εφαρμογές μας. Αρχικά θα είναι κενή και θα φαίνεται μόνο το κουμπί New application. Το πατάμε και βλέπουμε τη λίστα με τις βασικές πληροφορίες εφαρμογής.

Συμπλήρωση βασικών στοιχείων εφαρμογής

Συμπληρώνουμε όπως

  1. Your application, εδώ πατάμε το πλήκτρο Select file και επιλέγουμε το αρχείο της εφαρμογής που δημιουργήσαμε προηγουμένως.
  2. Changelog, εδώ γράφουμε τις αλλαγές με την προηγούμενη έκδοση. Μιας και αυτή είναι η πρώτη έκδοση, γράφουμε κάτι τυπικό όπως Initial upload.
  3. Department, εδώ είναι το είδος της εφαρμογής που φτιάξαμε. Μιας και το είναι ειδησεογραφικό, βάζουμε από τη λίστα News & Magazines.
  4. Support URL, εδώ βάζουμε κάποιο δικτυακό τόπο για υποστήριξη. Μιας και δεν έχουμε επικοινωνήσει με τον ίδιο το δικτυακό τόπο για τη δημιουργία αυτής της εφαρμογής, βάζουμε κάτι δικό μας. Μια καλή επιλογή είναι το ημαιλ μας.
  5. License, η άδεια διάθεσης της εφαρμογής μας. Μια καλή επιλογή είναι GNU GPL v3.

Εκτός από τις βασικές επιλογές, υπάρχουν και προαιρετικές. Συγκεκριμένα,

Συμπλήρωση προαιρετικών στοιχείων εφαρμογής

Συμπληρώνουμε όπως



  1. Application name, το όνομα της εφαρμογής, όπως το είχαμε βάλει πιο πριν.
  2. Tagline, περιγραφή της εφαρμογής σε μια γραμμή.
  3. Description, περιγραφή της εφαρμογής. Αυτό θα φανεί όταν ο χρήστης εντοπίσει την εφαρμογή μας στο Κατάστημα Ubuntu. Είναι καλό να περιγράψουμε την εφαρμογή μας αρκετά καλά.
  4. Keywords, διάφορες λέξεις-κλειδιά για την εφαρμογή μας. Είναι καλό να βάλουμε αρκετές λέξεις ώστε η εφαρμογή μας να μπορεί να εντοπιστεί εύκολα στις αναζητήσεις.

Στο τέλος της σελίδας υπάρχουν οι τελικές επιλογές,

Συμπλήρωση τελικών προαιρετικών στοιχείων εφαρμογής


  1. Icon 256, το εικονίδιο που φτιάξαμε πιο πριν. Εδώ μπορεί να χρειάζεται να το επαναλάβουμε αν και το περιέχει το αρχείο της εφαρμογής click.
  2. Screenshots, διάφορα στιγμιότυπα οθόνης από την εφαρμογή μας. Για τώρα είναι κενό. Όταν η εφαρμογή μπει στο Κατάστημα Ubuntu, την ξεκινούμε και τότε λαμβάνουμε στιγμιότυπο (πατάμε ταυτόχρονα Ήχος+/Ήχος- για τη λήψη στιγμιοτύπου).
  3. Application website, δικτυακός τόπος με τον κώδικα της εφαρμογής μας. Εδώ το αφήνουμε κενό.
  4. Price, η τιμή της εφαρμογής μας. Το αφήνουμε στο Make it free.

Πατάμε το κουμπί Submit και αυτό ήταν!

Η εφαρμογή έχει σταλθεί, και αναμένουμε να ελεγχθεί.

Εδώ ολοκληρώθηκε η αποστολή των στοιχείων και αναμένουμε να ολοκληρωθεί το review (έλεγχος) της εφαρμογής ώστε να γίνει δεκτή.

Για αρκετές εφαρμογές, ο έλεγχος ολοκληρώνεται άμεσα και το ίδιο συμβαίνει και με την εφαρμογή μας. Οπότε πατάμε στο σύνδεσμο check again για να φορτώσει η σελίδα ξανά.

Η εφαρμογή μας είναι διαθέσιμη στο Κατάστημα Ubuntu!

Και αυτό ήταν! Η εφαρμογή μας είναι διαθέσιμη πια στο Κατάστημα Ubuntu. Αναφέρει Published με το χρώμα της μπίλιας να είναι πράσινο.

Αν έχουμε κινητό με Ubuntu Touch, μπορούμε να εγκαταστήσουμε άμεσα την εφαρμογή.

Μπορούμε να δούμε την εφαρμογή μας στον κατάλογο εφαρμογών στο δικτυακό τόπο Εδώ, η ενημέρωση γίνεται κάθε λίγες ώρες, οπότε η εφαρμογή μας θα φανεί μετά από λίγο. Για την παραπάνω εφαρμογή, ο σύνδεσμος με τα στοιχεία είναι

Οπότε, μπορεί ο καθένας να βρει ένα δικτυακό τόπο που να παρέχει mobile website, και να φτιάξει ένα απλό webapp. Για τους δικτυακούς τόπους στην Ελλάδα, ελάχιστοι έχουν webapp οπότε είναι ευκαιρία να την φτιάξετε εσείς!


No comment

Related posts:

  1. Flash sale για το κινητό bq Aquaris E4.5 (Ubuntu Edition)
  2. Οδηγοί βίντεο για εγκατάσταση/χρήση Ubuntu Linux
  3. Δεύτερο flash sale για το bq Aquaris E4.5 (ubuntu edition): σήμερα Πέμπτη, 19 Φεβ 2015 (10πμ ώρα Ελλάδας)

Ronnie Tucker: FCM#95 has also arrived!

Fri, 03/27/2015 - 13:10

This month:
* Command & Conquer
* How-To : Program in Python, LibreOffice, and Using LaTeX
* Graphics : Inkscape.
* Linux Labs: Syncthing
* Review: BQ Aquaris E4.5 Ubuntu Phone & Able2Extract Pro 9 * Competition: WIN a copy of Able2Extract Pro 9
* Ubuntu Games: Penumbra Necrologue & Perfect Golf * My Story special on handling molecules in Linux
plus: News, Arduino, Q&A, and soooo much more.


Get it while it’s hot!