Most recent items from Ubuntu feeds:
Jonathan Riddell: Reports of KDE neon Downloads Being Dangerous Entirely Exaggerated from Planet Ubuntu

When you download a KDE neon ISO you get transparently redirected to one of the mirrors that KDE uses. Recently the Polish mirror was marked as unsafe in Google Safebrowsing which is an extremely popular service used by most web browsers and anti-virus software to check if a site is problematic. I expect there was a problem elsewhere on this mirror but it certainly wasn’t KDE neon. KDE sysadmins have tried to contact the mirror and Google.
You can verify any KDE neon installable image by checking the gpg signature against the KDE neon ISO Signing Key.  This is the .sig file which is alongside all the .iso files.
gpg2 –recv-key ‘348C 8651 2066 33FD 983A 8FC4 DEAC EA00 075E 1D76’
gpg2 –verify neon-useredition-current.iso.sig
gpg: Signature made Thu 19 Jan 2017 11:18:13 GMT using RSA key ID 075E1D76
gpg: Good signature from “KDE neon ISO Signing Key <>” [full]
Adding a sensible GUI to do this is future work and fairly tricky to do in a secure way but hopefully soon.

about 23 hours ago

Jonathan Riddell: KDE neon Inaugurated with Calamares Installer from Planet Ubuntu

You voted for change and today we’re bringing change. Today we give back the installer to the people. Today Calamares 3 was released.
It’s been a long standing wish of KDE neon to switch to the Calamares installer.  Calamares is a distro independent installer used by various projects such as Netrunner and Tanglu.  It’s written in Qt and KDE Frameworks and has modules in C++ or Python.
Today I’ve switched the Developer Unstable edition to Calamares and it looks to work pretty nicely.
However there’s a few features missing compared to the previous Ubiquity installer.  OEM mode might be in there but needs me to add some integration for it.  Restricted codecs install should be easy to add.  LUKS encrypted hard disk are there but also needs some integration from me.  Encrypted home holders isn’t there and should be added.  Updating to latest packages on install should also be added.  It does seem to work with UEFI computers, but not with secure boot yet. Let me know if you spot any others.
I’ve only tested this on a simple virtual machine, so give it a try and see what breaks. Or if you want to switch back run apt install ubiquity-frontend-kde ubiquity-slideshow-neon''.


1 day ago

Ubuntu Insights: goes live! from Planet Ubuntu

We are really proud to announce that Tutorials Ubuntu went live this week!

What are ubuntu tutorials?
Ubuntu tutorials are a topic-specific walkthroughs, giving you a very practical experience on a particular domain. They are just like learning from pair programming except you can do it on your own! They provide a step-by-step process to doing development and devops activities on Ubuntu machines, servers or devices.

Each tutorial has:

A clear and detailed summary of what you will learn in this tutorial
The content difficulty level: you will know where to start from!
An estimated completion time for each step and the whole tutorial, so that you plan precisely depending on your availability.
A “where to go from there” final step, guiding you to the next logical places to get more information about that particular subject, or the next tutorial you can follow now that you have learned those notions.

For now, the tutorials focus mainly on building and using snaps and Ubuntu Core. If you’d like to see tutorials cover more topics, or if you’re interested in contributing tutorials, let us know.
A snap for all tutorials!
And that’s not all! You can as well work offline if you desire and always take your tutorials with you! Using the snap technology, we built a tutorial snap including the same content and the same technology as the one you can find on the website (that’s the beauty of snaps!)
To get access to it, on any snap system like Ubuntu desktop 16.04 LTS, just type:
$ snap install snap-codelabs
Open your browser at http://localhost:8123/ and enjoy!

Note that its name and design will soon change to align more with
You can contribute too!
If you plan to help us contributing and creating a new ubuntu tutorial, it’s pretty simple! The backend is based on a simple google doc with a straightforward syntax. If you’d like to write your own tutorial here are some Guidelines you can follow that will help you with the tone of voice, content and much more. Let us know what you’re done!
You will note that we based our content on Google Codelab framework that they have open sourced. A big up to them!
We hope you’ll like playing and learning those new concepts in a fun and interactive way! See you soon during your next tutorial.

1 day ago

Harald Sitter: Snapping DBus from Planet Ubuntu

For the past couple of months I’ve been working on getting KDE applications into the binary bundle format snap.
With the release of snapd 2.20 last month it gained a much-needed feature to enable easy bundling of applications that register a DBus service name. The all new dbus interface makes this super easy.
Being able to easily register a DBus service matters a great deal because an extraordinary amount of KDE’s applications are doing just that. The use cases range from actual inter-process communication to spin-offs from this functionality, such as single-instance behavior and clean application termination via the kquitapp command-line utility.
There’s barely any application that gets by without also claiming its own space on the session bus, so it is a good thing that enabling this is now super easy when building snap bundles.
One simply adds a suitable slot to the snapcraft.yaml and that’s it:
interface: dbus
name: org.kde.kmplot
bus: session

An obvious caveat is that the application needs to claim a well-known name on the bus. For most of KDE’s applications this will happen automatically as the KDBusAddons framework will claim the correct name assuming the QCoreApplication properties were set with the relevant data to deduce the organization+app reverse-domain-name.
As an additional bonus, in KDE we tend to codify the used service name in the desktop files via the X-DBUS-ServiceName entry already. When writing a snapcraft.yaml it is easy to figure out if DBus should be used and what the service name is by simply checking the desktop file.
The introduction of this feature moves a really big roadblock out of the way for enabling KDE’s applications to be easily snapped and published.

1 day ago

Daniel Pocock: Which movie most accurately forecasts the Trump presidency? from Planet Ubuntu

Many people have been scratching their heads wondering what the new US president will really do and what he really stands for. His alternating positions on abortion, for example, suggest he may simply be telling people what he thinks is most likely to win public support from one day to the next. Will he really waste billions of dollars building a wall? Will Muslims really be banned from the US?
As it turns out, several movies provide a thought-provoking insight into what could eventuate. What's more, these two have a creepy resemblance to the Trump phenomenon and many of the problems in the world today.
Countdown to Looking Glass
On the classic cold war theme of nuclear annihilation, Countdown to Looking Glass is probably far more scary to watch on Trump eve than in the era when it was made. Released in 1984, the movie follows a series of international crises that have all come to pass: the assassination of a US ambassador in the middle east, a banking crisis and two superpowers in an escalating conflict over territory. The movie even picked a young Republican congressman for a cameo role: he subsequently went on to become speaker of the house. To relate it to modern times, you may need to imagine it is China, not Russia, who is the adversary but then you probably won't be able to sleep after watching it.

The Omen
Another classic is The Omen. The star of this series of four horror movies, Damien Thorn, appears to have a history that is eerily reminiscent of Trump: born into a wealthy family, a series of disasters befall every honest person he comes into contact with, he comes to control a vast business empire acquired by inheritance and as he enters the world of politics in the third movie of the series, there is a scene in the Oval Office where he is flippantly advised that he shouldn't lose any sleep over any conflict of interest arising from his business holdings. Did you notice Damien Thorn and Donald Trump even share the same initials, DT?

2 days ago

Ubuntu Insights: Winners of #UbuntuAtMWC from Planet Ubuntu

A couple weeks ago we held a competition to invite you to join us at MWC by telling us what you wanted to see from #UbuntuAtMWC across Cloud, Devices or IoT!
We had some awesome entries which were very hard to limit down to 10!
A big thank you to all who entered including our winners selected below and we can’t wait to see you at MWC in Hall P3 – 3K31!

I want to hear MORE real-world IoT use cases of Ubuntu Core like the above. Every telecom company is eagerly awaiting this! #UbuntuAtMWC
— Ema Hussain (@EmaSpeaks) January 10, 2017


#ubuntuatMWC We would like to see an education focus on @Raspberry_Pi which we use in #solar schools #zambia
— Giakonda IT Ltd (@Giakonda) January 11, 2017


i want to hear about creative ways people are using ubuntu snaps to build their own devices like a DIY amazon echo. #UbuntuAtMWC
— Raymond Rouf (@raymondspeaks) January 12, 2017


I want to see a Smart Home demo based on Ubuntu #UbuntuAtMWC
— Carles Rodoreda (@crodoreda) January 10, 2017


I also want to see drones!! #UbuntuAtMWC
— Jamie Allan (@jamieallan86) January 12, 2017


I want to see more true #snap based convergence from #UbuntuAtMWC across Cloud, Devices and #IoT @Canonical @ubuntu #MWC
— Andy Bleaden (@andybleaden) January 10, 2017


#UbuntuAtMWCA new form factor consumer hub device demonstrating the @ubuntu phone/ PC/ cloud/ IoT/ robot/ TV unified experience
— 101LITE (@101lite) January 9, 2017


Would love to meet the @Ubuntu team in Barcelona at #MWC17 and check out the #Ubuntu vending machines and #IoT home devices! #UbuntuAtMWC
— Alessandro Bellu (@a_bellu) January 12, 2017


At #MWC17 I'd like to see #Ubuntu running IoT use cases using #Ethereum or blockchain tech in general. #UbuntuAtMWC
— Martin Jakl (@JaklMartin) January 12, 2017


As a telco marketer, I want to hear about Ubuntu's plans with major brands & startups to make IoT a reality #UbuntuAtMWC
— Darren Ball (@DarrenBall4) January 11, 2017

More info on Ubuntu at MWC here!

2 days ago

Nathan Haines: UbuCon Summit at SCALE 15x Call for Papers from Planet Ubuntu

UbuCons are a remarkable achievement from the Ubuntu community: a
network of conferences across the globe, organized by volunteers
passionate about Open Source and about collaborating, contributing, and
socializing around Ubuntu. UbuCon Summit at SCALE 15x is the next in the
impressive series of conferences.

UbuCon Summit at SCALE 15x takes place in Pasadena, California on March
2nd and 3rd during the first two days of SCALE 15x. Ubuntu will also have
a booth at SCALE's expo floor from March 3rd through 5th.

We are putting together the conference schedule and are announcing a call
for papers. While we have some amazing speakers and an always-vibrant
unconference schedule planned, it is the community, as always, who make
UbuCon what it is—just as the community sets Ubuntu apart.

Interested speakers who have Ubuntu-related topics can submit their talk
to the SCALE call for papers site. UbuCon Summit has a wide range of both
developers and enthusiasts, so any interesting topic is welcome, no matter
how casual or technical. The SCALE CFP form is available here:

Over the next few weeks we’ll be sharing more details about the Summit,
revamping the global UbuCon site and updating the SCALE schedule with
all relevant information.

About SCaLE:

SCALE 15x, the 15th Annual Southern California Linux Expo, is the largest
community-run Linux/FOSS showcase event in North America. It will be held
from March 2-5 at the Pasadena Convention Center in Pasadena, California.
For more information on the expo, visit

3 days ago

Stéphane Graber: LXD on Debian (using snapd) from Planet Ubuntu

So far all my blog posts about LXD have been assuming an Ubuntu host with LXD installed from packages, as a snap or from source.
But LXD is perfectly happy to run on any Linux distribution which has the LXC library available (version 2.0.0 or higher), a recent kernel (3.13 or higher) and some standard system utilities available (rsync, dnsmasq, netcat, various filesystem tools, …).
In fact, you can find packages in the following Linux distributions (let me know if I missed one):

Alpine Linux
Arch Linux

We have also had several reports of LXD being used on Centos and Fedora, where users built it from source using the distribution’s liblxc (or in the case of Centos, from an external repository).
One distribution we’ve seen a lot of requests for is Debian. A native Debian package has been in the works for a while now and the list of missing dependencies has been shrinking quite a lot lately.
But there is an easy alternative that will get you a working LXD on Debian today!
Use the same LXD snap package as I mentioned in a previous post, but on Debian!

A Debian “testing” (stretch) system
The stock Debian kernel without apparmor support
If you want to use ZFS with LXD, then the “contrib” repository must be enabled and the “zfsutils-linux” package installed on the system

Installing snapd and LXD
Getting the latest stable LXD onto an up to date Debian testing system is just a matter of running:
apt install snapd
snap install lxd
If you never used snapd before, you’ll have to either logout and log back in to update your PATH, or just update your existing one with:
. /etc/profile.d/
And now it’s time to configure LXD with:
root@debian:~# lxd init
Name of the storage backend to use (dir or zfs) [default=dir]:
Create a new ZFS pool (yes/no) [default=yes]?
Name of the new ZFS pool [default=lxd]:
Would you like to use an existing block device (yes/no) [default=no]?
Size in GB of the new loop device (1GB minimum) [default=15]:
Would you like LXD to be available over the network (yes/no) [default=no]?
Would you like stale cached images to be updated automatically (yes/no) [default=yes]?
Would you like to create a new network bridge (yes/no) [default=yes]?
What should the new bridge be called [default=lxdbr0]?
What IPv4 subnet should be used (CIDR notation, “auto” or “none”) [default=auto]?
What IPv6 subnet should be used (CIDR notation, “auto” or “none”) [default=auto]?
LXD has been successfully configured.
And finally, you can start using LXD:
root@debian:~# lxc launch images:debian/stretch debian
Creating debian
Starting debian

root@debian:~# lxc launch ubuntu:16.04 ubuntu
Creating ubuntu
Starting ubuntu

root@debian:~# lxc launch images:centos/7 centos
Creating centos
Starting centos

root@debian:~# lxc launch images:archlinux archlinux
Creating archlinux
Starting archlinux

root@debian:~# lxc launch images:gentoo gentoo
Creating gentoo
Starting gentoo
And enjoy your fresh collection of Linux distributions:
root@debian:~# lxc list
| archlinux | RUNNING | (eth0) | fd42:46d0:3c40:cca7:216:3eff:fe40:7b1b (eth0) | PERSISTENT | 0 |
| centos | RUNNING | (eth0) | fd42:46d0:3c40:cca7:216:3eff:fe87:64ff (eth0) | PERSISTENT | 0 |
| debian | RUNNING | (eth0) | fd42:46d0:3c40:cca7:216:3eff:feb4:e984 (eth0) | PERSISTENT | 0 |
| gentoo | RUNNING | (eth0) | fd42:46d0:3c40:cca7:216:3eff:fe27:10ca (eth0) | PERSISTENT | 0 |
| ubuntu | RUNNING | (eth0) | fd42:46d0:3c40:cca7:216:3eff:fedc:f0a6 (eth0) | PERSISTENT | 0 |
The availability of snapd on other Linux distributions makes it a great way to get the latest LXD running on your distribution of choice.
There are still a number of problems with the LXD snap which may or may not be a blocker for your own use. The main ones at this point are:

All containers are shutdown and restarted on upgrades
No support for bash completion

If you want non-root users to have access to the LXD daemon. Simply make sure that a “lxd” group exists on your system and add whoever you want to manage LXD into that group, then restart the LXD daemon.
Extra information
The snapd website can be found at:
The main LXD website is at:
Development happens on Github at:
Mailing-list support happens on:
IRC support happens in: #lxcontainers on
Try LXD online:

3 days ago

Simos Xenitellis: How to completely remove a third-party repository from Ubuntu from Planet Ubuntu

Suppose you added a third-party repository of DEB packages in your Ubuntu and you now want to completely remove it, by either downgrading the packages to the official version in Ubuntu or removing them altogether. How do you do that?
Well, if it was a Personal Package Archive (PPA), you would simply use ppa-purge. ppa-purge is not pre-installed in Ubuntu, so we install it with
sudo apt update
sudo apt install ppa-purge
Here is the help for ppa-purge:
$ ppa-purge
Warning:  Required ppa-name argument was not specified
Usage: sudo ppa-purge [options] <ppa:ppaowner>[/ppaname]

ppa-purge will reset all packages from a PPA to the standard
versions released for your distribution.

    -p [ppaname]        PPA name to be disabled (default: ppa)
    -o [ppaowner]        PPA owner
    -s [host]        Repository server (default:
    -d [distribution]    Override the default distribution choice.
    -y             Pass -y --force-yes to apt-get or -y to aptitude
    -i            Reverse preference of apt-get upon aptitude.
    -h            Display this help text

Example usage commands:
    sudo ppa-purge -o xorg-edgers
    will remove

    sudo ppa-purge -o sarvatt -p xorg-testing
    will remove

    sudo ppa-purge [ppa:]ubuntu-x-swat/x-updates
    will remove

Notice: If ppa-purge fails for some reason and you wish to try again,
(For example: you left synaptic open while attempting to run it) simply
uncomment the PPA from your sources, run apt-get update and try again.
Here is an example of ppa-purge that removes a PPA:
Suppose we want to completely uninstall the Official Wine Builds PPA. The URI of the PPA is shown on that page in bold, and it is ppa:wine/wine-builds.
To uninstall this PPA, we run
$ sudo ppa-purge ppa:wine/wine-builds
Updating packages lists
PPA to be removed: wine wine-builds
Package revert list generated:
wine-devel- wine-devel-amd64- wine-devel-i386:i386- winehq-devel-

Disabling wine PPA from
Updating packages lists
PPA purged successfully
$ _
But how do we completely uninstall the packages of a third-party repository? Those do not have a URI that is similar to the format that ppa-purge needs!
Let’s see an example. If you have an Intel graphics card, you may choose to install their packaged drivers from For Ubuntu 16.04, the download page is  Yes, they provide a tool that you run on your system and performs a set of checks. Once those checks pass, it adds the Intel repository for Intel Graphics card drivers. You do not see a similar URI from this page, you need to dig deeper after you installed them to find out.
The details of the repository are in /etc/apt/sources.list.d/intellinuxgraphics.list and it is this single line
deb xenial main #Intel Graphics drivers
How did we figure out the parameters for ppa-purge? These parameters are just used to identify the correct file in /var/lib/apt/lists/ For the case of the Intel drivers, the relevant files in /var/lib/apt/lists are
The important ones are the *_Packages files. The important source code line in ppa-purge that will help us, is
therefore, we select the parameters for ppa-purge accordingly:
-s   for   ${PPAHOST}
-o gfx  for   ${PPAOWNER}
-p ubuntu   for   ${PPANAME}
Now ppa-purge can remove the packages from such a PPA as well, by using these parameters:
sudo ppa-purge -s -o gfx -p ubuntu
That’s it!

4 days ago

Raphaël Hertzog: Freexian’s report about Debian Long Term Support, December 2016 from Planet Ubuntu

Like each month, here comes a report about the work of paid contributors to Debian LTS.
Individual reports
In December, about 175 work hours have been dispatched among 14 paid contributors. Their reports are available:

Antoine Beaupré did 20.5 hours (out of 13.5 hours allocated + 7 remaining hours).
Balint Reczey did 10 hours (out of 13.5 hours allocated, thus keeping 2.5 hours for January).
Ben Hutchings did 10 hours (out of 13.5 hours allocated + 2 hours remaining, thus keeping 5.5 extra hours for January).
Brian May did 10 hours.
Chris Lamb did 13.5 hours.
Emilio Pozuelo Monfort did 11 hours (out of 13.5 hours allocated, thus keeping 2.5 extra hours for January).
Guido Günther did 8 hours.
Hugo Lefeuvre did 11 hours (out of 13.5 hours allocated, thus keeping 2.5 extra hours for January).
Jonas Meurer did 5.25 hours (out of 12 hours allocated, thus keeping 6.75 extra hours for January).
Markus Koschany did 13.5 hours.
Ola Lundqvist did 13.5 hours.
Raphaël Hertzog did 10 hours.
Roberto C. Sanchez did 13.5 hours.
Thorsten Alteholz did 13.5 hours.

Evolution of the situation
The number of sponsored hours did not increase but a new silver sponsor is in the process of joining. We are only missing another silver sponsor (or two to four bronze sponsors) to reach our objective of funding the equivalent of a full time position.
The security tracker currently lists 31 packages with a known CVE and the dla-needed.txt file 27. The situation improved a little bit compared to last month.
Thanks to our sponsors
New sponsors are in bold.

Platinum sponsors:

TOSHIBA (for 14 months)
GitHub (for 5 months)

Gold sponsors:

The Positive Internet (for 30 months)
Blablacar (for 29 months)
Linode LLC (for 19 months)
Babiel GmbH (for 8 months)
Plat’Home (for 8 months)

Silver sponsors:

Domeneshop AS (for 29 months)
Université Lille 3 (for 29 months)
Trollweb Solutions (for 27 months)
Nantes Métropole (for 23 months)
University of Luxembourg (for 21 months)
Dalenys (for 20 months)
Univention GmbH (for 15 months)
Université Jean Monnet de St Etienne (for 15 months)
Sonus Networks (for 9 months)
UR Communications BV (for 3 months)
maxcluster GmbH (for 3 months)

Bronze sponsors:

David Ayers – IntarS Austria (for 30 months)
Evolix (for 30 months)
Offensive Security (for 30 months), a.s. (for 30 months)
Freeside Internet Service (for 29 months)
MyTux (for 29 months)
Linuxhotel GmbH (for 27 months)
Intevation GmbH (for 26 months)
Daevel SARL (for 25 months)
Bitfolk LTD (for 24 months)
Megaspace Internet Services GmbH (for 24 months)
Greenbone Networks GmbH (for 23 months)
NUMLOG (for 23 months)
WinGo AG (for 22 months)
Ecole Centrale de Nantes – LHEEA (for 19 months)
Sig-I/O (for 16 months)
Entr’ouvert (for 14 months)
Adfinis SyGroup AG (for 11 months)
Laboratoire LEGI – UMR 5519 / CNRS (for 6 months)
Quarantainenet BV (for 6 months)
GNI MEDIA (for 5 months)
RHX Srl (for 3 months)

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

5 days ago

Ted Gould: Presentations Updated from Planet Ubuntu

This post is mostly a mea cupla to all the folks that asked me after a presentation: “And those slides will be online?” The answer is generally “yes” but they were in a tweet or something equally as hard to find. But now I finally got to making an updated presentations page that is actually useful. Hopefully you can find the slides you are looking for there. And more importantly you can use them as a basis for your talk to a local group in your town.

As I was redoing this I thought it was a bit interesting how my title pages seem to alternate every couple of years between complex and simple. And I think I have a candidate for worst theme (though there was a close second). Also a favorite theme along with a reminder of all the fun it is to make a presentation with JessyInk.

I think that there are a couple missing that I can’t find, and also video links out on the Internet somewhere. Please drop me a line if you have any ideas, suggestions or I sent you files that I’ve now lost. Hopefully this is easier to maintain now so there won’t be the same delay.

6 days ago

Valorie Zimmerman: Google Code-in draws to a close -- students finish your final task by January 16, 2017 at 09:00 (PST) from Planet Ubuntu

KDE's Google Code-in party is ending once again. Student work submitted deadline is January 16, 2017 at 09:00 (PST). Mentors, you have until January 18, 2017 at 09:00 (PST) to evaluate your student's work. Please get that done before the deadline, so that admins don't have to judge the student work.Then it will be time to choose winners. We need to have our choices in by January 23, 2017 at 09:00 (PST). Winners and Finalists will be announced January 30, 2017 at 09:00 (PST).To me, this contest has been lovely. Because there are more organizations participating now, there are more tasks for students, and less pressure on each org. It seems that the students have enjoyed themselves as well.Spencerb said, in #kde-soc, This was my first (and final) gci, so I don't have much of a point of comparison, but it's been awesome. I've been an opportunity to meet new people and just get involved with KDE, which I've wanted to do for a long time. I've also learned a lot about serious software development that I wouldn't have otherwise."I'll turn 18 this Monday, which is why this is my last year :(  I'm so glad to have had the chance to participate at least once.As a task, Harpreet filed a GCi review: far, we've had 121 students. The top ten have 103 completed tasks so far! And 160 tasks completed so far. Most exciting for me is that Beginner tasks completed: 45. Getting kids acquainted with Free and Open Source Software communities, which is why every organization must have beginner tasks. I'm glad 45 kids got to know KDE a bit.

7 days ago

Mattia Migliorini: Install Balsamiq Mockups in Debian/Ubuntu from Planet Ubuntu

Balsamiq is one of the best tools for quick wireframes creation. It allows you to efficiently and quickly create mockups that give you an idea of how design elements fit in the page.
Some years ago there was a package available for the most popular Linux distributions, but since Adobe dropped support for Linux and Balsamiq is built on top of Adobe Air, nowadays they don’t support Linux neither.
As you can see from the downloads page of Balsamiq, though, it luckily works well with wine.
Install Balsamiq with WINE
First things first: install wine.
sudo apt-get install wine
Now, let’s proceed with an easy step-by-step guide.

Download the Balsamiq Bundle that includes Adobe Air (if the link does not work, head on to Balsamic Downloads and download the version With Adobe Air bundled)
Open a terminal, unzip the bundle and move it to /opt (change the Downloads directory name according to your setup)
cd Downloads
unzip Balsamiq*
sudo mv Balsamiq* /opt

To make life easier, rename the .exe to simply balsamiq.exe
cd /opt/Balsamiq_Mockups_3/
mv Balsamiq\\ Mockups\\ 3.exe balsamiq.exe

Now you can run Balsamiq Mockups by running it with wine
wine /opt/Balsamiq_Mockups_3/balsamiq.exe

Add Balsamiq as an application
The last optional step can save you a lot of time in launching Balsamiq, because it saves you the hassle of writing the command in point 4 above every time you want to launch it (and remembering the Balsamiq executable location). This simply consists in creating a new desktop entry for Balsamiq, which will add it to the applications list of your operating system.
Create the file ~/.local/share/applications/Balsamiq.desktop with the following content:
[Desktop Entry]
Name=Balsamiq Mockups
Exec=wine /opt/Balsamiq_Mockups_3/balsamiq.exe
If you are on Ubuntu with Unity, you can add the following lines too:
Now, just save and have a look at your Dash or Activity Panel to see if it works.
Install Balsamiq Mockups with Play on Linux
Eric suggests the use of Play on Linux for an easier installation process and reports that for him Balsamiq Mockups 3 works like a charm in that environment. Worth a try!
The post Install Balsamiq Mockups in Debian/Ubuntu appeared first on deshack.

8 days ago

Ted Gould: The Case for Ubuntu Phone from Planet Ubuntu

There are times in standard social interactions where people ask what you do professionally, which means I end up talking about Ubuntu and specifically Ubuntu Phone. Many times that comes down to the seemingly simple question: “Why would I want an Ubuntu phone?” I’ve tried the answer “becasue I’m a thought leader and you should want to be like me,” but sadly that gets little traction outside of Silicon Valley. Another good answer is all the benefits of Free Software, but many of those are benefits the general public doesn’t yet realize they need.

The biggest strength and weakness of Ubuntu Phone is that it’s a device without an intrinsic set of services. If you buy an Android device you get Google Services. If you buy an iPhone you get Apple services. While these can be strengths (at least in Google’s case) they are effectively a lock in to services that may or may not meet your requirements. You certainly can get Telegram or Signal for either of those, but they’re never going to be as integrated as Hangouts or iMessage. This goes throughout the device including things like music and storage as well. Ubuntu and Canonical don’t provide those services, but instead provide integration points for any of them (including Apple and Google if they wanted) to work inside an Ubuntu Phone. This means as a user you can use the services you want on your device, if you love Hangouts and Apple Maps, Ubuntu Phone is happy to be a freak with you.

Carriers are also interested in this flexibility. They’re trying to put together packages of data and services that will sell, and fetch a premium price (effectively bundling). Some they may provide themselves and some by well known providers; but by not being able to select options for those base services they have less flexibility on what they can do. Sure, Google and Apple could give them a great price or bundle, but they both realize that they don’t have to. So that effectively makes it difficult for the carriers as well as alternate service providers (e.g. Dropbox, Spotify, etc) to compete.

What I find most interesting thing about this discussion is that it is the original reason that Google bought Android. They were concerned that with Apple controlling the smartphone market they’d be in a position to damage Google’s ability to compete in services. They were right. But instead of opening it up to competition (a competition that certainly at the time and even today they’re likely to win) they decided to lock down Android with their own services. So now we see in places like China where Google services are limited there is no way for Android to win, only forks that use a different set of integrations. One has to wonder if Ubuntu Phone existed earlier whether Google would have bought Android, while Ubuntu Phone competes with Android it doesn’t pose any threat to Google’s core businesses.

It is always a failure to try and convince people to change their patterns and devices just for the sake of change. Early adopters are people who enjoy that, but not the majority of people. This means that we need to be an order of magnitude better, which is a pretty high bar to set, but one I enjoy working towards. I think that Ubuntu Phone has the fundamental DNA to win in this race.

8 days ago

Stéphane Graber: Running Kubernetes inside LXD from Planet Ubuntu

For those who haven’t heard of Kubernetes before, it’s defined by the upstream project as:

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.
It is important to note the “applications” part in there. Kubernetes deploys a set of single application containers and connects them together. Those containers will typically run a single process and so are very different from the full system containers that LXD itself provides.
This blog post will be very similar to one I published last year on running OpenStack inside a LXD container. Similarly to the OpenStack deployment, we’ll be using conjure-up to setup a number of LXD containers and eventually run the Docker containers that are used by Kubernetes.
This post assumes you’ve got a working LXD setup, providing containers with network access and that you have at least 10GB of space for the containers to use and at least 4GB of RAM.
Outside of configuring LXD itself, you will also need to bump some kernel limits with the following commands:
sudo sysctl fs.inotify.max_user_instances=1048576  
sudo sysctl fs.inotify.max_queued_events=1048576  
sudo sysctl fs.inotify.max_user_watches=1048576  
sudo sysctl vm.max_map_count=262144
Setting up the container
Similarly to OpenStack, the conjure-up deployed version of Kubernetes expects a lot more privileges and resource access than LXD would typically provide. As a result, we have to create a privileged container, with nesting enabled and with AppArmor disabled.
This means that not very much of LXD’s security features will still be in effect on this container. Depending on how you feel about this, you may choose to run this on a different machine.
Note that all of this however remains better than instructions that would have you install everything directly on your host machine. If only by making it very easy to remove it all in the end.
lxc launch ubuntu:16.04 kubernetes -c security.privileged=true -c security.nesting=true -c linux.kernel_modules=ip_tables,ip6_tables,netlink_diag,nf_nat,overlay -c raw.lxc=lxc.aa_profile=unconfined
lxc config device add kubernetes mem unix-char path=/dev/mem
Then we need to add a couple of PPAs and install conjure-up, the deployment tool we’ll use to get Kubernetes going.
lxc exec kubernetes -- apt-add-repository ppa:conjure-up/next -y
lxc exec kubernetes -- apt-add-repository ppa:juju/stable -y
lxc exec kubernetes -- apt update
lxc exec kubernetes -- apt dist-upgrade -y
lxc exec kubernetes -- apt install conjure-up -y
And the last setup step is to configure LXD networking inside the container.
Answer with the default for all questions, except for:

Use the “dir” storage backend (“zfs” doesn’t work in a nested container)
Do NOT configure IPv6 networking (conjure-up/juju don’t play well with it)

lxc exec kubernetes -- lxd init
And that’s it for the container configuration itself, now we can deploy Kubernetes!
Deploying Kubernetes with conjure-up
As mentioned earlier, we’ll be using conjure-up to deploy Kubernetes.
This is a nice, user friendly, tool that interfaces with Juju to deploy complex services.
Start it with:
lxc exec kubernetes -- sudo -u ubuntu -i conjure-up

Select “Kubernetes Core”
Then select “localhost” as the deployment target (uses LXD)
And hit “Deploy all remaining applications”

This will now deploy Kubernetes. The whole process can take well over an hour depending on what kind of machine you’re running this on. You’ll see all services getting a container allocated, then getting deployed and finally interconnected.

Once the deployment is done, a few post-install steps will appear. This will import some initial images, setup SSH authentication, configure networking and finally giving you the IP address of the dashboard.

Interact with your new Kubernetes
We can ask juju to deploy a new kubernetes workload, in this case 5 instances of “microbot”:
ubuntu@kubernetes:~$ juju run-action kubernetes-worker/0 microbot replicas=5
Action queued with id: 1d1e2997-5238-4b86-873c-ad79660db43f
You can then grab the service address from the Juju action output:
ubuntu@kubernetes:~$ juju show-action-output 1d1e2997-5238-4b86-873c-ad79660db43f
status: completed
completed: 2017-01-13 10:26:14 +0000 UTC
enqueued: 2017-01-13 10:26:11 +0000 UTC
started: 2017-01-13 10:26:12 +0000 UTC
Now actually using the Kubernetes tools, we can check the state of our new pods:
ubuntu@kubernetes:~$ ./kubectl get pods
default-http-backend-w9nr3 1/1 Running 0 21m
microbot-1855935831-cn4bs 0/1 ContainerCreating 0 18s
microbot-1855935831-dh70k 0/1 ContainerCreating 0 18s
microbot-1855935831-fqwjp 0/1 ContainerCreating 0 18s
microbot-1855935831-ksmmp 0/1 ContainerCreating 0 18s
microbot-1855935831-mfvst 1/1 Running 0 18s
nginx-ingress-controller-bj5gh 1/1 Running 0 21m
After a little while, you’ll see everything’s running:
ubuntu@kubernetes:~$ ./kubectl get pods
default-http-backend-w9nr3 1/1 Running 0 23m
microbot-1855935831-cn4bs 1/1 Running 0 2m
microbot-1855935831-dh70k 1/1 Running 0 2m
microbot-1855935831-fqwjp 1/1 Running 0 2m
microbot-1855935831-ksmmp 1/1 Running 0 2m
microbot-1855935831-mfvst 1/1 Running 0 2m
nginx-ingress-controller-bj5gh 1/1 Running 0 23m
At which point, you can hit the service URL with:
ubuntu@kubernetes:~$ curl -s | grep hostname
<p class="centered">Container hostname: microbot-1855935831-fqwjp</p>
Running this multiple times will show you different container hostnames as you get load balanced between one of those 5 new instances.
Similar to OpenStack, conjure-up combined with LXD makes it very easy to deploy rather complex big software, very easily and in a very self-contained way.
This isn’t the kind of setup you’d want to run in a production environment, but it’s great for developers, demos and whoever wants to try those technologies without investing into hardware.
Extra information
The conjure-up website can be found at:
The Juju website can be found at:
The main LXD website is at:
Development happens on Github at:
Mailing-list support happens on:
IRC support happens in: #lxcontainers on
Try LXD online:

9 days ago