Re-Assign Host Access Permission For User In MySQL Foo

Changing the configuration of a VPN can have interesting side effects. In my case I had to open up the host permissions for my MySQL users and databases from a /24 to a /16 network. Should be easy… and it actually is. Here are the SQL commands you have to execute to perform such an update:

update mysql.user set host = '10.42.%' where host = '10.42.42.%;
update mysql.db set host = '10.42.%' where host = '10.42.42.%;
flush privileges;

You can of course go crazy in the where clause and in- or exclude everything you want.

Happy SQL-ing.

Amazon AWS SSL Certificate Import Foo

Using Amazon’s Elastic Load Balancer (ELB) with SSL is supposedly an easy thing to set up. And for the most part it is. You can use the command line tools or the web interface and all is good.

But it seems Amazon messed up a little bit the error messaging. When uploading our SSL certificate I got the nice error message Invalid Public Certificate. After double and triple checking the public certificate and not finding anything I asked the beloved oracle called Google.

One of the first things that came up that the intermediate certificate might be in the wrong order, or the root certificate is missing in the chain. Not helping in my case. I had only one certificate in the chain and the root is added automatically according to Amazon’s documentation.

While digging through the AWS documentation I found the little hint, that the private key has to be in RSA format. In other words your file should look like this:

(tons of text)

and not like this:

(tons of text)

OpenSSL can do the conversion in one easy step:

openssl rsa -in my_private.key -outform PEM -out my_private.key.pem

After using that version of the private Amazon was accepting the public key as well, despite the error telling me that the public key is invalid. Can now somebody please explain the difference between public and private to Amazon?

Wicd On Ubuntu Fails To Start Foo

Running Ubuntu, like most mainstream Linux distribution, means nowadays automatically that your computer gets exposed to the NetworkManager and its sideeffects. Maybe this tool might work for some desktop users, but it definitely never worked for me. It is cumbersome to configure, doesn’t like if an interface is managed manually or you want to change it back to automatic. It has major problems with similar IP ranges for different locations…

Anyways, I digress. I tried a lot of versions of the NetworkManager and it actually got worse and worse. Switching back to manually editing /etc/network/interfaces is not really spouse compatible either. The decision was made, lets install an alternative: wicd.

I think there is enough on the internet on how to transition from NetworkManager to wicd, like this official one here from Ubuntu’s own help pages.

After all is set and done you should have wicd running and you should be able to use the widget of your favorite desktop environment to configure it. But not so in my case. All I saw was that wicd failed to start. And a lot of digging unvealed finally a bug and it is even filed (Launchpad Bug Report).

In short, it is a problem with how the symlinks for resolv.conf are set up. So here is the quick workaround to get wicd to work:

rm /etc/resolv.conf
ln -s /run/resolvconf/resolv.conf
rm /var/lib/wicd/resolv.conf.orig
ln -s /run/resolvconf/resolv.conf /var/lib/wicd/resolv.conf.orig

After that sequence you should be able to start wicd. Happy networking.

Google Chrome With APT On Ubuntu Foo

Installing Google Chrome on a Debian based distribution is actually pretty nice and easy… if you know how.

So lets get started. In the directory /etc/apt/sources.list.d/ create a file called google-chrome.list. Make sure that he extension is .list. The content of the file should be this:

deb stable main

After running apt-get update you will see an error message like this (the public key ID might change!):

W: GPG error: stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991

This is just telling you that you have to add Google’s key to your keychain. And here are the commands to do exactly that:

gpg --recv-keys A040830F7FAC5991
gpg --export -a A040830F7FAC5991 | sudo apt-key add -

Here is a sample output of that procedure:

root@majestix:/etc/apt/sources.list.d# gpg --recv-keys A040830F7FAC5991
gpg: requesting key 7FAC5991 from hkp server
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 7FAC5991: public key "Google, Inc. Linux Package Signing Key " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
root@majestix:/etc/apt/sources.list.d# gpg --export -a A040830F7FAC5991 | sudo apt-key add -
root@majestix:/etc/apt/sources.list.d# apt-get update

After that you can look for and install Google Chrome out of the apt repository:

root@majestix:/etc/apt/sources.list.d# apt-cache search google-chrome
google-chrome-beta - The web browser from Google
google-chrome-stable - The web browser from Google
google-chrome-unstable - The web browser from Google

More Ubuntu Annoyances, Like Focus-Follows-Mouse… Foo

I don’t know how anybody can work with focus on click. It is just a waste of time and energy. So it is really annoying to me that focus on click is always the default. And Unity has the same lack of configuration option as Gnome. You can’t switch the mouse focus mode with the standard settings.

To help that problem they finally have a UI that you can install with this command:

apt-get install unity-tweak-tool

When you now search for the unity-tweak-tool it will start and gives you a lot of missing options and settings to improve your workflow on your desktop. Stuff like configuring the launcher, panels, desktop switcher, mouse behavior, shortcuts, theme settings, etc.

This tool is a life savior for me and makes Unity actually a little bit more usable.

But there might be some stuff that is not in the tweak tool yet. In that case you can install the gconf editor:

apt-get install gconf-editor

You start it with the command gconf-editor. If you like poking around in the MS Windows registry, then this is your friend. It looks very similar and is a powerful tool to apply settings for which Canonical thought you don’t need a UI for.

Now, there is of course another tool that is helping you setting up Compiz, the composite manager. Most settings should be in the gconf editor, but you never know. So lets install that one as well and play around:

apt-get install compizconfig-settings-manager

You invoke it with the command ccsm and have access to all the internal settings of Compiz.

And the CompizConfig settings manager,… wow, that is a mouthfull… That manager is the one that finally was able to resolve my issue with resizing windows. I like the quite common setting of using ALT+RightMouseButton to resize a window. and the Compiz settings manager is offering the setting.

In Window Management->Resize Window you can change exactly that behavior from the Ubuntu default middle mouse button to the right button. When you set it to the right mouse button (button 3) you might get a warning about a conflict with the Window Menu feature. I don’t need that one so I simply disabled it. And if I needed, then I can use the same tool to assign another key-mouse-button combination.

Now, why do you need next to the standard settings dialogs additional three tools to get just the basic setup going is something that most likely only some UI designers at Canonical know. But at least I have some tools to get to a usable workspace.

Getting Rid Of The Top Menu In Ubuntu

A fresh installation on one of my machines and I decided to give Ubuntu’s Unity another try. And the first that jumped out at me was the more than annoying global menu bar on top of the screen. Apple might be everybody’s darling when it comes to UI design but they do not understand how this disrupts the workflow. Especially when you are using focus-follows-mouse, it is like playing roulette when you try to get to the correct menu.

But it seems quite easy to get rid of that annoying function by simply uninstalling some packages. And here is what I found you have to do:

apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt

Well, but that is not working for the Saucy Salamander (13.10). Why should it, it is new and shiny. So here is what you have to remove in addition:

apt-get remove appmenu-qt5 indicator-appmenu

And before I forget it. In the older Ubuntu versions you also have to disable the “Global Menu Bar integration” plugin in Firefox.

In pre-saucy Ubuntu versions you can also use a less invasive way of disabling the menu:

echo "export UBUNTU_MENUPROXY=0" > /etc/X11/Xsession.d/81ubuntu-menu-proxy

Nonetheless there are some problems. Some programs, i.e. Rhythmbox, require the global menu. So I simply resorted to not using them. But if you rely on them and you don’t want to have a global menu, then you have a problem. But maybe this will be resolved with the new per-application configuration in 14.04.

Adobe Acrobat Reader in Ubuntu 13.10 Foo

I guess more or less every Linux user has noticed that the official Adobe Acrobat Reader version is out of date and that Adobe has no intention to update it. So you are stuck with version 9.5.5, which is mostly okay especially when you need some features that are only available in the official reader.

And as a logical consequence, Ubuntu is not providing a package anymore in its newer releases. Especially when there are so many alternatives to the simple Reader functionality. But fear not, you can still install the Adobe’s Reader and there is even a .deb package on Adobe’s download site.

Because the package does not come through the standard repository you have to resolve the dependencies on your own… well, I mean tell apt to resolve the dependencies.

First install the package using the following command (change the file name as needed):

dpkg -i AdbeRdr9.5.5-1_i386linux_enu.deb

If you see error messages about the wrong architecture, then you work on a 64 bit system and dpkg needs a little hint.

dpkg -i --force-architecture AdbeRdr9.5.5-1_i386linux_enu.deb

Afterwards you should see error messages about missing dependencies. And now we fix them:

apt-get -f install

This should pull all missing libraries, install them and then wrap up the installation of the Acrobat Reader.

It seems that these steps are not enough on some 64 bit Kubuntu systems. You might have to install two additional libraries:

apt-get install libxml2:i386 lib32stdc++6

And now happy PDF reading… wait… can it be that easy? At least not on my Kubuntu 13.10. Reading on the screen is fine but printing is messed up. Every print out from the Reader scales down the output to about two-third of the original size. To make things worse, it does a really crappy job at scaling. The output is basically unreadable.