It took me a while to find out how to change the file explorer application that Firefox uses when I press the “Open Containing Folder” button in the download manager.

I first tried adjusting the MIME type mappings in /usr/share/applications/defaults.list, /usr/share/applications/mimeinfo.cache, and ~/.local/share/applications/mimeapps.list, as suggested here and here. No success.

Finally, by grepping my home directory for “dolphin” (which I wanted to get rid of as default browser), I found another default mapping in ~/.config/lxsession-default-apps/settings.conf

In this file, I needed to adjust the line starting with file_manager/installed  as follows (one line!):

file_manager/installed=File Manager PCManFM,pcmanfm,system-file-manager,/usr/share/applications/pcmanfm.desktop,;

After a fresh installation of LXDE on Ubuntu 18.04, the tap gesture did not work for the touchpad of my Lenovo Y510P.

Installing Synaptics as  helped to solve the problem:

sudo apt install xserver-xorg-input-synaptics

Previously, xserver-xorg-input-libinput  was installed, and I did not manage to configure the tap gesture using this driver, properly.

I found this solution on askubuntu.com.

In Thunderbird 52.9.1 on Ubuntu 18.04, I found the oversized emojis annoying because they covered other messages in the inbox (e.g., in Facebook notification mails).

This issue seems to be unsolved currently (see here).

Fortunately, the situation can be mitigated by disabling the Noto Color Emoji font.

  1. Install the Font Manager tool: sudo apt install font-manager
  2. Open the Font Manager: font-manager
  3. Select System in the left panel and search for Noto Color Emoji in the right-hand side search box.
  4. Deselect the checkbox to the left of the font name.
  5. Restart Thunderbird. Now, the emojis should be replaced by placeholder glyphs containing digits.

Thanks to this thread for the solution, which I describe here in greater detail.

After installing Lubuntu 16.10 on my Lenovo Y510P, the key binding for volume control (Fn + Left/Right) were not working.

I found out that all key bindings can be easily configured using the XML configuration file ~/.config/openbox/lubuntu-rc.xml.

The default commands were configured as follows:

  <!-- Keybinding for Volume management -->
  <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
          <command>amixer -q sset Master 3%+ unmute</command>
      </action>
  </keybind>
  <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
          <command>amixer -q sset Master 3%- unmute</command>
      </action>
  </keybind>

When executing these commands on the console (lxterminal), I received the following error message:

$ amixer -q sset Master 3%+ unmute
amixer: Unable to find simple control 'Master',0

It appeared that the simple channel name was wrong.

The problem could easily be fixed by manually selecting the first sound card via -c 1 (the option -q serves to suppress any standard output):

amixer -q -c 1 -- sset Master playback 3%+ unmute # increase volume by 3%
amixer -q -c 1 -- sset Master playback 3%- unmute # decrease volume by 3%

The modified part of the configuration files looks as follows. Note: The X server needs to be restarted for the changes to take effect!

 <!-- Keybinding for Volume management -->
  <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
          <!--<command>amixer -q sset Master 3%+ unmute</command>-->
          <command>amixer -q -c 1 -- sset Master playback 3%+ unmute</command>
      </action>
  </keybind>
  <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
          <command>amixer -q -c 1 -- sset Master playback 3%- unmute</command>
      </action>
  </keybind>
  <keybind key="XF86AudioMute">
      <action name="Execute">
          <command>amixer -c 1 -- sset Master toggle</command>
      </action>
  </keybind>

After installing Dropbox on a fresh Lubuntu 16.10, I was missing the Dropbox icon in my task bar.

From several posts, I learnt that installing the package libappindicator1 as follows should help:

sudo apt-get install libappindicator1

Alas,  the icon was still missing.

Finally, I found the a post that suggested to set the environment variable XDG_CURRENT_DESKTOP to Unity:

dropbox stop && env XDG_CURRENT_DESKTOP=Unity dropbox start

After verifying that this worked, I modified the corresponding desktop entry that corresponds to Dropbox (For a full list, see Start menu -> Preferences -> Default applications for LXSession). The entry is located in ~/.config/autostart on my system. I copied the file Dropbox.desktop to Dropbox-custom.desktop and set the Exec line to the following content.

Name=Dropbox-custom # If you like - helps to distinguish this file from the one generated by Dropbox
# ...
# Was before: Exec=dropbox start -i
Exec=env XDG_CURRENT_DESKTOP=Unity dropbox start -i

Afterwards, I disabled the option Start Dropbox on system startup in the Dropbox preferences – otherwise, Dropbox would override the .desktop entry.

Credit: Thanks for idobrinescu, who proposed this fix for Elementary OS Freya.

I regularly have to reduce the size of digital images. To automatize this, I created a little Bash script, which also considers the orientation (landscape/portrait) of the image:

#!/bin/bash

# This script shrinks all JPEG images in the given input folder and
# stores them in the output folder.
# 
# The maximum length (in pixels) of the longest edge can be set by
# the variable 'maxSize'.
#
# Author: Roland Kluge

maxSize="1000"
originaleImages="input"
smallImages="output"

IFS=$'\n'
for image in $(find $originaleImages -regex .*[jJ][pP][eE]?[gG])
do
  filename=$(basename $image)
  noExtension=${filename%.*}
  newPath="$smallImages/${noExtension}e.jpg"
  
  if [ $(identify -ping -format '%W/%H>1' $image | bc -l) -eq 1 ]; then
    echo "$image is landscape"
    newSize="${maxSize}x"
   else
    echo "$image is portrait"
    newSize="x${maxSize}"
   fi
  convert $image -strip -resize $newSize jpg:$newPath
done

The actual conversion is done with convert, which is part of the ImageMagick suite (for installation instructions, see here).

The option -strip removes all EXIF metadata during conversion and the prefix jpg: ensures that the correct file format is used for the new file.

Edit (2014-11-17): Fix loop condition to cope with file names that contain whitespaces and also to also match JPEG, jpeg,… Thanks, Paul Pell!

This is a short description how to produce a Video DVD from a video file under Linux.

The first step is to convert your movie file from the original format to MPEG-2:

avconv -i movie.{avi,...} -target pal-dvd -vb 8000k dvd.mpg

Depending on your TV, you have to choose between PAL and NTSC and between Video CD, Super Video CD, and Video DVD (e.g., ntsc-vcd, ntsc-svcd, ntsc-dvd,…). The option -vb sets the target video bitrate. 8000kbit/s is a guess that worked for me. (Note: avonv is the successor of ffmpeg)

From the MPEG-2 file, you now produce a file structure that is suitable for a Video CD/DVD using the appropriate command below. dvdauthor is known to have problems selecting the video format using the option -v, so the environment variable VIDEO_FORMAT should be used instead

VIDEO_FORMAT=PAL dvdauthor -o dvdfolder -t dvd.mpg
VIDEO_FORMAT=NTSC dvdauthor -o dvdfolder -t dvd.mpg

Then, you create a so-called titleset for your CD/DVD with:

VIDEO_FORMAT=PAL dvdauthor -o dvdfolder -T
VIDEO_FORMAT=NTSC dvdauthor -o dvdfolder -T

Now you are ready to burn your CD/DVD. Open k3b (or another burning tool) and choose “New Video DVD project” (or similar) and copy VIDEO_TS and AUDIO_TS into the root of the project folder.

Acknowledgments

Main ideas stem from here.

Here are some ways to calculate an MD5 and SHA1 sum of a string.

In Bash

echo -e "joh316\c" | md5sum
echo -e "joh316\c" | sha1sum

The switch -e enables the interpretation of escape sequences and \c (‘End of Text’) suppresses any further output.

In MySQL

SELECT md5('joh316');
SELECT sha1('joh316');

In PHP5

php5 -r "echo md5('joh316');"
php5 -r "echo sha1('joh316');"

 

This post describes how to adapt the size of the Grub splash screen and the virtual terminal on Debian.

In the following, I will set both to the size of 1280 x 1024 pixels. This may not suit your installation. To be sure, install the tool hwinfo and check the available configurations:

sudo apt-get install hwinfo
sudo hwinfo --framebuffer

Grub splash scren

Open /etc/default/grub (as root) and add/modify the following lines:

# in file /etc/default/grub
GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD=1280x1024

Afterwards, update the grub configuration and reboot:

sudo update-grub2
sudo reboot

Now, the Grub splash screen appears larger, but the virtual console of Debian is still quite tiny.

Debian virtual console

For increasing the size of Debian’s virtual terminal, open /etc/default/grub, again and add the following line:

# in file /etc/default/grub
GRUB_GFXPAYLOAD_LINUX=1280x1024x16

Further Reading

If this solution did not work for you, you may try other suggestions from this stackoverflow thread.

This article covers additional dependencies that are required to build KiCad on Ubuntu.

For general instructions on how to install KiCad see here: http://www.kicad-pcb.org/display/DEV/Building+KiCad+on+Linux .

Even though we run apt-get build-dep kicad during the setup, some essential libraries are missing that are reflected in the following command:

sudo apt-get install libglew-dev libcairo2-dev libbz2-dev libssl-dev

The dependencies that apt-get build-dep kicad installed are:

debhelper dh-apparmor libboost-dev libboost1.54-dev libdrm-dev \
  libgl1-mesa-dev libglu1-mesa-dev libpthread-stubs0-dev libwxbase2.8-dev \
  libwxbase3.0-0 libwxgtk2.8-dev libx11-dev libx11-xcb-dev libxau-dev \
  libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev \
  libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev \
  libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev \
  libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev po-debconf \
  quilt wx-common wx2.8-headers x11proto-core-dev x11proto-damage-dev \
  x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev \
  x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev \
  xorg-sgml-doctools xtrans-dev