Linux User Group of Mauritius Promoting open source software in our beautiful island

6Apr/170

openSUSE Goodies Pack

Posted by Ish Sookun

As the Developers Conference 2017 was approaching Shelly asked me what am I doing with the openSUSE stickers and DVDs. I replied that I would distribute them to visitors when they'd come to the Installfest of the Linux User Group. That's when Shelly came up with the idea of having an openSUSE Goodies Pack. To keep it short it's a package containing various stickers, a bookmark, an openSUSE 42.2 64-bit DVD, and a laptop camera cover.


openSUSE Goodies Pack

In total Shelly made five such goodies packs. However, I couldn't make it to the Installfest as my presentation was on the same day. Bad timing.

I therefore decided to give away the goodies packs as prizes to questions that I would ask during my presentation. My talk was on Microservices and I explained the same using NGINX that ran on openSUSE 42.2. That was perfect to shoot some questions about openSUSE and yes, the attendees correctly answered that packages could be installed on openSUSE using RPM, Zypper and YaST. I had a question that asked which part of the home page of lexpress.mu is a microservice. One fellow answered « the notifications » and that's correct.

The openSUSE Goodies Pack garnered some attention on Twitter and MSP fellow Arwin Baichoo replied with a tweet showing the content of the goodies pack.

The rest of the stickers and openSUSE DVDs were distributed to attendees. Humeira gladly helped me with that.

1Jun/160

Vagrant box export and import

Posted by Ish

I’ve been a VirtualBox user for a few years but I started working with Vagrant only recently. Vagrant provides an easy-to-use portable environment on top of virtual machine providers like VirtualBox, VMware, AWS etc; at least that is what is written everywhere.

While the internet abounds with articles and «expert» answers about how to work with Vagrant, I stumble upon a lot of blurry advice in needy times. The last resort, though not very tempting, is the official documentation. I say not very tempting because of the amount of reading required for just one set of command options.

Vagrant box export and import

Hashicorp, the company that funds the full-time development of Vagrant, hosts a catalog of Vagrant boxes for the different virtual machine providers, which is called Atlas. Let’s look at the command that is used to add a box to Vagrant.

vagrant box add opensuse/openSUSE-42.1-x86_64

In the above command opensuse is a user of Atlas and openSUSE-42.1-x86_64 is the name of the box. You might need the --provider option if you’re not using VirtualBox. Once the box has been added, it can be initialized as follows:

vagrant init opensuse/opensuse-42.1-x86_64

The command creates a Vagrantfile in the current directory with a lot of commented lines which you can uncomment to specify needed options with your Vagrant box (e.g shared folders, set memory etc). The following line in the file tells vagrant which base to use when provisioning the virtual machine the first time:

config.vm.box = "opensuse/opensuse-42.1-x86_64"

To start up the Vagrant box we’ll do vagrant up and a bunch of messages depending on the Vagrantfile parameters will show up (e.g SSH port forwarding). Next we do vagrant ssh to jump inside the Vagrant box. The first time the Vagrant box is started, a virtual machine is provisioned in VirtualBox (since that is what I am using as provider). At next boot the VM will jump to normal startup unless «provisioning» options are specified.

As Vagrant users enjoy easy portability of the boxes, the same can be exported following this quick procedure:

vagrant package --output opensuse-devel.box

Say you have set up a development environment on the openSUSE box and you need to share the same with other developers. The above command packages the virtual machine in one file, in our case it’s called opensuse-devel.box. Next each developer needs to add the box as follows:

vagrant box add openSUSE-devel opensuse-devel.box

I am naming the project openSUSE-devel for easy reference.

Sure, if not executed from the directory containing opensuse-devel.box then the full path to the file should be used. It makes the box available to Vagrant and a machine can then be initialized.

vagrant init openSUSE-devel; vagrant up

This creates the Vagrantfile and fires up the box. When one needs to destroy the box, just execute vagrant destroy and the virtual machine will be gone.

The post Vagrant box export and import appeared first on HACKLOG.

Tagged as: No Comments
23May/160

Developers Conference 2016, day 3 with openSUSE bug hunting

Posted by Ish

I had my «openSUSE bug hunting» presentation scheduled at 09h30 this morning. I’m usually very lazy on Sundays but the enthusiasm of the Developers Conference is just an amazing feeling. Though we live on a small island, we get to meet some people maybe just once a year during this fun event. I picked up Shelly on the way and we reached Voilà Hotel at 09h05. Right at the hotel entrance Yash was waiting, he might have seen us coming. We went upstairs chatting and met JoKi. My presentation was scheduled at the Accelerator and I thought I’d just go and test the gear. Aargh! The TV had only HDMI cable and my ThinkPad had VGA & a Mini DisplayPort. That said, I needed an adapter. Joffrey who came around greeting everyone had a HDMI to VGA cable, which he lent me. At that same time JoKi also came with a Mini DisplayPort to HDMI convertor. Great! Then I had an adapter plus a backup.

I mirrored my laptop display and checked if everything’s fine. All good and it was 09h30.

Developers Conference 2016, openSUSE bug hunting

Thank you for the photo, Shelly :)

However, folks were still coming, so we thought let’s just wait till 09h45 giving a chance for others to arrive. Indeed I started at 09h45 sharp with a 3/4 full room and just a few minutes later it was «house full». That was great and a true encouragement though a Sunday morning.







Thank you for the (re-)tweets folks. :D

I chose the title of my prez «openSUSE bug hunting» from a blog post I wrote in 2013 while running «release candidates» of openSUSE. Starting the presentation I spoke about how some folks might organize special events working to hunt and find bugs, while some bugs we just encounter when doing regular tasks. What do we do when we find one of those bugs? Do we just ignore and think, «it’s just an error, nothing more», and we continue work? Do we search on the internet whether others encountered similar errors and if there is a fix? Few people ever consider filing a bug report through the right channel, unless it’s just a «button» away like some applications (e.g web browsers) offer.

Bug reporting most of the time require some information gathering from the system; that is where I took the presentation. Before diving further into the system though, I opened a few bug reports from openSUSE Bugzilla to show as example. I also gave a quick overview of the openSUSE Build Service and openSUSE Connect. That helped show the audience how to find package maintainers and get information about official and non-official packages.

I did not have slides; but I rather fired-up an openSUSE Vagrant box inside which I had setup an environment for demos. The rest of the «talking» happened within the Vagrant box. We looked at how to obtain system information using command-line utilities and from the /proc fs. Next we looked at digging for application error info in log files. We played with systemctl and journalctl which gave us clear and concise information about application states. We then queried using rpm and its various options to get as much information about packages that we can use when filing the bug report. At that time an openSUSE user from the audience said we can also use zypper to search for installed packages on the system. Yes, indeed, but rpm -qa | grep php shows no clutter compared to zypper se php. I however grabbed the opportunity to tell the audience that folks having a «debian lifestyle» can still type aptitude equivalents to search and install packages from the command-line; thanks to the «zypper-aptitude» compatibility scripts written by Bernhard M. Wiedemann.

All while we continued digging for application errors and how to search and sort things from the logs; I did a quick demo using Nginx and PHP-FPM.


We talked about the need of default configuration files after installing PHP 7 and that such changes need to be addressed with the «openSUSE factory» guys.

It was near 10h30 and Jeshan signaled me that the next speaker had already come. I asked for a last 5 mins to show something quick using the «strace» tool. Actually a university student asked me a question before the event and I invited him to come to the prez and ask the question again so we could altogether see how tracing tools can help us find useful information for bug reports. That part of the prez might be good for a separate blog post. I sincerely have to apologize to the next speaker if he is reading this post; we started 15 mins late and that surely must have impacted other presentations.

Eddy and I talked about work stuffs after the presentation. Then some of us went to Bagatelle food-court for a mini-break. When we came back Sun was preparing his gear for the next presentation. He talked about grid systems, explained what are decks & cards and how it’s used on lexpress.mu. He showed some hidden features of lexpress.mu, like what happens when you type «heart» or «superlsl» while you’re on the homepage and how the text is read if you type «kozer» while you’re on an article page.


Sun demoed the «live article» feature of lexpress.mu and the work needed behind to keep it light, simple and fast. He talked about «facebook instant articles» and definitely we’re proud to be the first media group, not just in Mauritius, but in the African continent to deploy the same.


After Sun’s presentation I met my ex-colleagues and we went for a pizza & beer lunch at Flying Dodo.


The pizza being late and as the Developers Conference closing ceremony had started Shelly, Ubeid and I rushed back.

JoKi’s wife, Mary Jane, Vincent, Louis, Arnaud and a few others, we had figured how to hijack JoKi’s speech and bring on some more party time to celebrate JoKi’s birthday. Yeah, he’s getting old, now it’s confirmed as he turns 40. Ubeid quickly edited some slides and we told JoKi that as he finished his speech thanking everyone, we had a quick stuff to show; some sort of observation we’ve made. Ahaan! That’s when Arnaud, helped by Mary Jane’s cousin, they brought that big cake along with its table.

Everybody cheered! Everybody laughed. We all had fun, we had cake, we took crazy photos and celebrated the end of Developers Conference 2016.

Developers Conference 2016

Developers Conference 2016

Developers Conference 2016

The post Developers Conference 2016, day 3 with openSUSE bug hunting appeared first on HACKLOG.

Tagged as: No Comments
21May/160

DevConMru 2016, day 2 – Linux Installfest

Posted by Ish

It was Saturday morning and I found myself rushing to be at Flying Dodo just in time. Oh, to be precise «not in time» but like 15 mins later than I expected to be, that 09h45. The night before I got busy preparing the box of openSUSE goodies, sorted the stickers, pamphlets, DVDs and cheat sheets. Little I knew that folks would like those so much. I would tweet as I got the pack ready.





Shelly and I were the first geeks to reach Flying Dodo. While I would setup my laptop with the projector, she prepared the tables with the stickers and cheat sheets.

Developers Conference, Linux Installfest

The first few geeks came shortly afterwards. Ronny and Ajay from the Linux User Group of Mauritius came along with their gear. Oh, this little gang from the University of Mauritius hopped in and yes we were under attack. We also received the visit of folks from the PHP Mauritius User Group.



The morning session was great. Ajay, Pritvi, Ronny and Avish helped people getting their laptop Tux’ed either with Ubuntu or with openSUSE. Meanwhile I got to run an interactive session with the university folks with a command-line walk-through.


There was a question about email headers. I showed email headers from my Gmail account and also from Thunderbird. We talked a little bit about IETF RFC 2822 and together we looked at some of those colon-separated field values. Ajay gave us a simple yet clear explanation on SPF and DKIM. We did a ‘dig’ on a couple few domains to read the TXT records. Ajay explained about hard-fail and soft-fail in the SPF records and how they affect delivery of email.


I tried answering other questions that popped up; covering various topics like SSH, file permissions, etc, and we had real fun during that interactive session.


Jeshan joined us later after his AWS Lambda presentation at Voilà Hotel and offered a little support to Ashmita who tried installing openSUSE (dual boot) on her laptop. Mission was successful! It was great to meet Bernard who got an Ubuntu dual-boot on his laptop and Nirvan Mahadooa who wanted to meet the Linux geeks. I really hope we can continue the geek chat at a later time folks.


Some of us stayed till dinner-time at Flying Dodo sharing «samousa», pizza and beer. Oh, Shelly and I had non-alcoholic drinks. :D

Developers Conference day 2

The post DevConMru 2016, day 2 – Linux Installfest appeared first on HACKLOG.

Tagged as: No Comments
19Apr/160

Setting up a quiet auto-update for openSUSE

Posted by Ish

I was having a discussion about openSUSE with a colleague when he questioned me on software updates that just run silently in the background. I replied that yes, it’s possible, in fact on the command line one may use the --non-interactive flag with zypper.

Otherwise, open YasT > Online Update and at the configuration window select Configuration > Online Update.

Auto-update for openSUSE

As shown in the above screenshot, check the “automatic online update” and finally select “skip interactive patches” and “agree with licenses”. You may set the update frequency to daily or weekly, as it suits you. Selecting “delta rpms” ensures that less bandwidth is used as delta packages contain only the difference between the old and new package rather than having to download whole packages every time a software has a version change.

That’s it. Your system should now update quietly in the background.

The post Setting up a quiet auto-update for openSUSE appeared first on HACKLOG.

Filed under: LUGM, openSUSE, Zypper No Comments
22Mar/160

Customizing the GNOME Shell

Posted by Ish

A couple of weeks back I was customizing the GNOME Shell on my openSUSE Tumbleweed laptop by tinkering with the CSS files of the desktop theme. A colleague of mine who peeked onto my screen at that moment, as he needed to show me something, nudged at the ugly rounded-corner buttons he saw on the taskbar. To be precise that was the “window list” that he saw, an extension that can be installed from gnome.org.

I told him it only requires editing the Cascading Style Sheet (CSS) of the extension, which could be found at /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com, to adapt it to the desktop theme and make it more appealing. In fact, it did not take long to realize that removing the border-radius and the box-shadow actually blended the button better with the theme.

GNOME 3 - GNOME Shell, window list

.window-button > StWidget {
  -st-natural-width: 18.75em;
  max-width: 18.75em;
  color: #bbb;
  background-color: #393f3f;
  /* border-radius: 1px; */
  padding: 3px 6px 1px;
  /* box-shadow: inset 1px 1px 4px rgba(255,255,255,0.5); */
  text-shadow: 1px 1px 4px rgba(0,0,0,0.8);
}

He then pointed to title bar of the Firefox window and said “see, this thickness of the title bar makes it waste space.”

I looked at the window and replied “yeah, indeed but those should be configurable in some CSS file lying around.”

I then got back to work. Today, however, I looked at the title bar again and thought of reducing it’s size. A few hacks have been proposed by people who wished to achieve the same. The best proposal I saw was configuring through the gtk.css file rather than editing the individual theme files. If you do not find the gtk.css file, then create one ~/.config/gtk-3.0/gtk.css.

.header-bar.default-decoration {
    padding-top: 3px;
    padding-bottom: 3px;
}

.header-bar.default-decoration .button.titlebutton {
    padding-top: 2px;
    padding-bottom: 2px;
}

Adjust the padding value to get the desired result. The above gave me a slimmer title bar that would not waste space as before.

GNOME 3, GNOME Shell, window title bar

The post Customizing the GNOME Shell appeared first on HACKLOG.

Tagged as: No Comments
20Mar/160

Build a personal wiki using Vim

Posted by Ish

I used to have random notes in text files scattered on the disk. Then I tried being an organized person by using things like Google Docs… but, after some time I would find myself coming back to the simple text editor when in need of quick notes. On my openSUSE laptop I would either fire up Gedit or if the terminal is already open I’d use Vim.

A few days ago while searching for some packages in the openSUSE repo, I came across the vim-plugin-vimwiki package for Vim. It turned out to be a handy plugin for the Vim text editor.

sudo zypper in vim-plugin-vimwiki

At next launch of Vim, type ww and press “enter” to start the wiki.

gVim text editor

Screenshot of gVim

A folder named “vimwiki” will be created in the home directory of the user. For example for the user “ish”, the following message will appear upon typing ww:

Vimwiki: Make new directory: /home/ish/vimwiki
 [Y]es/[n]o?

A first blank file named “index.wiki” will be created in the “vimwiki” directory. The wiki has support for links, which are created using double brackets, e.g [[Hello Wiki]]. The text between the brackets become click-able and the file “~/vimwiki/Hello Wiki.wiki” is created.

Vim Wiki links

One can navigate through the pages by pressing “enter” while the cursor is on the “link text” and using the backspace button to go to the previous page.

What about existing text files?

The existing text files can be renamed with a .wiki extension and moved to the vimwiki directory. Then use the double brackets to link to that file.

I find the Vim Wiki being a simple & effective solution to take quick (re-usable) notes in an organized manner. Surely other solutions exist but at the moment I’d stick to Vim Wiki.

The post Build a personal wiki using Vim appeared first on HACKLOG.

Tagged as: No Comments
23Nov/150

openSUSE Leap, does your HD video lag and stutter in VLC?

Posted by Ish

opensuse-leapopenSUSE Leap was released on 4 November 2015. A couple of days later I installed it afresh on my laptop. Everything runs perfectly fine. Updates are handled seamlessly which I like the most.

It’s only yesterday that I got a first glitch when opening a MP4 file that Shelly gave me. All my other MP4 files would open fine except this one. I had installed multimedia codecs from the Packman repository. Usually that’s all that I need. So far my video files would play with the codecs I had. There is this simple openSUSE Guide that provides one-click YaST buttons for lazy fellows :)

I then added the VLC repository for openSUSE Tumbleweed and installed VLC Media Player. At the moment openSUSE Leap repository isn’t available from videolan.org.

The most important of all was to have the vlc-codecs package; in order to grab anything that was missing to play the MP4 file. Now, what was ‘exactly’ missing, it wasn’t more important than watching the MP4 file itself. So, I spared myself further troubleshooting and got the VLC Media Player.

zypper ar http://download.videolan.org/pub/vlc/SuSE/Tumbleweed VLC
zypper ref
zypper in VLC

The good news, now the video plays. The bad news, it lags and stutters badly. Obviously, that appeared to be due to some hardware-acceleration done improperly. The first few keywords on Google led me to old posts that would not solve the issue. However, they did point out that the key should be under Preferences > Input / Codecs. Bingo! That’s where I found this setting for “hardware accelerated-decoding”. It was set to “automatic”. As per the VideoLan’s wiki, VDPAU is set by default in VLC 2.1.0 and above; I am using version 2.2.1.

My laptop has Intel HD Graphics and I have the vaapi-intel-driver-1.6.0-3.2.x86_64 and xf86-video-intel-2.99.917-7.1.x86_64 packages installed. I therefore switched the VLC “hardware-acceleration” setting to VA-API video decoder via X11.

opensuse-vlc

That did the trick. I can now play the MP4 file smoothly :)

The post openSUSE Leap, does your HD video lag and stutter in VLC? appeared first on HACKLOG.

28Jun/150

openSUSE:42 – a new beginning

Posted by Ish

People usually ask what is the difference between openSUSE and SUSE? Some even ask how to pronounce it :-) Well, before it hits hard, you should pronounce it suze. SUSE is an enterprise class Linux distribution and it comes in two flavours:

– SUSE Linux Enterprise Desktop
– SUSE Linux Enterprise Server

openSUSE on the other hand is the community version. Much of the development that happens in openSUSE lands in SUSE enterprise editions.

What is openSUSE 42?

openSUSE_42Following additional support and core SUSE Linux Enterprise code given to the openSUSE project, the latter is on a new journey for future releases. At the moment the nomenclature is undecided. Serious discussions are going on the openSUSE project mail list. To know what we are talking about, we have been calling it openSUSE 42. The number 42 comes from the project name openSUSE:42 in the openSUSE Build Service.

On the mail lists I see suggestions like Leap, Oak and Rock & Roll making its way. No consensus has been reached yet. Hoping to get hold on a 42-spin soon :-)

22Jun/150

Re-configure touchpad after KDE Plasma 5 installation in openSUSE

Posted by Ish

I installed KDE Plasma 5 on my openSUSE 13.2 machine. Aww. That looks quite sleek & I adore the classic menu. After a long time using both Gnome 3 (on various distros) and Unity, I am appreciating a vanilla KDE desktop. One could simply replace KDE 4 by KDE Plasma 5 in openSUSE as:

sudo zypper in plasma5-session

Note: As stated, this will replace KDE 4 and your previous desktop preferences will be overridden.

Once installed, re-login after selecting the Plasma 5 environment at the login prompt.

openSUSE KDE Plasma 5

openSUSE KDE Plasma 5

How to re-configure the touchpad?

My touchpad behaved differently. It was set to two-finger scroll, while I prefer the vertical edge scroll. I looked around but could not find any GUI utility to re-configure the touchpad. Could only find mouse controls under System Settings.

I believe these glitches won’t be around when KDE Plasma 5 will ship by default in openSUSE. Meanwhile for people who’re giving a try, the fix is to install kcm-touchpad5 and look for the Input Devices in systemsettings5.

sudo zypper in kcm-touchpad5

System Settings > Hardware > Input Devices > Touchpad

openSUSE-Plasma-5-touchpad

Thanks to wolfi323 from the openSUSE forums