Fixing the locale on Kubuntu

After installing my brand new Kubuntu, I got the following error:

locale: Cannot set LC_ALL to default locale: No such file or directory
perl: warning: Setting locale failed.

Here is how to fix it.

The first step is to see the current settings with locale. This should give an output similar to the following:

> locale

This output already might give you a hint about what is wrong. In my case, I have the entry en_DE which looks fishy. The next step is, to see what locales are installed on your machine. This is done with the parameter -a for locale:

> locale -a

Here we already found the problem. The output does not contain the locale “en_DE”. In this case, it is because “en_DE” does not actually exist. I have no idea where it comes from. But somehow the combination of being in Germany and installing an English operating system caused it. So what I want to do is to set everything that has the wrong locale to the correct locale “de_DE” instead.

As the German locale is not installed on our system yet, we first have to create it. This is done with locale-gen:

> sudo locale-gen de_DE.utf8
Generating locales (this might take a while)...
  de_DE.UTF-8... done   
Generation complete.

Now we can set it as the default with the following:

sudo dpkg-reconfigure locales

You should restart the computer for the changes to take effect (just to be safe).

Unison preferences for syncing

Unison is a tool to compare and synchronize two folders. You can configure it by GUI, but at least for me (Kubuntu 18.04) not all settings work. Specifically, I cannot set the value “0”. But there is an easy way around the problem. Unison puts a file called Profilename.prf (where “Profilename” should be replaced with the actual name of your profile) into the folder .unison in your home directory. This is simply a text file with key-value pairs, that you can edit at your leisure.

Here are standard settings for comparing two directories without comparing the file permissions:

label = My first comparison
root = /home/test/FolderOne/
root = /home/test/FolderTwo/
perms = 0
dontchmod = true

Now for the coolest feature of Unison: It is written in OCaml!! OCaml was used in my third semester to teach functional programming. I remember clearly the teacher telling us about the “usefulness” of the language. She had one slide with examples of programs written in OCaml. And she must have looked very hard to find any. There were a grand total of three programs on the slide. Two formal logic resolvers or something to that effect (we were like “yeah, really useful”). And MLDonkey (peer-to-peer filesharing was BIG in those days before Netflix, Spotify and fast internet) which she clearly didn’t know what it was for. So now, if she still has that slide, I can add another program! And a really useful one at that!

Change docker data directory

There are other ways to do this, but a simple one is to replace the default directory with a symbolic link to wherever you want to have your data directory. This is tested with OpenSuse LEAP 42.3.

Stop docker (if it is running):

service docker stop

Move the contents of the docker default data directory (under Suse this is /var/lib/docker/) to somewhere else:

mv /var/lib/docker/ /path/to/new/folder/

Now create a symbolic link to the new location in place of the default directory:

ln -s /path/to/new/folder/ /var/lib/docker/

Start docker again, it should use the new location:

service docker stop

(PS: In my case I had not deleted all containers and images before, so I had some things that linux didn’t want to move to the new location. I just deleted them manually:)

btrfs subvolume delete btrfs/subvolumes/*

Settings swk

Ubuntu / Gnome settings:

  • System settings / Appearance / Behavior: check “Enable workspaces”, show the menus “in the window’s title bar”, menu visibility “always displayed”.
  • System settings / Regional format: Change to “English (Ireland)”.
  • System settings / Bluetooth: Turn off.
  • System settings / Details / Removable media: set all to “Ask what to do”.
  • System settings / Time & Date / Clock : check “Weekday”, “date and month”, “24-hour time”, “include week numbers”
  • System settings / Display: turn off “Sticky edges”, check “Launcher on all displays”
  • System settings / Text entry: set to “Allow different sources for each window” and “new windows use the default source”.
  • Unity tweak tool / Hotcorners: turn on, upper left corner set “Window spread”

Suse, Kubuntu / KDE settings:

  • Settings / Desktop Behaviour / Desktop effects – deactivate “Fade”, “Blur”, “Translucency”,
  • Settings / Desktop Behaviour / Accessibility – deactivate “use system bell” in “audible bell”
  • Settings / Account Details / KDE Wallet – deactivate
  • Settings / Input devices / Keyboard – configure English keyboard
  • Settings / Input devices / Mouse / General – set “double click to open files”
  • Settings / Task Manager Settings / General – Sorting “manually”, Grouping “do not group”, mark “show only tasks from the current desktop”
  • Settings / Startup and Shutdown / Desktop session – On startup “start with an empty session”
  • Panel – Remove “Show Desktop” widget, add “Quick launcher” widget.

Firefox settings:

  • General: check “Make Firefox your default browser”, “Always ask me where to save files”, “Open new windows in a new tab instead”.
  • Search: uncheck “Provide search suggestions”.
  • Applications: change pdf to “Always ask”.
  • Privacy: “Use custom settings for history”, uncheck “Remember search and form history”, Keep cookies “I close Firefox”.
  • Security: uncheck “Remember logins for sites”.
  • Advanced / General: check “Search for text when I start typing”,
    uncheck “Check my spelling as I type”.
  • In about:config: set “browser.bookmarks.showRecentlyBookmarked” to False

Thunderbird settings:

  • Enable menu bar
  • Preferences / General: uncheck “When Thunderbird launches show start page”, uncheck “play a sound when new message arrives”.
  • Preferences / Display / Advanced: check “Close message window/tab on move or delete”, uncheck “Show only display name for people in my address book”.
  • Preferences / Composition / Spelling: uncheck “Enable spell check as you type”.
  • Preferences / Privacy: Uncheck “Accept cookies from sites”, check “Tell sites that I do not want to be tracked”.
  • View / Layout: uncheck “Message pane”
  • View / Today pane: uncheck “Show”
  • Account settings / Copies and Folders: change “Place a copy in”, check “Place replies in the folder of message”.
  • Account settings / Composition: uncheck “Compose messages in HTML format.”
  • Install Enigmail and import keys.
  • Install Lightning and import calendars.

Pidgin settings:

  • Preferences / Interface: set “Hide new IM conversations” to “Never”. Set “New conversations” to “New window”. Show system tray icon “Always”
  • Preferences / Conversations: uncheck “show formatting”, uncheck “buddy animation”, uncheck “highlight misspelled words”, uncheck “resize smileys”.
  • Preferences / Sounds: check “Mute sounds”
  • Preferences / Status: set “Idle time” to “Never”, uncheck “change to this status”, set “startup status” to “available”.
  • Plugins: Enable “Message Notification”, “Message Timestamp Formats”,
  • Show: “Offline Buddies”, “Empty groups”
  • Install Skype plugin

Atom settings:

  • Core settings: uncheck “audio beep”, Restore previous windows on start set “no”,
  • Editor: check “Scroll past end”, check “Soft wrap at preferred line length”,
  • Themes: Set to “Atom light”
  • Install Packages:
    • atom-latex (custom toolchain %TEX %ARG %DOC, add *.synctex.gz for cleaning, save files before build)
    • script
    • minimap
    • linter-flake8
  • Disable packages: autocomplete-plus

Konsole/Terminal settings

  • TabBar: check “Show New Tab and Close Tab buttons”
  • Profile / Scrolling: “Unlimited Scrollback”