Ubuntu Mate 16.04 ARM

I used to write about Kubuntu when its new version was released. But for now, since my HDD is rather broken, and I have bought Raspberry Pi instead, so I want to write about Mate flavor of Ubuntu which fit to the ARM platform. Actually I want to install KDE on it, but I’m not sure about the performance.

Last month, the new long-term supported Ubuntu version was released. The main flavor with Unity has not yet brought awaited Unity 8 with Mir display server. And for my favorite flavor, Kubuntu, it has brought the newest KDE Plasma 5 for the desktop. Unfortunately I cannot play with it until I repair my PC. Maybe not only repairing, but also I ought to buy a new HDD as well.

Continue reading Ubuntu Mate 16.04 ARM

Fedora KDE: Automount NTFS Partition at Login

I had a dual boot system: Windows and Ubuntu ever since I knew Linux world. So, I always have a separate partition to store files, which both OS can access them. The partition is always formatted with NTFS, something that’s not come from Linux world. Something like an alien for Linux, but has a good integration, since the Linux contributors gave support for NTFS partition. So, there’s no difficulty to read files in NTFS drive with Linux.

But, the problem comes when we want to ‘mount’ the drive / partition. It usually asks for a root password to mount. It’s not so convenient to type the password every time we mount the drive / partition, isn’t it?

“Hey, there is /etc/fstab out there.” You may think so. Oh, yeah, I almost forget this one. Actually we can set the partition to be automounted in every boot. But I don’t know why I avoided this approach since then.

So, I always use the automount option of Ubuntu instead. Ubuntu has the option to automount the drive/partition somewhere in the system settings if I remember correctly. After I switch to KDE desktop, I also found the option in the KDE systemsettings. So, I’ve got the partition to be automounted as soon as I log in to the plasma desktop.

A little trouble with Fedora

Now I also use Fedora in my daily basis. And I also choose KDE as the desktop. But, after a while, I found out that KDE was unable to automount the NTFS partition like Kubuntu did. Even though I have checked the option to ‘automount at login’, it still didn’t work.


Then, a couple of days ago, I asked people in the #fedora-kde channel at Freenode IRC about my problem. Then a person with username ‘rdieter’ pointed about  ‘Privilege escalation’ in Fedora.

So, I just asked google about it, and it’s actually a piece of cake to find the best answer. I followed the instruction in AskFedora forum here. And it’s just work! Great! Here’s the workaround I managed to do automount partition in Fedora.

Follow the guide for Fedora 17, but the file should be saved to /etc/polkit-1/rules.d/99-mount-partitions.rules and its contents should be:

// Password-less mounting of local partitions
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("wheel")) {
       return polkit.Result.YES;

The writer noted that it’s for Fedora 18, but the comment below it states that it’s also working for Fedora 22. And yes, so does Fedora 23. Now, Dolphin doesn’t ask for password when I click on the NTFS partition.

QR Code Scanner with Qt Framework + OpenCV

I need a program for scanning QR code and processing the data. For this purpose, there are several libraries which can help saving my time for developing it. For instance, ZXing library, or ZBar. For web developers, there are also corresponding library for scanning QR code, that are both client side (JavaScript) and server side (PHP). Continue reading QR Code Scanner with Qt Framework + OpenCV

Kubuntu: Connect to OpenVPN Server with Network Manager Applet

Okay, you’ve successfully set up a new OpenVPN server on your VPS. What’s next?

Here, i post a brief tutorial how to connect my Kubuntu desktop to OpenVPN server with the default connection manager. Previously, I have set up OpenVPN server in just one click. And after the server is up, it automagically created several OpenVPN config files for the client. I fetched them with scp.

scp root@xxx.xxx.xxx.xxx:/root/{ca.crt,client.ovpn,client1.crt,client1.key} /home/user/Projects/web/VPN

openvpn config files
OpenVPN onfig files

Before this, I didn’t have any idea how to connect to VPN with the OVPN file. But actually, it’s so easy to do that with Kubuntu network manager plasma widget.

  1. Click on the network manager widget, then click the right corner gear.
Kubuntu plasma network manager
Kubuntu plasma network manager
  1. In the window appears, click menu File, choose Import VPN. Select the OVPN file we got previously.
  1. Edit the connection, add the rest of files. Make sure that the connection type is X.509 Certificates
Add the rest of config files
Add the rest of config files
  1. Connect it.
OpenVPN connected
OpenVPN connected

Set Up an OpenVPN Server Instantly with DigitalOcean Droplet User Data

OpenVPN is a full-featured open source Secure Socket Layer (SSL) VPN solution that accommodates a wide range of configurations. In this tutorial, we’ll set up an OpenVPN server on a Droplet and then configure access to it from Windows, OS X, iOS and Android. This tutorial will keep the installation and configuration steps as simple as possible for these setups.

Note: OpenVPN can be installed automatically on your Droplet by adding this script to its User Data when launching it. Check out this tutorial to learn more about Droplet User Data.

Setup VPS instance

First thing first, you need to create a Digitalocean account by clicking this link. Complete the registration by providing your payment method, either with credit card or Paypal account.

After you see the green button “Create Droplet”, click on it to proceed to the next step. Type in your preferred Droplet hostname, whatever you want. Then select size of droplet, in this case you’ll choose the pricing which fit you. In my case, I choose the lowest one, $5 /month droplet with 20GB storage and 512MB RAM. It’s kind of enough for me.

Then select the region you want the droplet located. This time, you may want to choose the nearest region from your country. Then select Image, it is the operating system for your VPS. Choose the Ubuntu 14.04 x64.

And finally, tick the “User Data” in the Available Settings section. When the text input appears, enter the script for creating the VPN server. Get the script by referring to the link at the bottom of this post. Find the “Note” section like above quotation. There you’ll find the link to the script. Just copy and paste it.

DO User data
DigitalOcean User data. This is just illustration, and that’s not the script you want.

And in the last section, you may skip that “Add SSH Keys”. Then you will receive the password required to login to the VPS in your email inbox. Check it later.

via How To Set Up an OpenVPN Server on Ubuntu 14.04 | DigitalOcean.

Auto build Launchpad Project on Commit

If you have a project hosted on Canonical’s Launchpad, then you have a choice to build it as soon as you push its Bazaar commit. The automatic build process is conducted by a “recipe”. Cited from official explanation, there are two options for when recipes get built:

Built daily
A build will be scheduled automatically once a change in any of the branches used in the recipe is detected.
Built on request
Builds of the recipe have to be manually requested using the “Request build” action.

You can create a recipe from project page, and look for “Create packaging recipe”. Then you need to choose the “Built daily” option to automatically build the DEB binary from source when you push the commit.

Build recipe Launchpad Canonical Ubuntu
Build recipe Launchpad Canonical Ubuntu

Then you can compose the packaging recipe by refering to the official documentation here: https://help.launchpad.net/Packaging/SourceBuilds/Recipes

HTML5 App for Desktop Using Qt WebKit

Qt WebKit HTML5 App
Qt WebKit HTML5 App

It’s been a long time since the last time I wrote about Qt programming. This time I’d like to share my recent activity on developing the desktop version of my Android webapp, Hafal Quran. You can download it from Google Play Store by clicking this badge:
Android app on Google Play

My purpose is that the app can run on most platform. So it led me to choose HTML5 approach. And finally I come up with the app website which everyone can play it on http://hq.amzone.web.id. The Android app is the first platform-specific release of Hafal Quran.

While it looks like already reaches the final version, it actually lacks an important aspect, i.e dis-connectivity. We have to connect to internet to play it. Of course we cannot play it when go offline. So now, I continue its development to the next step: offline mode.

The first development should be focused on the Android version, as the users of mobile devices are the most and growing. But for now, I will make the offline version for desktop first. In this case, I choose to deploy it for Ubuntu Linux distro and the derivatives, particularly Grombyang OS Edu.

Technical overview

I utilize Qt framework for the development because I have some experiences in it. Besides, I decided to use Webkit as the engine of the app. And actually it is part of Qt framework itself. Webkit is the infamous engine for most popular browser, including Safari, Chrome, and even Opera.

But unfortunately, QWebKit module is now being deprecated since Qt 5. And it is now superceded by QWebEngine module. So, for now, I will still use QWebKit module of Qt4.

The drawbacks of using Webkit is probably about the memory usage. Since Qt modules are quite greedy in terms of consuming RAM.

FYI, the Android app was one of 50 apps that were selected at Finding Top50 Local Apps event, which was held by Baidu Indonesia last year.