KeePass on Linux. 2018 edition.
- At March 01, 2018
- By Alexander Yermakov
- In Linux Software
0
It’s been couple of years since I’ve switched to Linux. I’ve been running Ubuntu for most of these two years after having too many stability related issues with Mint. When I switched over from Windows I was missing one critical piece of software that, I believe, everyone should use – a password manager. I’ve been a long time user (many, many years) of KeePass, an open source password manager, that served me really well. With the switch to Linux I had to go through some fun of building a version of KeePassX from sources (more on that here). The software was OK, nothing to brag about. It’s a bit clumsy, a bit outdated, got some bugs. And, unfortunately, it seems as nobody really maintains it.
Fast forward to 2018 and I’ve almost fully switched to KeePassXC, which has a much better UI, more feature rich, has active members working on it. And I haven’t run into any bugs, yet. Hopefully the guys behind the project continue their great work and users such as myself can enjoy the software.
Windows update breaks GRUB on dual boot machines
It’s pretty widely known that major Windows updates may affect dual boot machines. This is what I’ve run into with my dual boot machine – Windows decided to install a major update and in doing that broke GRUB that managed my boot options.
Few google searches later I’ve run across many ways of addressing the GRUB issue, which seem to be stemming from various failures.
What I was greeted with was GRUB command line with the following message:
error: file ‘/grub/i386-pc/normal.mod’ not found
and the prompt:
grub rescue>
In short, the following is the sequence of steps I needed to take:
- First, run this command to see the list of disks and partitions:
ls
- You’ll get a list of devices and partitions in the form of: (hd0), (hd0,msdos1),etc.
- Most likely your GRUB root partition is on (hd0)
- You need to figure out which partition that is.
- Run the following command:
ls (hd0,msdos0)
- If you get “error: unknown filesystem”, then move onto the next partition –
ls (hd0,msdos1)
- If you get “Filesystem is ext2” then you found one of Linux partitions – you may have more than one on a single drive, obviously. Most likely your root partition is the one with the smallest index.
- Run the following command:
- Run the following commands to run GRUB (assuming your root partition is msdos1):
set boot=(hd0,msdos1) set prefix=(hd0,msdos1)/boot/grub insmod normal normal
- At this point you should see your GRUB screen, which allows you to pick the OS to boot.
However, this is not all. Following these steps you won’t “fix” the issue – you’ll just manually run GRUB. To permanently fix the issue and make sure you don’t have to follow these steps on every single boot. Assuming your root partition is on /dev/sda, run the following (note that it’s all about the device, not a partition on it):
sudo grub-install /dev/sda sudo update-grub
So, at this point your system should be back to normal.
One more comment – if you run into this while upgrading Windows to the next major version, it doesn’t make sense to finalize the fix until Windows is done with its reboots (it does it few times during the upgrade), as it may damage GRUB again.
Installing KeePassX 2.x in Linux Mint
- At April 29, 2016
- By Alexander Yermakov
- In Linux Software
2
2018 Disclaimer: I’ve since switched to KeePassXC. More on that here.
It’s been a little while since I’ve started playing around with Linux Mint on my laptop. It took me very little time to install few major applications and all seemed good. Then I run into a situation which prompted me to convert my desktop to Linux. And this is where things started to get rough(er).
I decided that I want to install KeePassX 2.0.2 as a password manager onto my desktop. I’ve briefly tried to use KeePass2 which is available through the package manager, but quickly realized that it’s an older version and that getting a newer version requires me to trust someone out there who provides a binary. Well, not so keen on trusting unknown entities with a security piece of software. This is when I started looking at KeePassX, for which, unfortunately, the authors provide only sources and not the binaries that can be installed – that means you as an end user have to build it all yourself. It’s not a problem for anyone who’s been using Linux for a while, but a pain in the rear for a newcomer (even though I’ve been doing software for about 2 decades, haha).
Here I will provide you with instructions on how to get this all done. Hopefully it’ll be useful to someone out there.
- Install dependencies:
sudo apt-get install build-essential cmake qtbase5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools libgcrypt20-dev zlib1g-dev qt-sdk libxtst-dev libxi-dev checkinstall - Figure out where you want to build the application (I used ~/Downloads folder)
cd ~/Downloads - Download the source
wget https://www.keepassx.org/releases/2.0.2/keepassx-2.0.2.tar.gz - Unpack the archive
tar -xvf keepassx-2.0.2.tar.gz - cd keepassx-2.0.2
- Create a directory in which the build files will be created
mkdir build - Switch into the build directory
cd build - Prepare to build the application. Make sure to have double dots at the end of the command!
cmake .. - Build the application
make - Use checkinstall tool to build .deb package and install it into the system
sudo checkinstall - The tool will ask you to set few options. Make sure to set the following values:
- Maintainer: set this to your name/email
- Summary: define brief package summary
- Name: set the name of the application (this will be the name of the package in the end)
- Version: set application version
- Group: set to the group to which this application belongs to
- Alternate source location: set this to the URL from which the source was downloaded
- Follow few next prompts. In the end the tool will create the .deb package and install the executable into /usr/local/bin and a .desktop file into /usr/local/share/applications.
- You can use the .deb file that was created to install the application on any other machine if you’d like
- If you ever want to remove the package, use the following (keepassx is the Name value from #11 above):
dpkg -r keepassx
Well, this should be it. Hopefully this is helpful.
Adding NEF preview to Linux Mint file manager Nemo
If you want to be able to preview NEF (Nikon raw) images in Linux Mint’s file manager Nemo, you need to do the following:
- Open Preferences window for Nemo file manager from Edit -> Preferences menu
- Switch to Preview tab within the Preferences window
- Set “Show Thumbnails” to Always if you want to show thumbnails on remote drives
- Set “Only for files smaller than” to 100 MB
- Install the following packages from Software Manager UI:
- gnome-raw-thumbnailer
- libopenraw1
- libopenrawgnome1
Note: Browsing remote/network directories will be sloooooooow if you enable thumbnails for remote drives.
Reconnecting a bluetooth mouse in Linux Mint upon reboot
I use a bluetooth mouse with my laptop (never could understand manufacturers pushing their proprietary USB wireless peripherals – why take up a USB port when all laptops have bluetooth built-in). When I installed Linux Mint (version 17.3) it has connected to my mouse just fine and I was able to use it with no issues. However the OS would never reconnect with the mouse upon reboot which is a hassle – you have to remove/add the device every time. Clearly not the way to go.
This is what I’ve done to get the OS remember the mouse and it’s settings.
- Put your mouse in a discoverable state (there is usually a button on the mouse somewhere for this)
- Open terminal and run the following command that should give you a MAC address for your mouse:
hcitool scan - Once you’ve obtained your mouse MAC address (should look like XX:XX:XX:XX:XX:XX), run the following in terminal:
bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
bluez-test-input connect XX:XX:XX:XX:XX:XX
Now you should be good to go.
SSD drives and Linux
Here is what I’ve done on my laptop to ensure better longevity of my shiny new SSD. The idea is to minimize write unnecessary write actions on the drive to prolong it’s life. For this I’ve followed few different sources, with one of them being the most specific and prescriptive.
- Ensure that your drive is set to AHCI in your computer BIOS
- When installing, use ETX4 filesystem as it seems to be best for SSD support. This is a journaling filesystem which does incur some extra write but apparently not by much. It provides greater safety for your data, so it is worth just going with it.
- Disable “access time stamp” that the OS sets on files by default upon their access.
- Open fstab file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
gksu gedit /etc/fstab - Add noatime to each partition in that file except for swap and boot (the following is all one line):
UUID=55ae6f33-5075-465a-b225-6f8a9d9787e7 / ext4 noatime,errors=remount-ro 0 1
- Open fstab file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
- Enable trim command to be executed upon system boot (good for laptops)
- Open rc.local file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
gksu gedit /etc/rc.local - Add fstrim command for each partition in that file except for swap and boot and make sure that you add these lines before exit 0:
fstrim /
fstrim /home
- Open rc.local file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
- Disable weekly trim action that is configured by the OS automatically by moving cron job configuration file:
sudo mv -v /etc/cron.weekly/fstrim /fstrim.disabled_weekly_cron - Limit swap partition wear:
- Open sysctl.conf file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
gksudo gedit /etc/sysctl.conf - Add the following line into the file:
vm.swappiness=1
- Open sysctl.conf file for editing (as a sudo). In Terminal type the following (you will be prompted for password once you hit Enter):
- Limit Firefox caching on disk
- Open Advanced category of Firefox Preferences (accessed via Firefox menu)
- Click on Network tab
- Check “Override automatic cache management” in Cached Web Content section
- Set “Limit” to 0
- Disable hibernation as that will write a lot of data on the drive every time you hibernate the computer. Maybe go without it if you can.
Linux vs Windows
- At March 20, 2016
- By Alexander Yermakov
- In Linux
0
Well, it’s 2016 and the most recent Windows release (10 that is) is getting more and more bad publicity with the security and privacy issues. I have been looking at upgrading to Windows 10 but with all the news decided to try Linux. Again.
I decided to switch my laptop first. Just recently bought a high capacity new SSD drive (1 TB Sandisk) and have replaced my old-ish drive. At first I had Windows installed on it, but then decided to give Linux Mint a try. Unlike my attempts to use Linux 3-4 years ago (Ubuntu that time), this time around it went much better. I first tried Mint as a “live” OS (running it from a USB drive, not installing on the computer) and it seemed to pick all of my devices just fine. Once I was sure it was going to play nice with the hardware I’ve installed it and it seems to be running just fine – I haven’t booted into Windows yet.
While the OS seems to be OK and there are few applications that everyone now expects to have (ie. browsers, office productivity tools, some computer related software) I have my concerns and doubts – the software that I need the most is pretty much Windows exclusive (photography related software) and it is going to be very challenging to find anything comparable. So I’m not kidding myself – there is no way to get anything close to Lightroom or Photoshop on Linux, so it’s going to be a struggle. If only Adobe released their software for Linux – I’d be buying (or rather renting) it right away. But no, they ignore Linux and, unfortunately, they have no competition. I believe they ignore Linux because the userbase is small, but at the same time I’ve read a lot of posts online of people who’d move away from Windows if only Adobe’s products were available on Linux. Classic chicken and the egg problem.
Well, with all of this said, I am going to document my adventures in Linux move as I go. Mostly for myself – once I decide to switch my desktop to Linux I’ll need to use some sort of a checklist of what I need to do.