LibreOffice 3.5 available for testing on openSUSE
I’m happy to announce first LibreOffice 3.5 packages for openSUSE. They are available in the Build Service LibreOffice:Unstable project. It provides many interesting features:
- better UI for header/footer handling
- multi-line input bar in Calc
- Import filter for Microsoft Visio documents
- enhanced custom shapes import
- modeless word count dialog
- improved font hinting for high quality docs
- more secure encryption algorithm (AES-256) for password protected files
- better displaying of non-printable characters on the end of line
- and much more
The current openSUSE packages are based on the LibreOffice 3.5.2 release. Please, look for more details about the openSUSE LibreOffice build on the wiki page.
The openSUSE LO team hopes that you will be happy with this release. Though, any software contains bugs and we kindly ask you to report bugs. It will help us to fix them in the future releases.
Known bugs:
- problems with KDE 4.8.2 from KDE:Distro:Factory project (bnc#755886)
Other information and plans:
The current LibreOffice-3.5 packages are based on the second bugfix release and should be pretty stable. I want to move them into the LibreOffice:Stable project within next two weeks. I just want to make sure that I did not do any mistake during packaging, e.g. breaking dependencies. Also the KDE4 integration need to be tested because it was not provided by the upstream build. Any feedback is welcome.
Plymouth in openSUSE Factory
As some of you know, I have been working on plymouth support in openSUSE. This was a feature that was requested already some time ago, but nobody found the time to actually implement it.
KDE:Unstable:SC has become alive again
I know that for quite some time the KDE:Unstable:SC repo didn’t contain any recent snapshots. The repo was used to test the 4.8.0 tarballs and since then no more updates took place.
openSUSE guide for Ubuntu users
-
Documentation; We do of course have other sources of documentation, but these three are more than enough to get you where you want to go. OpenSUSE is simple enough you should be able to get along without the documentation, but I personally would prefer to avoid any potential headaches.
-
An excellent guide for beginners is the Unofficial openSUSE Guide. This guide is KDE oriented, but still touches on many of the important things in openSUSE regardless of your preferred desktop environment. Www.opensuse-guide.org
-
The manuals should be installed already, and if not can be easily found in YaST. If they are installed, you'll be able to find them in the location file:///usr/share/doc/manual/opensuse-manuals_en/index.html which you can simply open in your web-browser. I suggest making a bookmark so its quickly handy when you need it. I keep mine as an 'app-tab' in Firefox.
-
Gnome and KDE both have help viewers. In KDE you'll be able to get to it from the desktop link. In Gnome 3 you'll need to open the help browser from the activities dashboard, or when on the desktop (not within a particular application) press F1. Here you'll find plenty of tips and information so you can get the most out of your new Gnome 3 desktop.
-
-
Installer
-
The Ubuntu installer excels at simplicity... and that is part of its downfall. That and its instability. Our installer is actually part of our YaST graphical system utility suite. It is old, but always updated, and offers many highly advanced options for your installation. However, it is still simple and attractive enough for anybody with a smidgen of experience. We have a Live CD, and a DVD for openSUSE. The installer differs slightly on the two platforms. If you know your hardware well, use the DVD since it has some more options you may appreciate. I want to point out a few things you may miss, and that I think are particularly nifty.
-
Additional software and desktop environments are available when using the DVD instead of the Live CD. On the DVD we ship four environments easily selectable; LXDE, XFCE, KDE, and Gnome. Rumor has it that in 12.2 we will also be offering Qt-Razor. You may simply select one of these, or by using the software management module you may choose to install the environments side by side. In order to do the latter, you merely need select for example, the XFCE 'pattern' and it will install. I will write more on how to use YaST software management from within the installer in a later section. If you are looking for an experience more like Gnome 2 with all its comfortable old programs, I HIGHLY recommend using our XFCE desktop.
-
The partitioner in the installer is the same as used by the openSUSE desktop itself. This is thanks to the modular design of YaST and that the installer is itself a module of YaST. Thus, you get all the options of a full enterprise ready partitioner so you can cater your installation exactly. This includes such advanced options as being able to select a variety of file systems to format with (including btrfs), use Logical Volume Management (LVM), or even to encrypt your partitions for security purposes and be able to edit the fstab to graphically toggle special features of the filesystems.
-
Getting into the software manager from the DVD installer is very simple. On the final page of the installer 'Installation Settings,' you'll see a button labeled 'change' below the textual summary of the changes to be made for your installation. Click there and you'll see a myriad of options, including 'Software.' There it is that you may select other patterns and packages, as well as other desktop environments. I personally will always select the 'Console Tools' pattern.
-
-
-
YaST2 is a tool for administering and maintaining a openSUSE installation. It allows administrators to install software, configure hardware, set up networks and servers, and more.
-
I made mention that our installer is part of something called YaST. Yet another Setup Tool (YaST) is in my opinion the heart of what makes openSUSE unique. Mandriva and Mageia have a similar tool, but it wasn't built with an Enterprise distribution in mind. And though YaST was built with the enterprise user in mind, it still manages to be excellent even for a naïve home user. Part of that is simply the help button. If you go clicking through the modules in YaST, you'll always see a help button. And lo and behold it is in fact actually helpful! It clearly explains what each module and each page of a module does. YaST is ideal for the new user learning about Linux due largely to this. YaST is immensely powerful despite being user friendly, and once again I recommend reading the documentation so that you can truly grasp the GUI goodness and power that is YaST. What more, is that YaST gives you a graphical tool to help you manage and fix issues that Ubuntu would always require you fiddle on a command line terminal, which is something even I am not very comfortable with.
-
Edit GRUB graphically with the 'Bootloader' module. Often enough I find that people will have problems with the splash screen, and you can easily set the VGA mode with this module. Also, this module makes it easy to add parameters to the bootline in GRUB. All this and more without having to fiddle with the command line and obscure text based utilities.
-
Printers and scanners can be easily and effectively configured in YaST. Frankly, on the three platforms of openSUSE, Mac, and Windows; openSUSE's YaST module was the only one that was clear and not a pain in the rear to get my HP all-in-one configured. All I needed was the IP of the printer, and I was able to get everything working perfectly.
-
-
Package management
-
Yet another YaST module is our Software Management. Though it is not quite as friendly as the Ubuntu Software Center, you'll quickly get the hang of it; especially if you take a little time to read the documentation. Often people mistake YaST as being merely a package management tool, but rather that is only one of several modules... but a notable one indeed.
-
Adding a new desktop environment is easy. Simply look for the pattern for the desktop you want, select and go! In a while, you'll have a whole and complete new desktop environment to try out and use.
-
You can browse through specific repositories in order to find new and interesting software. I find this particularly handy with the Games community repository.
-
-
We also use PackageKit to fulfill some functionality, mostly updating. You can also use PackageKit to install new software packages you download, such as Google Earth. PackageKit does have a couple bugs. If you for example need to lock the package for your kernel from updating, then you will want to deactivate the updater applet since it won't honor those locks. It will also screw up if you use an external device as a repo such as a USB drive or the install DVD. It also occasionally has problems installing RPMs from sources such as Google. If you find it doesn't work, you can use zypper on the command line to do it. Simply 'cd' to the directory where your RPM is, then issue 'zypper in thatrpmthatpackagekitchokedon.rpm.'
-
-
Finding more software
-
Community Repositories are quickly and easily added from YaST, without needing to drop to CLI or even needing to manually copy and paste a URL. In YaST under Software, simply click 'Software Repositories.' Once that is loaded, click the button 'Add.' You'll see a list of options, select the radio button second from top that says 'community Repositories,' and click 'Next.' You'll see a listing of popular repositories. I usually add Packman, WINE CVS, and Gnome Extras.
-
The openSUSE Build Service provides a simple and central place for developers to make software available, and use our servers to build it with so they don't stress their home computers. Why this matters to you, is that it also makes those packages available to you since it automatically creates a repository and a 'One Click Install.' With the one click install, it will download a .ymp (YaST Meta-Package) which will be handled by YaST. This will download and install the package, as well as subscribe you to the repository so you can get any updates. OBS also provides packages for many distributions besides openSUSE.
-
-
Super User and sudo
-
First off, you may quickly notice that sudo seems broken. In actuality it was configured that way for security purposes, ones that I honestly don't entirely understand. If sudo doesn't work, you'll need to use 'su' to drop into Super User or Root. If you just tried sudo, simply tap in 'sudo su' since sudo will remember your authentication briefly.
-
In Gnome we use 'gnomesu' to invoke graphical applications as the root user. You can use the hotkey of Alt=F2 to quickly launch programs, or you may do this via a commandline (CLI) terminal such as Gnome Terminal.
-
In KDE we use 'kdesu' to invoke graphical applications as the root user. All the Gnome instructions apply equally.
-
-
-
Support
-
Forums are the best place to find support. The gurus stalk the forums that are their fields of interest and specialty. Plus the more organized format of the forums help guarantee you won't get lost in a flood of other requests.
-
Mailing lists are available, but you may not get the timely help you'd hope for. Your message can get lost in the sea of other messages. If your issue is terribly critical, such that it prevents you from using your computer properly then you can try the mailing list... but I'd recommend posting to the forums first.
-
IRC is also available. If you are using Konversation, the default IRC client for KDE, it will automatically connect to the appropriate channel. If you are in Gnome and using Xchat our channel is #suse on the FreeNode (same as Ubuntu's channel) network. The channel is only very active at certain hours, so once again forums are a better choice for support.
-
-
Notes on our Gnome 3
-
Themeing browsers to look native. I personally enjoy a very consistent theme across all my applications. I like having a total environment that is consistent and beautiful, and so I was thrilled that finally in Gnome 3 I could make my two favorite browsers finally look like they totally belong in my environment. Of course, if you wind up using a custom theme, then this will not help your desire for consistency at all.
-
Chrome/Chromium requires two different extensions to look right in the Gnome 3 Adwaita environment. Besides the obvious, you'll also want the Gnome 3 Scrollbars and may like to go into settings and set it to use the system window titles and borders.
-
Firefox in general never looks as alien in either Gnome or KDE as Chrome does, but it still isn't perfectly themed. Until now with the Adwaita Theme for Firefox. https://addons.mozilla.org/en-US/firefox/addon/adwaita/
-
-
Gnome Tweak Tool, also known as 'Advanced Settings' is included by default. This gives you access to some toggles, and the ability to change fonts, cursors, and even themes. It may take a little experimentation.
-
I highly recommend reading through the help browser to learn the workflow of Gnome 3. Such things as the ability to simply type when in Activities rather than actually having to enter the search box aren't immediately evident.
-
-
Multimedia
-
Getting multimedia to all work properly can be tricky. Thankfully there is a One Click available to take care of your needs, including (limited) DVD playback. I'll simply point you to the page that will help you select the one that is right for your needs and system. http://opensuse-community.org/Restricted_formats
-
On Gnome the default music player is Banshee, and the default video and DVD player is Totem. Totem can be problematic with DVD playback, and you may find that VLC works better for you as I did. I have had issues with Banshee being unable to play some radio streams as well. VLC can be installed via OBS or from the Packman repository.
-
In KDE the defaults are Amarok for music, and Kaffeine for video. Amarok has had stability problems sometimes, so the team has included Clementine which has most of the features of Amarok but is lighter and I have found it to be much more stable. I have never had an issue with Kaffeine.
-
Realtek Wireless RTL8187B fix for suspending
As root, you need to create a file named /etc/pm/sleep.d/66_rtl8187. That is to say create a file called 66_rtl8187 without any file extension, and save it to the directory /etc/pm/sleep.d/. I did this using gedit run as root. To run gedit as root simply hit the hotkey alt+F2 and type in "gnomesu gedit". Then simply paste the following and save it to the /etc/pm/sleep.d directory. The code for the file is as follows:
#!/bin/bash
case $1 in
hibernate)
echo "Suspending to disk!"
/sbin/modprobe -r rtl8187
;;
suspend)
echo "Suspending to RAM!"
/sbin/modprobe -r rtl8187
;;
thaw)
echo "Resuming from disk..."
/sbin/modprobe rtl8187
;;
resume)
echo "Resuming from RAM..."
/sbin/modprobe rtl8187
;;
*) echo "somebody is calling me totally wrong."
;;
esac
If I understand the code here, it simply removes the driver on suspending, then reloads it when the system resumes. So simple its no wonder I didn't think of it! LOL.
This may not work for you as it seems to be a very particular issue with my hardware, but you should be able to adapt the script. If it doesn't work that would eliminate your driver as being the cause of the issue at least. My laptop being a Gateway T1200 if I recall. But if you have similar hardware, this fix may do the trick. I hope you find it as helpful as I did!
Special thanks to lwfinger, our wireless forum ninja.
Giving 12.1 and Gnome 3 a second chance.
April KDE Updates available for openSUSE (KDE 4.8.2)
The April set of KDE updates to Workspaces, Apps and Platform are available now for openSUSE in our KDE:Release:48 repository. This offers you the latest stable software from upstream KDE for openSUSE releases. As point releases, these are an essential upgrade for your production openSUSE installations.
Get them now at http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_12.1/.
The repository for openSUSE 11.4 is being created at the time of writing at http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_11.4
Users who already have the KDE:Release:48 registered in YaST need only zypper up or upgrade with YaST.
As always, have a lot of fun and report bugs!
Official Last.fm scrobbler for openSUSE
Good news, the official Last.fm audio scrobbler is now available for openSUSE through the Packman package repositories. Why do I care, you might question yourselves and you're partly right, openSUSE already ships a big bunch of multimedia apps (like Amarok, Clementine and Banshee) that all have Last.fm support built-in. However, for all of those you … Continue reading Official Last.fm scrobbler for openSUSE
Puppet Ruby DSL using Gloves Library on openSUSE 12.1
Motivation
I've published two articles recently: How to use Gloves on Ubuntu and How to use Puppet on openSUSE 12.1. I wanted to connect these two into Using Gloves (formerly YaST++) on openSUSE via Puppet. And because Gloves library is written in Ruby, it could also use Ruby DSL.This example will show how to download Gloves from GitHub, install it to the system and use it to open a special port in SuSEfirewall2.
What You Might Need
- One server with openSUSE 12.1 (could be virtual), AKA server.example.com hostname in this example
- One or more clients with openSUSE 12.1 (could be virtual), using client.example.com hostname
Configuring a Puppet Server
Let's assume you already have a Puppet server installed and configured. If you don't, follow section Configuring a Puppet Server in this blog.- Now we'll create the recipe in Ruby: touch /etc/puppet/manifests/site.rb
- And use it from Puppet by adding manifest = /etc/puppet/manifests/site.rb into your /etc/puppet/puppet.conf
- Restart the Puppet server: rcpuppetmasterd restart
Recipe Written in Ruby DSL
# Installs requred packages
package :ntp, :ensure => :installed
package :'rubygem-rake', :ensure => :installed
package :'rubygem-packaging_rake_tasks', :ensure => :installed
package :git, :ensure => :installed
# Fetch from git
create_resource :exec,
'sources_from_git',
:require => 'Package[git]',
:cwd => '/tmp',
:command => '/usr/bin/git clone git://github.com/yast/yast--.git'
# Install from git
create_resource :exec,
'install_from_sources',
:require => 'Exec[sources_from_git]',
:cwd => '/tmp/yast--',
:command => '/usr/bin/rake install'
# Removest the git repository
create_resource :exec,
'remove_sources',
:require => 'Exec[install_from_sources]',
:cwd => '/tmp/',
:command => '/bin/rm -rf yast--'
# Creates file with configuration commands (Ruby)
# Later a command-line interface would be better
# Yes, I know there's a security risk, don't use this in production!
file '/tmp/open_port_in_firewall',
:require => 'Exec[sources_from_git]',
:content => "
require 'y_lib/susefirewall2'
YLib::Susefirewall2::add({},
{'kind' => 'open_port', 'port' => 'port_opened_by_Gloves',
'zone' => 'EXT'})\n"
# Calls the file with commands (Ruby)
create_resource :exec,
'open_port_in_firewall',
:require => 'File[/tmp/open_port_in_firewall]',
:command => '/usr/bin/ruby /tmp/open_port_in_firewall',
:path => ['/usr/bin'],
:notify => 'Service[SuSEfirewall2_setup]'
# Adjusts the SuSEfirewall2 service
service :SuSEfirewall2_setup,
:start => '/sbin/rcSuSEfirewall2 start',
:restart => '/sbin/rcSuSEfirewall2 restart',
:ensure => :running,
:enable => :true,
:hasrestart => :true
end
node 'client.example.com' do
create_resource :class, :SuSEfirewall2
end
Recipe Explanation
- hostclass defines a resource similar to class in Puppet DSL - usually used to describe one service to setup
- node definition says which hostclasses are used for which clients - change client.example.com into your client hostname
- The first part just installs some required packages
- Type :exec calls an external command, sources_from_git clones the Gloves repository hosted at GitHub
- Parameter :require => 'Package[git]' adds new dependency on package git - this means that cloning the repository will not start before git is installed
- Parameter :cwd defines the working directory
- Another :exec install_from_sources will install Gloves library from sources to the system, in fact, also rubygem-packaging_rake_tasks package is required for this operation
- Another :exec remove_sources removes the cloned repository
- The the tricky part starts here :) Puppet will create file /tmp/open_port_in_firewall containing a short script written in Ruby using the Gloves library:
require 'y_lib/susefirewall2'
YLib::Susefirewall2::add({},
{'kind' => 'open_port', 'port' => 'port_opened_by_Gloves', 'zone' => 'EXT'})
This script will open port port_opened_by_Gloves in SuSEfirewall2. See documentation generated from YLib::Susefirewall2 sources. In fact, this port name actually doesn't exist in /etc/services but that's fine for our example. Frankly this is rather a hack than a solution - I'd like to have Gloves CLI soon. - And then we'll call the script with another :exec command open_port_in_firewall.
- This definition also show another type of dependency :notify => 'Service[SuSEfirewall2_setup]' - after port is opened, service SuSEfirewall2_setup is notified to re/start.
Applying the Recipe on Your Client
- Run: zypper ar --refresh http://download.opensuse.org/repositories/devel:languages:ruby:extensions/openSUSE_12.1 devel:languages:ruby:extensions_12.1 to add repository containing required Ruby libraries into your system
- Run: zypper in rubygem-ruby-dbus rubygem-open4 rubygem-ruby-augeas rubygem-packaging_rake_tasks rubygem-rake to install all the required Rubygems
Where to Go Next?
LibreOffice CorelDraw Import filter - the best file-format coverage in the FOSS world
I just realized that has been a long long time since I last blogged about libcdr and the CorelDraw import filter in LibreOffice. Those that know me well can imagine that it is much more fun to write code then to write blogs. Nonetheless, one serious breakthrough happened this weekend and I cannot prevent myself from climbing on the roofs and shout.
On 20th of March 2012, Corel released a new version of CorelDraw Graphics Suite X6. We got the information from this Wikipedia page and downloaded the evaluation version on Friday. Although it was usual to see the file-format mutate a bit with every released version, this release changed the file-format substantially in what concerns the RIFF chunks. To cut the long story short, we managed to get the last pieces reverse-engineered today and we released libcdr-0.0.6 with support of all 32-bit CorelDraw formats, from version 6 to 16.
The new release tarball was integrated in LibreOffice which became the first and only FOSS application that supports versions 6, 15 and 16 of the CorelDraw file-format. This goodness will be part of our 3.6 release later this year. For those that do not know fear, the feature can be tested in daily builds that will start to appear tomorrow morning here.
I know that the distinguished readership prefers pictures to words. Here is this simple document in CorelDraw X6 format:
Here is the same document opened by LibreOffice Draw:
And here is the libcdr-generated SVG opened in Inkscape:
If you are tempted and think that it might be fun to participate in a reverse-engineering endavour, we have with Valek two project proposals for Google Summer of Code 2012. The first is the implementation of MS Publisher import filter for LibreOffice and the second is to help to improve and extend the Corel Draw import filter I am currently blogging about. Try to apply with LibreOffice and your life will never be the same again.
Be aware though that the application deadline is the 6th of April and you will need to accomplish a simple programing task in order to be eligible. More details in this blog.


