Desktop-per-screen (multiple monitors improvements)
KDE Project:
There's been a "small" upgrade to my desktop machine at work, and as a part of that I got my hands on a 1920x1080 Dell monitor and couldn't help placing it as a secondary monitor, rotated. And I couldn't help noticing various problems with this setup.

A screen rotated to become 1080x1920 should be quite useful for a developer - let's face it, 1920x1080 is often good just few displaying a narrow text column between two huge margins anyway (hello dot.kde.org and other sites), so why not rather use the extra size for the direction that matters. But in practice, it didn't quite work, not really. Getting (some) driver to work somewhat decently in this setup wasn't exactly trivial and even then, there were various problems and the extra monitor seemed more like added weight than useful addition.
There were bugs of course, the unusual geometry can lead to strange results pretty easily, with the center of the right monitor being at the same height like the bottom edge of the left monitor. But, more importantly, it didn't seem to work right as a whole. I use virtual desktops a lot, and each virtual desktop spans the whole area of all monitors combined. Which makes the monitors very dependent, linked together, and so trying to take advantage of them for viewing something results in a struggle to arranging windows properly.
So, this Hackweek came about in the right time to allow me to do something about it as my project. I have fixed a number of multi-monitor bugs that bothered me, and I have a usable implementation of a desktop-per-screen feature for KWin. My changes for it are in the KDE git repo in clones/{kdelibs|kde-workspace}/lunakl/desktopperscreen, and let's see how it works in practice.

The picture above is from my testing (the black is the dead area). After selecting either of screens as the active switching desktops switches just what that screen shows. That means that with this setup its much simpler to have e.g. 4 virtual desktops on the left screen for development and 2 virtual desktops on the right screen for documentation, and using keyboard shortcuts one can get rapidly to anything wanted quite easily.
Of course, there is still room for improvements, or perhaps better said fixes for this mode. It can quickly get confusing about which virtual desktop is shown on which screen, so the picture shows an applets I quickly hacked up for this (I needed it quick&easy, so this one is for Kor). The pager now also shows incorrect information, since now each virtual desktop spans just one screen, e.g. desktop 4 should be shown in pager as having the KWrite window in its bottom-right corner, like it is in reality.
But well, it works, or so it seems so. I'll add the patches to my 11.4 KDE packages in the home:llunak:my OBS repo, time to try it out for real.
Telepathic Flirt With Chromium
I tried to bring a prototype to provide IM/Chat support built-in to the Chromium browser. Watch the screencast below. Please click here in case you do not see the embedded video. Please see the video in full screen HD.
Under the Hood
- I have used Telepathy as the underlying library for implementing the basic chat support.
- The source code is mostly a prototype which will have to go through a rigorous design review and improved upon if you need to use it in a production machine. This is mostly to satisfy a personal itch and not of good quality yet.
- The patches are attached in the Chromium bug http://code.google.com/p/chromium/issues/detail?id=98990
- I chose Telepathy because it seem to provide the best implementation for XMPP 0174 protocol, Serverless Messaging, which was my primary aim. Also it is agreed upon by both GNOME and KDE. Isn't it something rare ;-) ?
- The heart of the code is only about 5 days old and is not of good quality yet.
- telepathy-glib has a C interface. Chromium is written using C++ . So, I wrote a TelepathyBridge class with static members to marshal the requests from Chromium to Telepathy and vice-versa. I wrote a TelepathyBean class to move across these layers. Also, there were ArattaiUI and ArattaiHandler classes to take care of the Chromium side of things (like registering a protocol, webui etc.) The user-interface you have seen is provided by the arattai.html and arattai.js files.
- I believe having IM support may be important for Chromium as IM is one of the important activities that could not be performed yet on the browser.
- There are things like webRTC which will form the future of communication. However, we still have dozens of protocols that work with existing clients which the browser should support (like support for Novell Groupwise, MSN, Office Communicator etc.)
- My personal opinion that, C++ is a needlessly complex language, strengthened. There are a dozen ways to do casting, smart pointers, const functions etc. but no native async/event support. I love C# as a programming language. Sadly C# does not seem to have an appealing future on Linux anymore.
- The guy who invented Javascript should have been a C++ programmer.
- Javascript typing can get on a C programmer's nerves
- Telepathy hackers in #telepathy are extremely helpful. Thanks a lot folks.
- Open source libraries in general have very poor documentation, if not backed by a company like Google.
- If Telepathy support has to be included into Chromium, it should be available in Windows too.
- Automatic memory management is bliss.
Hardware needed for openSUSE on ARM
openSUSE Conference 2011 Greek's Review
Talks & Workshops!
Everything was interesting. People couldn't decide which session to attend! There were many technical sessions from low-level development to kernel tools. There were marketing and social sessions, focused on how openSUSE can be spread all over the world! Packaging sessions weren't missing and they were detailed teaching the attenders how to create a package from scratch! There were interesting conversations like Robert Schwelkert’s talk, about “Where do we improve?” where we talked about the improvements that must be done at documentation, wiki, translations, Bugzilla and other stuff.
From the openSUSE Conference couldn't be missing the openSUSE project meeting where we discussed about the upcoming elections and the status of openSUSE Foundation and a number of interesting development ideas about the distribution.
The one presentation to remember was by Gregory Zysk about “Introduction to Cross-Cultural Communication, Conflict and Collaboration. After presenting his model of cross-cultural communication model and his ambitions, he made an awesome test... He made everyone in the room pick a mate that he hadn't worked with him at all or get to know and after he gave us two papers of different scenarios he made us conflict and find a common solution to solve the scenario!
Furthermore, from the openSUSE conference couldn't be missing the incredible openSUSE women! There was a conversation about “How to get more Women into openSUSE” by Lydia Pintscher of KDE who talked about the difficulties that women face in a community and how can a community attract and get more women.
Moreover, there were interesting presentations based on openSUSE sub-projects like Education, and Tumbleweed. Also, there was a topic about openSUSE in commercial, and especially for enterprise and other services which gives us the impression that openSUSE is spreading and deployed everywhere!Last but not lease, there were “Lighting Talks” from people of openSUSE and other communities, introducing themselves, talk about their jobs, their hobbies, their interests and in general talk about their everyday life.
Have a lot of fun!
Every day was different! The beautiful decorated location and the German beergarden was perfect for geekos to have fun. There were different happenings everyday after the sessions were over. “Pizza Party” with many pizzas and beers, “Barbeque Party” with sausages and other meet, “Rodeo Texas Party” with poker tables and bull riding, different live concerts with interesting music like the “8bit Music concert” where the music came from tweaked GAME BOYS. Last, it was awesome that we went at a city nearby to see the man that made us the “Old Toad” openSUSE beer! We were guided in the factory rooms and saw how beer is made. After that, we ate local food and drunk local beer at the local restaurant where we stayed there till late at night discussing, drinking beer and having fun!
Summary
We are happy that we participated at the openSUSE Conference successfully. People from all over the worlds were there in order to meet the geekos and attend the sessions. Thanks to our sponsors, we had a great internet connection and many parties and happenings for geekos to attend.
You can also read the daily reports from Greeks.
Greek openSUSE community, Translation of openSUSE Weekly news in Greek (issue 194)

Hello everyone!
I am very pleased to announce the new issue (194) of openSUSE Weekly News in Greek.
In this issue you will read about:
* SUSE Hackweek 7 – Next Week
* Thomas Schmidt: openFATE News
* Koudaras Konstantinos: Systemd is being removed from Tumbleweed
* Petr Baudis: Realtime Signal Analysis in Perl
* The VAR Guy: SUSE Linux Prepares Partner, Customer Surprises
As well as many interesting news about openSUSE and useful advice, which can make our lives easier.
Enough said though... Read more at: http://own.opensuse.gr, http://el.opensuse.org/Weekly_news or www.os-el.gr
We are always looking forward to receiving your comments as well as suggestions regarding things you would like to read about in our next issue.
The openSUSE Weekly News is being translated in the Greek language from issue #150. You can read older translated issues here: http://el.opensuse.org/Κατηγορία:Weekly_news_issues
Enjoy it!
Efstathios Agrapidis (efagra)
openSUSE 12.1 Beta testing
So it's openSUSE 12.1 Beta 1 testing time !
Before filing new bugs, make sure you search for existing bugs first.
If you're as annoyed by Bugzilla's search interface as I am, you can use this page to search for 12.1 Beta 1 bugs: just type in keywords and done.
The page also has an opensearch descriptor in order to add 12.1 Beta bug search to the list of search engines in your favorite browser.
Learning about Connect openSUSE
In the wiki page about it there is more about technical details then about social aspects, which is not surprising:
- Guys that created it are technicians, software developers, that know how to handle code and have a lot to say about it, but they seldom have great popularization skills, like marketing guys. I like this way, as being popular in the software world doesn't relate always to a good code,
- Wiki article was written when Connect was in initial stages without many add on features (plugins) it has now, so it is time to take a new look at it.
- Comment on existing layout and features.
- Propose new ones, specially if you, or someone that you know, can code and come up with working solution, or at least something that is easy to adjust to Connect.
Terrible Vagrant/Virtualbox performance on Mac OS X
I recently started using Vagrant to test our auto-provisioning of servers with Puppet. Having a simple-yet-configurable system for starting up and accessing headless virtual machines really makes this a much simpler solution than VMware Fusion. (Although I wish Vagrant had a way to take and rollback VM snapshots.)
Unfortunately, as soon as I tried to really do anything in the VM my
Mac would completely bog down. Eventually the entire UI would stop
updating. In Activity Monitor, the dreaded kernel_task was taking
100% of one CPU, and VBoxHeadless taking most of another. Things
would eventually free up whenever the task in the VM (usually apt-get install or puppet apply) would crash with a segmentation fault.
Digging into this, I found an ominous message in the VirtualBox logs:
AIOMgr: Host limits number of active IO requests to 16. Expect a performance impact.
Yeah, no kidding. I tracked this message down to the “Use host I/O cache” setting being off on the SATA Controller in the box. (This is a per-VM setting, and I am using the stock Vagrant “lucid64” box, so the exact setting may be somewhere else for you. It’s probably a good idea to turn this setting on for all storage controllers.)
When it comes to Vagrant VMs, this setting in the VirtualBox UI is not very helpful, though, because Vagrant brings up new VMs automatically and without any UI. To get this to work with the Vagrant workflow, you have to do the following hacky steps:
- Turn off any IO-heavy provisioning in your Vagrantfile
-
vagrant upa new VM -
vagrant haltthe VM - Open the VM in the VirtualBox UI and change the setting
- Re-enable the provisioning in your Vagrantfile
-
vagrant upagain
This is not going to work if you have to bring up new VMs often.
Fortunately this setting is easy to tweak in the base box. Open up
~/.vagrant.d/boxes/base/box.ovf and find the StorageController node.
You’ll see an attribute HostIOCache="false". Change that value to
true.
Lastly, you’ll have to update the SHA1 hash of the .ovf file in
~/.vagrant.d/boxes/base/box.mf. Get the new hash by running
openssl dgst -sha1 ~/.vagrant.d/boxes/base/box.ovf and replace the
old value in box.mf with it.
That’s it. All subsequent VMs you create with vagrant up will now
have the right setting.
Update
Thanks to this comment on a Vagrant bug report you can enable the host cache more simply from the command-line for an existing VM:
VBoxManage storagectl <vm> --name <controllername> --hostiocache on
Where <vm> is your vagrant VM name, which you can get from:
VBoxManage list vms
and <controllername> is probably "SATA Controller".
The VM must be halted for this to work.
You can add a section to your Vagrantfile to do this when new VMs are created:
config.vm.provider "virtualbox" do |v|
v.customize [
"storagectl", :id,
"--name", "SATA Controller",
"--hostiocache", "on"
]
end
And for further reading, here is the relevant section in the Virtualbox manual that goes into more detail about the pros and cons of host IO caching.
Target ARM Hardware
Знакомьтесь, YaST... WebYaST!
- Удаленное управление системой, используя только браузер
- Отсутствие необходимости экспертных знаний по настройке системы
- Широкие возможности по настройке системы
- Возможность легкой интеграции сторонних модулей
- Широкие возможности по брендированию
- REST-интерфейс
- Базовые настройки сети
- Базовое управление пользователями
- Установка и изменение пароля для root-а
- Настройка уведомлений администратора, включая SMTP
- Запуск / остановка служб и сервисов
- Настройки часового пояса, даты и времени
- Обзор статуса системы (используемая / свободная память, использование диска, сетевой монитор и пр.)
- Просмотр основных Логов
- Установка обновлений и патчей
- Удаленная перезагрузка системы
