tordeu

 

Today I thought it’s time to install digikam and play with it. I was using digikam when I was still on Ubuntu and compared to F-Spot and Shotwell, digikam was way way superior when it comes to tag management.

Of course I immediately ran

sudo aptitude install digikam

and installed diigkam 2.6.0 along with its necessary dependencies.

 

The Problem

Then I just ran

digikam

and I started, asked me some useful questions and then greeted me with:

QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
[0x2f86b90] main services discovery error: no suitable services discovery module
digikam: symbol lookup error: /usr/lib/qt4/plugins/phonon_backend/phonon_vlc.so: undefined symbol: libvlc_audio_filter_list_get

Normally I don’t pay attention to the messages in the terminal after starting a program (Hello, Iceweasel), but digikam was nice enough to crash, so that I would not distract me from the error message. How kind.

 

The Solution

When looking at the error message, you can see that the file “/usr/lib/qt4/plugins/phonon_backend/phonon_vlc.so” plays some role here. And playing around with aptitude you can find a package named “phonon-backend-vlc”. The package name matches the file having the problem quite nicely. I am convinced now, that the solution is to remove the package (be sure you do not need it):

sudo aptitude remove phonon-backend-vlc

Aptitude might then suggest to remove a bunch of other stuff as well (digikam among them), which I find counter-productive. So I just enter “n” the first few times until I am satisfied with the solution aptitude offers me:

The following actions will resolve these dependencies:

     Install the following packages:                   
1)     phonon-backend-gstreamer [4:4.6.0.0-2 (testing)]

That does not sound too bad, so I accept it.

When aptitude is done removing the phonon-backend-vlc package, I try it again:

digikam

And now it works.

 

The Problem

Chances are you have seen the following error message (or else you would probably not have found this post):

Error: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' -
/usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown, line 0

I hope I am not the only one who lived with this message for a while, because everything was working as expected. But even though I never noticed any real problem, the message surely gets on your nerve after a while, so it’s time to make it go away…

 

The Solution

The solution is actually very easy. As mentioned on the Debian Bug Tracking System ages ago, all you need to do is to purge the suhosin package (the php5-suhosin package, to be precise):

sudo aptitude purge php5-suhosin

(In case you have not enabled sudo, just do the usual and run this command as superuser without the sudo.)

 

This will be a very short post. If you want to use the HTML5 based video player on Youtube instead of the Flash based one (which is presented to you by default), then you just need to follow these simple steps:

Enabling HTML5

Go to http://www.youtube.com/html5 and at the bottom you will see this:

before entering the HTML5 trial on Youtube

Here you can see the capabilities of your browser and if you currently are in the HTML5 trial (which means HTML5 will be enabled). As you can see here, it states “You are not currently in the HTML5 trial”.

But directly below this statement, there is a link which reads “Join the HTML5 Trial”. When you click on it, HTML5 on Youtube will be enabled and the site will now look like this:

after entering the HTML5 trial on Youtube

That’s it. You don’t need to do anything else. But one thing you should know is that the HTML5 based player will not work on all videos. Therefore, if you still happen to see the flash based video player on a lot of videos, it does not mean that enabling HTML5 did not work. It just means that those videos can not be presented to you using the HTML5 based player.

Check Which Player Is Used On A Specific Video

You can check if the HTML5 based player is used by right clicking on a video while it’s playing or paused. If the HTML5 based player is used, you will see something like this when right clicking on it):

The HTML5 is used for video playback

The “About HTML5″ indicates that this is the HTML5 based player.

When the default Flash based played is used, the menu presented to you when right-clicking on the video will look like this instead (the version at the bottom will be different, but you can clearly see that it’s the “Adobe Flash Player” which is used):

The Flash based player is used for video playback

 

Like I said, the HTML5 based player will not be used for every video and you might even be wondering if entering the HTML5 trial worked at all, because quite a lot of videos will still be played with the Flash based player. All I can tell you is: It does work! The number of videos that will be presented to you this way will probably increase over time.

 

It’s been a while, but in the oh so distant past I stumbled upon the following error on my then fairly new Debian Wheezy system:

bash: ldconfig: command not found

You might encounter this error or something very similar, especially when you are using sudo instead of changing to root with su (see my article on how to enable sudo).

 

Problem

The problem is that programs like ldconfig are located in the  /sbin folder, but this folder is not added to the PATH variable.

If you don’t know what PATH is:

The path variable is essentially a list of folders. When you type a command in bash (the terminal/command line) like this:

ldconfig

then bash will go through all the folders listed in the PATH variable and see if a program with that name is in that folder. If it finds that program, it will execute it.

The problem here is that PATH (the list of directories where bash will look for the program) does not contain the folder /sbin. But because the program is in this folder and bash does not look there, bash will not find the program and instead annoy you with an error.

 

Solution

The solution is to add  “/sbin” to the PATH variable. This can be done by editing the file “/etc/profile”.

Type

sudo nano /etc/profile

or – if you are more comfortable with a GUI based text editor – you can also type

sudo gedit /etc/profile

 

At the beginning of the file, you will see the following:

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi

This sets the PATH variable for the root user and every other user. The first line that starts with “PATH=…” sets the PATH for the root user and the second line sets PATH for everybody else. So the code fragment basically translates to:

if user=root then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
otherwise
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"

The second line is what we have to care right now. The directories in the list are separated by a colon, so the list contains the following directories:

  • /usr/local/bin
  • /usr/bin
  • /bin
  • /usr/local/games
  • /usr/games

We want to add a few directories to that, namely:

  • /usr/local/sbin
  • /usr/sbin
  • /sbin

For ldconfig and a lot of other programs, adding “/sbin” would be enough, but I added the others as well, because I thought: “I don’t wanna come back two more times, just because I might realize later that I should have added them as well in the first place”

You could add the directories anywhere in the list, but I like to add them in the same order they appear in the PATH variable for the root user, so I will change the beginning of the file to this (remember to separate the directories with a colon):

if user=root then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
otherwise
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi

Save the file; when using nano, just

  • hit “Ctrl+X” to quit
  • then “Y” to confirm that you want to save the modified version
  • then hit the enter key to confirm the filename

And finally: Log out and log back in.

 

I published an extended documentation for the md5sum command in my wiki:

http://www.tordeu.com/commands/md5sum

 

I published a small command overview (cheat sheet) for md5sum on my site:

md5sum Command Overview (Cheat Sheet)

 

Introduction

What Aliases Are

Here is a short introduction to aliases in case you have not idea what they are:

An alias is simply a different name for a specific command line command. You can call an alias like any other program and the shell will then replace the alias with the command it represents.

If you find yourself typing”aptitude” a lot you could, for example, define an alias “a” for this command instead. Now, instead of typing

aptitude install <package>

you just need to type

a install <package>

Bash will recognize that the command a is really just an alias that stands for “aptitude” and therefore replace a with “aptitude”. You could make your like even easier by assigning an alias “ai” to the command “aptitude install”. Then, when typing

ai <package>

bash will notice that the command “ai” is really just an alias for “aptitude install” and replace “ai” accordingly. Therefore, the command that bash will execute is:

aptitude install <package>

Continue reading »

 

Gnome3 has the annoying habbit of turning off the monitor after a while, even if you are watching a video. Unfortunately, if you go to

System Settings > Screen
 

you will be surprised that if offers you the possibility to change the time the system has to be idle for the monitor to be turned off from 1 minute to 1 hour. But what is missing is an option to turn this function off entirely.

Fortunately, it is possible to do that, just not in System Settings and you can either do that from command line or with a GUI.

Continue reading »

 

Problem

When using a virtual machine in VirtualBox you might want to switch to a different console by hitting

Ctrl+Alt+F<n>
 

where <n> stands for the number of the console you want to access (like Ctrl+Alt+F1 to get a text console and Ctrl+Alt+F7 to get back to your X session).

Unfortunately, key combinations with Ctrl+Alt like the mentioned Ctrl+Alt+F<n> or Ctrl+Alt+Del will not be sent to the guest operating system. Continue reading »

 

 

There are several ways one can batch rename files in Linux. One of the possibilities is the linux command rename.

Usage

To rename files you have to supply a Perl expression. Using Perl expressions might be scary for beginners (because they look like someone hit his head on the keyboard), but they allow for complex renaming with a minimum of characters.

Although I won’t go into detail about Perl expressions here, I will try to make it a little easier for beginners to use them for batch renaming.

According to the man page of rename, this is the way to use rename:

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

If you have not worked with Perl expressions before, this might not be enough to get you started. So let me present you with the way one would probably use rename most of the time:

rename 's/OLD/NEW/' FILES

OLD is an expressions which describes a pattern in the name filenames. If rename can find this pattern in the name of a file, it will replace this part of the filename with what is defined as NEW. The files rename should rename are defined by FILES.

Let me provide you with two examples: Continue reading »