Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.

23 May, 2016


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


Guest post by Petr Marek (source)

Everybody driving a car needs the navigation to get to the destination fast and avoid traffic jam. One of the biggest problems is how to enter fast the destination and how to find where are the congestions, what is the traffic situation. YodaQA Traffic is a project attempting to answer the traffic related questions quickly and efficiently. Drivers may ask questions in natural language like: “What is the traffic situation in the Evropská street?” or “What is the fastest route from Opletalova street to Kafkova street?” You can try out the prototype (demo available only for limited time) – try to ask for example “traffic situation in the Wilsonova street” .

YodaQA Traffic still has some limitations. Currently we only have a browser version not suitable for smart phones. It is answering traffic questions for Prague’s streets only.

But as usual, this whole technology demo is open source – you can find it in the branch f/traffic-flow of our Hub project.

How does it work and where we get the data from?

All YodaQA are first analyzed to recognize and select traffic questions. We do it in two steps. The first step is to recognize the question topic. We use six topics like traffic situation, traffic incident or fastest route. The topic is determined by comparing semantic similarity of the user’s question with a set of reference questions. We estimate the similarity with our Dataset-STS Scoring API. Each reference question is labeled by a “topic”. The Sentence Pair Similarity algorithm selects the reference question “topic” with the highest similarity to the question.

Next we need to recognize the location, i.e. to recognize the street name. This is handled by another tool called the Label-lookup which we normally use for entity linking in YodaQA. It compares questions words with a list of all street names in the Prague. We exported the list of streets names in Prague from OpenStreetMap. We do not do exact match, we try to select the closest street name from the list.

The last step is to decide whether the question is really the traffic question, because the Dataset-STS API and Label-lookup can find topic and street name even in a pure movie question like “When was the Nightmare on Elm Street released?”. The Dataset-STS and Label-lookup return not only topic or street name but also the score, fortunately. We created dataset of over 70 traffic questions and over 300 movies questions and founded the minimal score thresholds, with which the recognition makes the lowest classification error on this dataset.

Once we know the type of question and the location we start a small script accessing the traffic situation data from HERE Maps. The only complication is that the the API doesn’t return traffic situation for particular street, but bounding box only. To overcome this problem we have to find a bounding box for a desired location, using an algorithm we developed for this purpose. Then we call the


Last week, members of The GNOME Project announced a new conference in the United States northwest to enhance the GNU/Linux application ecosystem.

The Libre Application Summit, which will take place in Portland, Oregon, from Sept. 19 – 23, aims to empower application developers both big and small as well as enhance app developers collaboratation with major Linux distributions.

The summit, which is designed to improve the developer and user experience for the GNU/Linux desktop, has a lot of potential to expand and openSUSE is excited to be the summit’s first sponsor.

Since last year, openSUSE has been working together with GNOME members to offer an event in the Portland designed for application developers who want to explore opportunities for expanding apps to distributions, to build personal relationship with users and to explore opportunities to monetize developers apps.

Entrepreneurs and open-source enthusiasts are encouraged to attend if they are interested in building a product based on free and open source software.

The summit will focus on the following topics:

Ecosystem: business, legal, community, and social issues

Platforms: deep low-level topics around hardware, drivers, and tools

Distribution: collaborating with established distributions (like openSUSE), inter-distribution cooperation, QA and continuous integration.

Development: toolkits, X/Wayland, security, runtimes, SDK, development tools.

West Coast Geekos

openSUSE community members living on the West Coast are encouraged to submit a talk.

Learn more about this conference by visiting las.gnome.org or watch this video.

Any companies interested in sponsoring the event along with openSUSE, should visit the sponsorship page.


Como instalar o navegador Qupzilla no Linux manualmente

Já mostrei como instalar o Qupzilla no Ubuntu, agora, veja como instalar o navegador Qupzilla no Linux manualmente, ou seja, em qualquer distro.

Leia o restante do texto "Como instalar o navegador Qupzilla no Linux manualmente"

Este texto saiu primeiro em Como instalar o navegador Qupzilla no Linux manualmente

A few days ago, I published my last blogpost as ’ownCloud’ on our blog roll about the ownCloud community having grown by 80% in the last year. Talk about leaving on a high note!

Yes, I’ll be leaving ownCloud, Inc. - but not the community. As the numbers from my last post make clear, the ownCloud community is doing awesome. It is growing at an exponential rate and while that in itself poses challenges, the community is healthy and doing great.

I joined in 2014, when ownCloud, Inc. had about 36 employees. The community grew that year, according to our history page, from 1 million users to 2.2 while the number of average coders per month went from 62 to 76. For me, the coolest thing that year was the ownCloud Contributor Conference, that brought together 100 contributors for a week of hacking at the university of Berlin. A stressful, but awesome week. Though, my first meeting most of my colleagues was some months earlier at the Stuttgart meetup and my first release was ownCloud 7 not long before the event.

2015 was more of that - our history page has a great overview and I’m darn proud of having been a part of all those things. 2016 brought ownCloud 9, a major release, which was accompanied by an overhaul of owncloud.org, I hope you like our new website!

Not everything is finished, of course. We’re still smack in the middle of awesome work with Collaboraand Spreedas well as the WDLabs PiDrive project - I just finished and published this page about it. All great stuff which has great momentum and will certainly move forward.

Myself, I’ll stay around in the community. I’ll talk about the awesome stuff that is coming next early June but until then, don’t hesitate to contact me if you’ve got any questions about ownCloud or anything else. You can still catch me on jos@opensuse.org;-)


openSUSE Tumbleweed es una distribución “Rolling Release” en desarrollo continuo. Aqui puedes estar al tanto de las últimas novedades.


Una nueva revisión de lo que ha acontecido esta semana en openSUSE Tumbleweed la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, en este enlace:

Las ISO’s son instalables, pero si ya estás disfrutando de openSUSE Tumbleweed en tu equipo, simplemente deberás actualizarlo mediante “zypper up” para disfrutar de esas actualizaciones.

Esta semana finalmente ya está disponible Qt 5.6, no se había podido incluir antes debido a un “bug” que se ha solventado directamente en YaST. Durante esta semana se han lanzado 4 “snapshots 0514, 0516, 0517 y 0519.

Entre lo más destacable de las actualizaciones disponibles ya en Tumbleweed encontramos

  • Qt 5.6
  • KDE Framework 5.22.0
  • Plasma 5.6.4
  • GNOME 3.20.2

Y entre lo que se espera, para las próximas versiones de Tumbleweed son actualizaciones importantes para “el corazón” de la distro, las más destacables:

  • GCC6 – Como el compilador por defecto de la distribución
  • Linux Kernel 4.6
  • Perl 5.24.0
  • KDE Aplications 16.04.1 – Quedan revisiones legales pendientes

Mantente actualizado y ya sabes: Have a lot of fun!!

Enlaces de interés




Como instalar o ClipGrab no Linux manualmente

Se você precisa de um programa para procurar e baixar vídeos em sites desse tipo de mídia, veja como instalar o ClipGrab Youtube Downloader no Linux.

Leia o restante do texto "Como instalar o ClipGrab no Linux manualmente"

Este texto saiu primeiro em Como instalar o ClipGrab no Linux manualmente

22 May, 2016

Эта страница объясняет, как создать загрузочный USB-брелок из LiveDVD, или другими словами — LiveUSB.
Версия: 12.2+Это относится к openSUSE, начиная с версии 12.2 и выше.
Внимание: Не пытайтесь применять процедуры, найденные в интернете для других дистрибутивов «конвертировать образ для создания liveUSB». Таким способом Вы повредите образ. Образы openSUSE уже подготовлены для использования на USB-брелоке, никаких изменение делать не нужно.

С помощью ImageUSB

Загрузите ImageUSB и следуйте инструкциям на их странице.

С помощью SUSE Studio ImageWriter

Ранее использовался SUSE Studio ImageWriter компилированный для windows, но он не поддерживается в настоящее время. Вы можете беспрепятственно fork it и создать свою собственную версию для windows.

С помощью GRUB4DOS

GRUB4DOS может быть установлен, используя RMPrepUSB

Этот метод позволяет сохранить все данные на вашем USB-устройстве. Демонстрация предоставляется на this video. Note: Эти инструкции не подходят, если ваш компьютер загружается UEFI (большинство компьютеров, созданных в промежутке ~2011-2016 все компьютеры с предустановленной Windows 8/8.1/10); сначала Вы должны запустить BIOS, сделать доступной Legacy-загрузку (т.е. сделать недоступными опции загрузки UEFI/secure)!

  • Скопируйте ISO-образ в папку «boot» на Вашем USB-flash.
  • Извлеките файлы «initrd» and «linux» в папку «boot» на USB-устройстве. Эти файлы размещены в каталогах boot\i386\loader или boot\x86_64\loader ISO-образа. Для монтирования ISO Вы можете использовать, например, Pismo File Mount Audit Package.
  • Установка GRUB4DOS в MBR или на USB-flash:
    1. download RMPrepUSB and install it;
    2. запустите RMPrepUSB;
    3. выберите Ваш носитель;
    4. нажмите «Install GRUB4DOS»;
    5. подтвердите GRUB installation to MBR;
    6. подтвердите установку GRUB на выбранный носитель;
    7. подтвердите копирование GRLDR на выбранный носитель.
  • Создайте файл «menu.lst» в корневой папке на USB key. Содержимое «menu.lst» должно быть таким (замените в двух местах – в строке 2 and в строке 5 openSUSE.iso на имя файла образа вашей устанавливаемой системы):
timeout 10

title openSUSE.iso
uuid () > nul
set UUID=%?%
set ISO=openSUSE.iso
kernel /boot/linux isofrom=/dev/disk/by-uuid/%UUID%:/boot/%ISO% isofrom_device=/dev/disk/by-uuid/%UUID% isofrom_system=/boot/%ISO% loader=syslinux splash=silent quiet
initrd /boot/initrd

Загрузите компьютер с вашей USB.

Решение проблем

Если у вас существуют проблемы с записью на USB-флеш, вы можете отформатировать устройство в Windows для подготовки записи образа.

Ms Windows Partitioning Tool

Подобная ситуация случается очень редоко, но если ваш компьютер не загружается с LiveUSB/DVD после проделанных описанных выше шагов, вы можете попробовать следующую процедуру.

C:\> diskpart
DISKPART> list disk           «--- напечатать список дисков
DISKPART> select disk 0       «--- выбрать номер диска
DISKPART> list partition      «--- напечатать список разделов
DISKPART> select partition 1  «--- выбрать первый раздел
DISKPART> active              «--- сделать активным диск/раздел (bootable)
DISKPART> exit                «--- выход

В отличие от fdisk-а, diskpart применит изменения сразу же после того, как вы их внесете, следовательно, не нужны команды на запись.

21 May, 2016


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 is 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.


Dear Tumbleweed users and hackers,

This week we finally could add the long awaited Qt 5.6 to Tumbleweed. It was blocked for a long time as it exposed a bug in, what showed, icewm (the window manager used during installation). This bug though is so deeply nested in the architecture of icewm, that in the end, it was decided to workaround the bug with a ‘fix’ in YaST directly.

During this week, there were 4 snapshots published (0514, 0516, 0517 & 0519).

The most notable changes were:

  • Qt 5.6 – as mentioned in the intro
  • KDE Framework 5.22.0
  • Plasma 5.6.4
  • GNOME 3.20.2 – packages were spread over a longer period to get you fixes as early as possible

The season of ‘larger’ changes has started – and we now have in Staging:

  • GCC6 as default compiler for our distribution
  • Perl 5.24.0 – It would not be perl if nothing would break
  • KDE Applications 16.04.1 – Shaping up, mostly legal reviews pending
  • Linux kernel 4.6

Have a great time and use every moment to have a lot of fun

20 May, 2016


I have some 2” wooden blinds in my house that I’ve been wanting to motorize. Why? I’m lazy and I thought it would be cool to have.

The best commercial solution for retrofitting existing blinds seems to be Somfy. They have wireless battery-powered systems and fancy-looking remotes. For new motorized blinds, Bali seems to be popular, and they use Somfy for the motorization. There are also some kickstarter things (MOVE, MySmartBlinds), but the last time I looked those didn’t really do what I want. Somfy likely has a good product, but it’s very expensive. It looks like it would cost about $150 per blind, which is just way too much for me. They want $30 just for the plastic wand that holds the batteries (8 x AA). We’re talking about a motor and a wireless controller to tell it what to do. It’s not rocket surgery, so why should it cost $150?

My requirements are:

  • Ability to tilt the blinds to one of three positions (up, middle, down) remotely via some wireless interface. I don’t care about raising or lowering the entire blind.
  • There must be some API for the wireless interface such that I can automate them myself (close at night, open in morning)
  • Tilt multiple blinds at the same time so they look coordinated.
  • Be power efficient – one set of batteries should last more than a year.

Somfy satisfies this if I also buy their “Universal RTS Interface” for $233, but that only makes their solution even more expensive. For the 6 blinds I wanted to motorize, it would cost about $1200. No way.

I’ve been meaning to get into microcontrollers for a while now, and I thought this would be the perfect project for me to start. About a year ago I bought a RedBear BLE Nano to play with some Bluetooth stuff, so I started with that. I got a hobby servo and a bunch of other junk (resistors, capacitors, etc) from Sparkfun and began flailing around while I had some time off around Christmas. The Arduino environment on the BLE Nano is a little weird, but I got things cobbled together relatively quickly. The servo was very noisy, and it’s difficult to control the speed, but it worked. Because I wanted to control multiple devices at once, BLE was not a really great option (since AFAIK there is no way to ‘broadcast’ stuff in a way that is power-efficient for the listeners), and I started looking at other options. Eventually I ran across the Moteino.

The Moteino is an Arduino clone paired with a RFM69W wireless radio, operating at either 915Mhz or 433Mhz. It also has a very efficient voltage regulator, making it suitable for battery powered applications. The creator of the board (Felix Rusu) has put in a lot of work to create libraries for the Moteino to make it useful in exactly my type of application, so I gave it a try. The RFM69


The blog has been a little bit silent – a typical sign of us working too hard to worry about that! But we’ll satisfy some of your curiosity in the coming weeks as we have about six posts in the pipeline.

The thing I would like to mention first is some fundamental research we work on now. I stepped back from my daily Question Answering churn and took a little look around and decided the right thing to focus for a while are the fundamentals of the NLP field so that our machine learning works better and makes more sense. Warning: We’ll use some scientific jargon in this one post.

So, in the first months of 2016 I focused huge chunk of my research on deep learning of natural language. That means neural networks used on unstructured text, in various forms, shapes and goals. I have set some audacious goals for myself, fell short in some aspects but still made some good progress hopefully. Here’s the deal – a lot of the current research is about processing a single sentence, maybe to classify its sentiment or translate it or generate other sentences. But I have noticed that recently, I have seen many problems that are about scoring a pair of two sentences. So I decided to look into that and try to build something that (A) works better, (B) actually has an API and we can use it anywhere for anything.

My original goal was to build awesome new neural network architectures that will turn the field on its head. But I noticed that the field is a bit of a mess – there is a lot of tasks that are about the same thing, but very little cross-talk between them. So you get a paper that improves the task of Answer Sentence Selection, but could the models do better on the Ubuntu Dialogue task then, or on Paraphrasing datasets? Who knows! Meanwhile, each dataset has its own format and a lot of time is spent only in writing the adapter code for it. Training protocols (from objectives to segmentation to embedding preinitializations) are inconsistent, and some datasets need a lot of improvement. Well, my goal turned to sorting out the field, cross-check the same models on many tasks and provide a better entry point for others than I had.

Software: Getting a few students of the 3C group together, we have created the dataset-sts platform for all tasks and models that are about comparing two sentences using deep learning. We have a pretty good coverage (of both tasks and models), and more brewing in some side branches. It’s in Python and uses the awesome Keras deep learning library.

Paper: To kick things off research-wise, we have posted a paper Sentence Pair Scoring: Towards Unified Framework for Text Comprehension where we summed up what we have learned early in the process. A few highlights:

  • We have a lofty goal of building an universal text comprehension model, a sort of

19 May, 2016


Git es el sistema de control de versiones de software ya ampliamente utilizado, y creado por el Linus Torvalds el creador del kernel Linux.

Imagen: xkcd

Sin duda Git se ha convertido en una de las grandes herramientas que han revolucionado el modo de escribir código de manera colaborativa. Linus Torvalds decidió crear este novedoso sistema para tener una herramienta que se adaptara al modo de desarrollo del kernel Linux.

Miles de programadores trabajando de manera conjunta sobre el código, aportando, depurando, corrigiendo código en un mismo proyecto, y Git vino a solucionar y a solventar los problemas y carencias que los antiguos sistemas de control de versiones tenían.

Muy bien, pero ¿cómo funciona Git? ¿Cómo puedo empezar a aprender lo básico y a partir de eso entenderlo y seguir investigando? Por el blog ya he hablado en muchas ocasiones sobre Git, puedes leer los artículos relacionados bajo esa etiqueta:

Pero Git es muy extenso y con muchas funcionalidades que sólo con leer no vamos a poder dominar por completo, para poder fijar conocimientos y expandirlos sin duda lo más efectivo es un tutorial interactivo, sencillo en el que podamos nosotros mismos teclear los comandos y ver qué producen esos comandos. Será la manera de ver cómo trabaja Git y de poner en práctica los conocimientos teóricos que hayamos aprendido.

Para eso quería compartir hoy por el blog un curso interactivo que he conocido ayer mismo navegando por la red. En este curso a través de una consola virtual y un gestor de archivos en nuestro navegador podremos ir conociendo lo básico de git y ver cómo funciona.

Un curso interactivo desarrollado en 25 pasos en el que de manera interactiva se nos explica qué debemos hacer y qué efectos tendrá eso que hagamos. La web está en inglés, pero creo que es sencillo de seguir, e interesante.

Si te animas a intentarlo lo puedes empezar ya mismo pinchando sobre este enlace, sin registros:

También he conocido otra página, esta en español, donde se nos explican los comandos básicos. Quizás esta con conjunción con el curso interactivo pueda ser un buen complemento. Puedes acceder a esta guía básica en este enlace:

Ya de paso aprovecho para enlazarte a una “chuleta de comandos” de git que se puede imprimir y tenerla a mano para consultarla:

Creo que es interesante tanto para aquellos usuarios que queremos aprender, como para aquellos que ya tienen ciertos conocimientos, y que quizás también descubran algo nuevo. Si te interesa, dedica 15 minutos a hackear con este curso interactivo sobre Git.

Y ya sabes, en caso de incendio…

—————————:) —————————


Como instalar o Visual Studio Code no Linux usando pacotes DEB/RPM

Visual Studio Code, o editor de código multiplataforma da Microsoft já possui uma versão para o Linux. E se você quer usá-lo no seu sistema, veja aqui como instalar o Visual Studio Code no Linux usando pacotes DEB/RPM.

Leia o restante do texto "Como instalar o Visual Studio Code no Linux usando pacotes DEB/RPM"

Este texto saiu primeiro em Como instalar o Visual Studio Code no Linux usando pacotes DEB/RPM


Como instalar a versão mais recente do LibreOffice no Linux

Foi lançado oficialmente o LibreOffice 5.0, a nova geração dessa suíte de escritório. Se você está querendo experimentar essa versão do LibreOffice no Linux antes de todos, veja como instalar.

Leia o restante do texto "Como instalar a versão mais recente do LibreOffice no Linux"

Este texto saiu primeiro em Como instalar a versão mais recente do LibreOffice no Linux

18 May, 2016


Here we are after another Scrum sprint with our usual report about the activity in YaST development.

Trusted boot

YaST bootloader module got a new option, Trusted Boot (FATE#316553). It installs TrustedGRUB2 instead of the regular GRUB2. Trusted Boot means measuring the integrity of the boot process, with the help from the hardware (a TPM, Trusted Platform Module, chip).

It enables some interesting things which we unfortunately haven’t provided out of the box. We give you a bootloader which measures the boot integrity and places the results in Platform Configuration Registers (PCRs).

First you need to make sure Trusted Boot is enabled in the BIOS setup (the setting is named Security / Security Chip on Thinkpads, for example). Then you can enable the new YaST Bootloader option that will install TrustedGRUB2.

Trusted boot in YaST Bootloader

In the description of this pull request you can find a more detailed explanation including some commands and hexadecimal dumps to check the result. Geek pr0n!

SSH keys importing… and a glance at a YaST Developer’s life

When looking at any software project, it’s common to find some feature or piece of code that is there due to the so-called “historical reasons”. YaST2 code-base has been around since 1999, adapting to changes and new requirements in a (almost literally) daily basis since then. That leads to a new level of heritage – the “prehistoric reasons”. Working in the YaST Team implies coding, debugging, testing… and archaeological research.

We got a bug report about the installer “stealing” some SSH host keys (but not all of them) from previously installed systems. It was actually the effect of a little-known YaST feature that can look surprising (not to say weird) at first sight. Ten years ago, somebody decided that when installing SUSE in a networked environment, where people use SSH to log in, it was better to import SSH keys from a previously installed Linux than to get that “ssh host key changed” for everybody who tries to connect. The rational was that forcing everybody to change the ~/.ssh/known_hosts file often could become a security breach, since people could get used to ignore the security warnings. Welcome to the world of historical reasons. :-) Moreover, it was decided that the operation should be performed without showing any information to the users, in order to not confuse them.

More or less at the same time (we are still talking about 2006), it was decided to introduce importing of users from an existing system, this time with user interaction. The YaST developers decided that it would be fine to share some mechanisms in the implementation of both features. Another step into the historical reasons void.

Fast forward to the present. After several fate entries, bug reports and redesigns over the years, we decided to make the importing of SSH host keys more visible and usable, to make both functionalities (SSH import and users import) more independent and more clean and to take the first step to clean up the insanity introduced through


Since the last openSUSE Tumbleweed update, there have been three snapshots, but the next snapshot is the one many users are waiting for because it will include Qt 5.6.

The hold up has taken some time to be released because a minor fix, but any snapshot dated 20160517 or higher will have the Qt 5.6.

There are a few other exciting packages in staging that could soon arrive in follow on Tumbleweed snapshots like Plasma 5.6, Plasma Framework 5.22.0 and KDE Applications 16.04.1. The 4.6 Linux Kernel was also checked in to staging recently.

What has already been released in the repositories in recent Tumbleweed snapshots is GNOME 3.20.2 and Linux Kernel 4.5.4 from the 20160516 snapshot. Libzypp updated to major version 16.0.0.

Snapshot 20160514 and 20160512 had a few package changes that updated translations for many of the new package updates.

The live installer was dropped from Tumbleweed. People can get live images, but there is no installer.

openSUSE Conference News

The schedule for the openSUSE Conference was released yesterday. The schedule is not complete and is still subject to change. Any presenter who has an issue with the scheduled date and time of their presentation should email ddemaio@suse.de.

Presenters who are not using a company or other project presentation template are asked to use the openSUSE presentation template for talks or workshops.

Release Engineer

openSUSE is looking for a Release Engineer. A job announcement was recently posted. The position description is listed as a release engineer. The position requires a proficiency in several major scripting languages like python, bash and perl. The applicant should understand open source communities and be passionate about Linux. The job location is listed in Nuremberg, but people who are interested in working remotely should also apply.


¡Cómo me encanta la astronomía! En Marzo del 2012, las astronomía nicaragüense lograba avanzar un paso más con el descubrimiento del asteroide 2012Fe52, por estudiantes de secundaria de la Escuela Universal Pierre y Marie Curie. En ese año, en mi calidad de Presidente de ANASA, me acerqué a dicho colegio para proponerles su participación en […]

16 May, 2016


Für die Veröffentlichung der nächsten openSUSE Version (Leap 42.2) und den dazugehörigen Vorab- bzw. Entwicklerversionen haben die Entwickler die ungefähren Termine bekannt gegeben, an denen man sich schon mal etwas orientieren kann.

Mai 2016: Alpha 1

Juni 2016: Alpha 2

Juli 2016: Alpha 3

August 2016: Beta 1

September 2016: Beta 2

Oktober 2016: RC1, RC2

Erste Woche im November 2016: Release

Im Gegensatz zu früher legen sich die Entwickler, völlig zu recht, nicht mehr auf einen speziellen Tag für die Herausgabe einer Version fest, sondern geben die Termine nur als vorläufige und recht weitläufige Angaben an.  

Sobald die ersten 42.2 Alpha Versionen zum Testen bereit stehen, findet ihr sie im Downloadbereich bei openSUSE, wo dann im November selbstverständlich auch die finale Ausgabe zu finden sein wird. Aber bis dahin ist es noch etwas hin. 😉

Quelle: https://en.opensuse.org/openSUSE:Roadmap


with a little help from SaltStack -

I’ve been running my personal blog on rootco.de for a few months now. The server is a minimal install of openSUSE Leap 42.1 running on a nice physical machine hosted at the awesome Hetzner, who offer openSUSE Leap as an OS on all of their Physical and Virtual server hosting. I use the standard Apache available in Leap, with Jekyll to generate this blog. You can actually see the source to this Jekyll blog on GitHub. And to manage it all I use the awesome SaltStack and keep all of my Salt configuration in GitHub also so you can see exactly how my system is setup.

Why am I sharing all of this? Well this weekend there was something I needed to fix.
http://rootco.de was running without HTTPS.

So What?

This site is a blog about Free Software & Open Source stuff, why on earth does it need to be running HTTPS?.

Because every single web service that can be HTTPS, should be HTTPS. There are lots of good articles going back years as to why, but the simplest reasons is that it helps ensure the content you visit when you go to my blog is the content I intended for my blog. It’s very hard for someone to tamper with the content delivered from a HTTPS website. While I’m not (yet) currently hosting any interactive services on my server, if I do I want to ensure they’re secured by HTTPS so the data I’m sending to my server is done so as securely as possible.

And in this day and age, there is rarely an excuse to not use HTTPS for everything. Certificates used to be expensive and complicated to setup, but thanks to the wonderful project LetsEncrypt anyone can now get certificates for their domains for FREE.

Getting Stated with LetsEncrypt

I started as anyone should, by reading the Getting Started Guide.
As there is not (yet) a certbot package for openSUSE Leap, I had to use the certbot-auto wrapper script.
The documentation recommends you install it using the following commands:

$ git clone https://github.com/certbot/certbot
$ cd certbot
$ ./certbot-auto --help

As I’m actually using SaltStack to manage my system, all I did instead was add the following to my Salt State for the rootco.de Web Server.

    - name: https://github.com/certbot/certbot
    - target: /opt/certbot
    - user: root

You can see the git commit HERE.

I then ran the following on my salt master to tell SaltStack to pull down the changes and apply them to the rootco.de Web Server.

$ git -C /srv/salt pull 
$ salt 'luke.rootco.de' state.highstate --state-output=changes

NOTE: I could have just waited, I actually have the above running as a cronjob every 30 minutes to make sure my server configuration stays as I have defined it in SaltStack

I then sanity checked the contents of /opt/certbot before proceeding. I


openSUSE Tumbleweed es una distribución “Rolling Release” en desarrollo continuo. Aqui puedes estar al tanto de las últimas novedades.


Una nueva revisión de lo que ha acontecido esta semana en openSUSE Tumbleweed la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, en este enlace:

Las ISO’s son instalables, pero si ya estás disfrutando de openSUSE Tumbleweed en tu equipo, simplemente deberás actualizarlo mediante “zypper up” para disfrutar de esas actualizaciones.

Las actualizaciones de Tumbleweed no paran y los hackers que están detrás y la hacen posible siguen dándole forma e incluyendo lo más novedoso y estable del mundo GNU/Linuxero para que todos los usuarios de esta versión “Rolling Release” de openSUSE puedan estar a la última!

En la revisión de esta semana pasada echaremos un vistazo a las versiones publicadas 0508, 0511 y 0512. Entre estas lo más destacado que se ha incluido y que es digno de mención es:

  • Plasma 5.6.3
  • Linux kernel 4.5.3

También en estas revisiones semanales repasamos lo más notable que se está cocinando a fuego lento y que se espera que pronto este ya disponible. Entre esas esperas notables podemos encontrar:

  • KDE Application 16.04.1
  • Perl 5.24.0
  • Qt 5.6 – Próximamente. De momento se están resolviendo algunos prblemas que existen con YaST, y que esperan solucionar pronto.

Mantente actualizado y ya sabes: Have a lot of fun!!

Enlaces de interés




Today it's fifteen years from my first contribution to free software. I've changed several jobs since that time, all of them involved quite a lot of free software and now I'm fully working on free software.

The first contribution happened to be on phpMyAdmin and did consist of Czech translation:

Subject: Updated Czech translation of phpMyAdmin
From: Michal Cihar <cihar@email.cz>
To: swix@users.sourceforge.net
Date: Mon, 14 May 2001 11:23:36 +0200
X-Mailer: KMail [version 1.2]


I've updated (translated few added messages) Czech translation of phpMyAdmin. 
I send it to you in two encodings, because I thing that in distribution 
should be included version in ISO-8859-2 which is more standard than Windows 

    Michal Cihar

Many other contributions came afterwards, several projects died on the way, but it has been a great ride so far. To see some of these you can look at my software page which contains both current and past projects and also includes later opensourced tools I've created earlier (mostly for Windows).

These days you can find me being active on phpMyAdmin, Gammu, python-gammu and Wammu, Debian and Weblate.

Filed under: Debian English phpMyAdmin SUSE | 2 comments


¿Qué mejor manera de pasar una tarde de Domingo que estar platicando con mi tatara-tatara-tatara-Abuelo? Más bien, nuestro “tatara-tatara-tatara-Abuelo”… o mejor dicho “nuestros tatara-tatara-tatara-abuelos”. Claro, figurativamente hablando, ya que son mucho más antiguos que todos nuestros abuelos humanos juntos. Tanto como 3.4 mil millones de años. Permitanme explicar. Hace mucho tiempo, durante los orígenes del […]

15 May, 2016

PyCharm 安裝 with openSUSE Leap 42.1

今年想要投入多點時間在 python 上面, 所以建立一個讀書會
在讀書會中, 我們商議的開發環境為 Pycharm 這個軟體, 他的好處是 Mac / Windows / Linux 都有, 今天來寫 Linux 上面的安裝

OS: openSUSE Leap 42.1


下載之後解壓縮,  我之前是用一般使用者, 後來決定用 root 解壓縮到 /opt 方便後面管理
#  tar   zxvf   pycharm-community-2016.1.3.tar.gz  -C  /opt

用一般使用者身份進行安裝, 執行 pycharm.sh

> /opt/pycharm-community-2016.1.3/bin/pycharm.sh

首先是安裝的詢問, 如果沒有裝過之前的版本就選 I do not have a previous version of PyCharm or I do not want to import my settings

2016-05-15 12-51-33 的螢幕擷圖.png

點選 Accept

2016-05-15 12-52-58 的螢幕擷圖.png

出現初始化設定, 他會在 /usr/local/bin/ 下建立 charm
我這邊是預設值 點選 OK

2016-05-15 12-54-42 的螢幕擷圖.png

2016-05-15 12-55-34 的螢幕擷圖.png

這邊我先選 Create New Project
2016-05-15 12-57-59 的螢幕擷圖.png

預設是在家目錄的 PycharmProject/ 下

這邊 Interpreter 可以選 2.x 或是 3.x python, 我是選 python3.4
點選 Create

2016-05-15 12-59-56 的螢幕擷圖.png

2016-05-15 13-03-56 的螢幕擷圖.png

安裝完成之後, 相關設定是儲存在家目錄的 .PyCharm2016.1
> ls  -ald    ~/.P*
drwxr-xr-x 4 sakana users 4096  5月 15 13:24 /home/sakana/.PyCharm2016.1

順便觀察一下 /usr/local/bin
> ls   -l   /usr/local/bin/
總計 4
-rwxr-xr-x 1 root root 3062  5月 15 13:24 charm

點選 File -- >  Settings

在 Editor -- >  General  勾選 Show line Numbers  -- > 點選 OK

2016-05-15 13-55-12 的螢幕擷圖.png

點選 File -- >  Settings
在 Editor -- >  File and Code Templates
點選 Python Script , 輸入 # -*- coding: utf-8 -*-
點選 OK

2016-05-15 14-01-15 的螢幕擷圖.png

接下來設定 Github 的部份

點選  VCS  -- > Checkout from Version Control  -- >  Github

Login: 輸入自己的 email
Password: 輸入密碼
點選 Login

2016-05-15 14-08-53 的螢幕擷圖.png

點選 Clone

2016-05-15 14-11-11 的螢幕擷圖.png


2016-05-15 14-12-20 的螢幕擷圖.png

開啟時有提醒 Markdown 可以安裝 plugin

2016-05-15 14-13-57 的螢幕擷圖.png
2016-05-15 14-14-07 的螢幕擷圖.png

另外有提醒 還沒有設定 Python interpreter ( 因為同時有 2.x 以及 3.x )

2016-05-15 14-17-29 的螢幕擷圖.png


2016-05-15 14-18-32 的螢幕擷圖.png

這邊我自己是用 python 3.4

2016-05-15 14-20-09 的螢幕擷圖.png

重新啟動 PyCharm 就可以看到剛剛 Markdown 支援的效果

2016-05-15 14-22-48 的螢幕擷圖.png

icon 的部份, 如果不想用 command line 啟動 smartgit 可以試試看 alacarte 建立



~ enjoy it

14 May, 2016


Dear Tumbleweed users and hackers,

Despite the ‘shorter’ work-weeks we currently see in Europe due to various celebrations, Tumbleweed keeps on rolling. This is of course thanks to our community that does not let itself be stopped by some days off from work.
This review will touch the snapshots 0508, 0511 and 0512.

Note-worthy updates shipped in those snapshots:

  • Plasma 5.6.3
  • Linux kernel 4.5.3

What is cooking:

  • Qt 5.6 – It is coming. Last night, a fix to address this was checked in to YaST. YaST is trying to work around an icewm issue, which would be much more complex to fix.
  • A switch away from sun rpc to tirpc. This is done in pam now and will move along to other areas, including glibc
  • KDE Application 16.04.1
  • Perl 5.24.0 – let’s be surprised on how much we might need to fix

Have a great weekend


Si estáis en Madrid o tenéis la oportunidad de asistir a principios de junio de 2016 SUSE estará presente en unos eventos que quizás os interesen.

A parte de escribir sobre openSUSE en el blog, cuando hay oportunidades como estas, también me gusta dar a conocer eventos en los que SUSE (la empresa que da soporte a openSUSE) estará presente, por si alguno está interesado y tiene la posibilidad de asistir.

Esta vez quiero dar a conocer un par de eventos que tendrán lugar en Madrid los próximos días 1 y 2 de junio de 2016, y ya de paso también informar sobre una oferta de trabajo…

El primer evento sobre el que quiero informar es uno relacionado con la tecnología de contenedores Docker y SUSE. Una sesión técnica que tendrá lugar el próximo 1 de junio de 2016 en la Academia del Cine situado en la Calle de Zurbano, 3, 28010 Madrid. En este evento se realizará una demostración de centro de datos definido por software basado en contenedores.

Este es el horario y el plan:

9:00– 9:30 Registro y café de bienvenida
 9:30 – 9:45 Indroducción
 9:45 – 10:00 Contenedores Docker
 10:00 –11:00 Contenedores
– Docker Toolbox en SUSE (sle2docker, zypper-docker, docker-compose, docker-registry, containers module)
– Docker Datacenter (UCP + Docker Trusted egistry)
– Flocker (persistencia de volumenes)
– Provisión automatizada de Docker Host: SUMA3 + SES + SOC6
 11:00 – 11:30 Descanso
 11:30 – 12:30 Arquitectura Recomendadas:
– Baremetal (CaaS: Container as a Service)
– Docker Hosts en VMs
– SOC6 (Docker Hosts en VMs | Docker hosts como hipervisor)
 12:30 – 13:45 Demo: Centro de Datos basado en Docker
 13:45 – 14:00 Clausura
 14:00 – 15:00 Comida

Para más información y registrarse:

El segundo evento del que quiero informar y en el que estará presente SUSE, entre otras muchas empresas, y particulares interesados en el software libre, será OPENEXPO el día 2 de junio de 2016. Podéis visitar la página con todos los horarios y charlas en su web:

Una gran reunión de empresas, profesionales e interesados en las soluciones de software libre y código abierto en los campos relacionados con las nuevas tecnologías.

Es un día intenso, con muchas actividades propuesta, charlas y stands de multitud de expositores informando de sus productos. Entre ellos, estará SUSE dando unas charlas.

Y ya por último, recordar que SUSE está buscando gente en su plantilla, eso sí para Nuremberg… si te cumples los requisitos y te interesa, puedes leer la convocatoria y probar suerte, quizás en breve estes trabajando en esta importante empresa de software. Más información:

Ya sólo me queda decir… Have a lot of fun!!Funny Chameleon_2



Stop Press : La Mairie de Rouen met à notre disposition une salle au rez-de-chaussée et qui sera plus pratique et accessible pour tous. On vous attend! Le samedi 28 Mai 2016, nous organisons notre Journée Mensuelle du Logiciel Libre à la Maison St Sever à Rouen (Centre Commercial St Sever, 10-12 rue Saint-Julien 76100 Rouen) de […]


Snapper est un outil de création et de gestion des snapshots du système de fichiers Btrfs. Une nouvelle version vient de sortir, avec un nettoyage automatique plus performant. Fini les partitions racines saturées par de trop nombreux instantanés !

Résumé des épisodes précédents


Nom : drive-harddisk.png
Affichages : 1079
Taille : 27.1 KoopenSUSE promeut depuis quelques années maintenant le système de fichiers Btrfs.

13 May, 2016


Puedes probar openSUSE con CDE, un entorno de escritorio clásico de entornos Unix, conviértete en un geek total.


Haz clic en la imagen para ampliar

¿Quieres tener una experiencia geek “retro” o “vintage”? Ahora tienes la oportunidad de probar el entorno de escritorio CDE (Common Desktop Environment) propio de entornos Unix en openSUSE. ¿Quieres intentarlo?

Hoy leyendo la lista de correo de openSUSE-project veo un mensaje en el que un usuario comentaba que ahora puedes probar el entorno de escritorio CDE (Common Desktop Environment) para sistemas Unix en openSUSE Tumbleweed ya que lo han empaquetado para poder instalarlo… bajo tu propia responsabilidad, te aconsejo no hacerlo en tu equipo habitual.

Para los más veteranos en esto de la informática que hayan tenido la oportunidad y necesidad de trabajar con antiguos entornos Unix, quizás este nuevo aporte les recuerde algo de aquello que hace años utilizaron… CDE fue desarrollado por HP, IBM, SUN y otras empresas. Fue el entorno de escritorio utilizado por estaciones de trabajo Unix.

Aunque CDE ha sido software privativo, su código fuente ha sido recientemente lanzado bajo versión LGPL, y el código ahora está mantenido de manera activa por un grupo de usuarios.

Puedes instalarlo añadiendo el siguiente repositorio personal de un usuario que lo ha empaquetado para openSUSE, aunque como he mencionado no ofrece garantías, así que si lo instalas y usas, será bajo tu responsabilidad y a lo mejor el sistema presenta fallos o bugs, así que mejor no hacerlo en tu máquina habitual, y testearlo en una de pruebas ya sea virtual o un equipo para tal efecto.

Para poder ejecutar CDE:

  • Habilita y arranca el servicio “rpcbind”, es indispensable para CDE
  • Utiliza LightDM como gestor de sesiones
  • Introduce las credenciales y escoge el escritorio CDE en la lista desplegable

No lo he probado, así que no puedo contaros mi experiencia, pero si este fin de semana se presenta lluvioso y no tenéis nada mejor que hacer, podéis intentar a pasar un rato de “hack & fun” intentando probar este entorno de escritorio. Si lo hacéis, compartid la experiencia por aqui!:)

Enlaces de interés



Consul with ansible

因為之後 docker swarm 需要用到 consul , 所以就建立 consul

OS: openSUSE Leap 42.1

一般建立 consul 的作法

建立使用者 consul ( 不一定要建立這個使用者, 這個是工作上協調的結果 )
#useradd  -m  consul

#mkdir  -p  /opt/consul/bin   /opt/consul/data   /opt/consul/config

設定權限以及更改擁有人為使用者 consul
#chown  -R  consul   /opt/consul/

#chmod  -R  700  /opt/consul/

從網路取得 consul 並解壓縮 zip ( 這邊以 0.6.4 為例 )

#unzip  consul_0.6.4_linux_amd64.zip

將 consul 複製到指定的目錄
#cp  consul   /opt/consul/bin

切換使用者 consul
#su  -  consul

編寫設定檔 ( 這邊我們是先試用官方的服務 https://atlas.hashicorp.com/consul )
>vi   /opt/consul/config/atlas_consul.json

 "bind_addr": "請填入機器IP",
 "atlas_infrastructure": "請填入帳號/請填入名稱",
 "atlas_join": true,
 "atlas_token": "請填入自己的token",
 "bootstrap_expect": 3,
 "datacenter": "Hsinchu-NCHC",
 "data_dir": "/opt/consul/data",
 "log_level": "INFO",
 "node_name": "請填入主機名稱",
 "encrypt": "請填入加密的資訊",
 "server": true

啟動 consul agent
> /opt/consul/bin/consul   agent   -config-dir   /opt/consul/config/

目前是用 nohup 方式在背景執行, 然後離開
> nohup /opt/consul/bin/consul agent -config-dir /opt/consul/config/ &

停止 consul 的方式( 這樣不會產生 error )
/opt/consul/bin/consul  leave

------- Ansible 方式 ----------

接下來自己寫了一個 ansible 的playbook 來安裝 consul

檔案名稱 Consul_install.yml

# Install consul and setup boot
- name: use when conditionals and setup module (facts)
 hosts: all
# 使用 setup moudule 列出 OS 種類
   - name: use setup module to list os distribution
# setup moudle 可以使用 filter 過濾相關內容
     setup: filter=ansible_distribution


- name: Install consul , add user and setting up env
# use group
 hosts: ConsulHost
 sudo: True
   - name: Add user consul
     user: name=consul

   - name: Create folder for consul
     file: path=/opt/consul/{{ item }} state=directory owner=consul mode=700
       - bin
       - data
       - config

   - name: Install wget with openSUSE Leap
     zypper: name={{ item }}
       - wget
     when: ansible_distribution == "openSUSE Leap"

   - name: Install wget with CentOS
     yum: name={{ item }}
       - wget
     when: ansible_distribution == "CentOS"

   - name: Install wget with Ubuntu
     apt: name={{ item }} update_cache=yes
       - wget
     when: ansible_distribution == "Ubuntu"


   - name: Get consul 0.6.4 zip
     shell: wget   https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip


   - name: Unzip consul 0.6.4 zip file
     shell: unzip consul_0.6.4_linux_amd64.zip


   - name: Copy consul to path
     shell: cp consul /opt/consul/bin

# Copy config files with user consul
- name: copy config files with user consul
 hosts: ConsulHost
   - name: use setup module to list os distribution
     become_user: consul
     become: yes
     template: src=templates/atlas_consul.json dest=/opt/consul/config/atlas_consul.json

# 這個部份有待討論如何在背景執行 可能要寫成服務的方式, 目前會斷
#    - name: running consul at backgroud
#      become_user: consul
#      become: yes
#      shell: nohup /opt/consul/bin/consul agent -config-dir /opt/consul/config &

檔案 templates/atlas_consul.json

{% for host in groups['ConsulHost'] %}
 "bind_addr": "{{ hostvars[host].ansible_default_ipv4.address }}",
 "atlas_infrastructure": "請填入帳號/請填入名稱",
 "atlas_join": true,
 "atlas_token": "請填入自己的token",
 "bootstrap_expect": 3,
 "datacenter": "Hsinchu-NCHC",
 "data_dir": "/opt/consul/data",
 "log_level": "INFO",
 "node_name": "{{ hostvars[host].ansible_hostname }}",
 "encrypt": "請填入加密的資訊",
 "server": true
{% endfor %}

<- Current blog entries