Tag Archives: GNU/Linux

Moving from 1Password to KeePassXC on GNU/Linux

screenshot of keepassxc.org home page

screenshot of keepassxc.org home page

History

Since my full-time move from macOS to GNU/Linux back in Q1 2015, I have been searching for free software replacements for all of the applications I used to use on macOS.

Today, I said goodbye to the one last holdout, the gold-standard password manager, 1Password. I had been using 1Password running in Wine on GNU/Linux since the switch.

Motivation

Two recent events prodded me into making a permanent move away from 1Password:

  1. I switched the operating system on my phone away from the manufacturer-installed Android system to LineageOS, a Free Software operating system based on a version of Android that does not have spyware or bloatware that allows apps (or Google) to track everything I do.
  2. Dropbox, the main system for synchronizing non-Agile Bits-hosted 1Password database files, is dropping support for encrypted ext4 filesystems1 in November, 2018. Since I use full disk encryption on all of my drives and my drives use the ext4 file system type and I have a very strong desire to cut ties with centralized systems like Dropbox (for storing information that I wish to keep private), I need to make a move.

Requirements

My requirements for a password manager replacement are:

  • Must be free software (respects the 4 Freedoms)
  • Must have a desktop version and an Android version – so I can use it at home and on-the-go
  • Must be on a computer that I can control – not some centralized system on the cloud

New Password Manager

I have switched to using KeePassXC as my full-time password manager.

The two contenders I considered were Bitwarden and KeePassXC.

Bitwarden is a worthy contender and definitely one you should consider if you also use iOS. Bitwarden meets all of my requirements. The application is very nice and works well on all platforms. With a little bit of extra work, you can spin up your own server and self-host your own Bitwarden server that can synchronize all of your passwords with all of your own devices.

I did not want to deal with the extra work that I would have to put in to make Bitwarden be my ultimate solution. However, if you are a nerd and you have the skills to deploy a web-facing server securely, Bitwarden is probably your best bet.

KeePassXC meets all of my requirements and it is not dependent on some centralized service. It stores all of my passwords in an encrypted file. I synchronize my encrypted KeePass database file on all of my devices (desktop, laptop, phone) using the amazing cross-platform Syncthing application that uses the Mozilla Public License.

I have been running 1Password and KeePass in parallel for 2 years now. I started with a port of the Windows KeePass client but I switched to KeePassXC when it came out since it is a native application on GNU/Linux. I use KeePass DX on my phone to access passwords.

I am very happy with my choice and see myself using it for the foreseeable future.

Moving from OS X to GNU/Linux: Applications

Moving from OS X to GNU/Linux was pretty easy because I was able to find comparable Free Software (libre) alternatives to many of the proprietary applications I used on Mac OS X.

Here is a listing of my most-used Mac OS X applications and the alternatives I now use on GNU/Linux:

  • Microsoft Office – I now do everything in LibreOffice. LibreOffice is a fork of the older OpenOffice. It is fantastic. I will occasionally use Microsoft Office 365 on GNU/Linux to edit files inside a browser window.
  • Screenflow screencasting software – I now use a combination of Kazam for screen capture, Audacity for audio editing, and KDEnlive for the video editing.
  • Firefox & Chrome – I use the Firefox version made for Debian and the Chromium browser (both work with 1Password)
  • SnagitShutter is nice. It has editing features to make simple annotations.
  • iMovie – The previously mentioned KDEnlive and OpenShot are fantastic non-linear video editors.
  • Marked2 – For editing markdown files, ReText can never reach the awesomeness that Brett Terpstra achieved with Marked but it is still pretty nice to use. If you haven’t heard of markdown, just buy Markdown by David Sparks. Markdown editing is the one skill I now use more often than anything else. It is a massive time saver.
  • 1Password – I now use the Windows version of 1Password on GNU/Linux (my HowTo post). I have recently been working on a transition to KeePass2. **UPDATE**: I moved to KeePass (read about it)
  • YNAB – The Windows version of YNAB personal finance and budget software runs on GNU/Linux using Wine. I would love to move to GnuCash for this kind of money tracking but the iPhone app for YNAB and the syncing is soooo easy to use.
  • OmniFocus – OmniFocus just might be one of the best Mac and iPhone productivity (Getting Things Done or GTD) apps out there. The OmniFocus graphical user interface is tip-top. That said, upon switching to GNU/Linux I changed to the command-line Taskwarrior productivity manager. It took me a couple of days to get the hang of but now I can’t live without it. Besides a web browser, it is my most-used application.
  • Adobe Photoshop – The Gnu Image Manipulation Program or GIMP is a perfect alternative to the super-expensive Adobe Photoshop
  • Adobe Illustrator – Creating and editing scalable vector graphics is really easy and fun using Inkscape. I love this app. There is even a great course on Lynda.com to help you learn Inkscape.
  • Photos (formerly iPhoto) – My photo management is now taking place in Shotwell. Though, there are some alternatives such as Digikam and Darktable.

Sadly, there are still some Mac OS X applications that I have not been able to find an alternative to in GNU/Linux.

  • PDFPen – This Mac-only PDF manipulation application is pretty much the best thing that ever happened to PDF. Surprisingly the iPad version of this app is equally fantastic.
  • Textexpander – I have not yet been able to find anything that comes close to comparing with the awesomeness that is Textexpander. If you use a Mac and you don’t have Textexpander you are doing it wrong!
  • iCal – Unfortunately, I am still using Calendar via iCloud.com. I will soon be moving my contacts and calendar to Nextcloud – expect a post on that when it happens.

Besides the proprietary 1Password, YNAB, and Microsoft Office 365, all the GNU/Linux software I now use is Free Software (“free” as in freedom/libre) or Open Source Software. It is also available free of charge!

I think the best way to find Free Software applications it to visit the Free Software Foundation’s Free Software Directory. The software is sorted by groups and has pretty good descriptions.

Additionally, the Ubuntu Mate distribution (which I use on my RaspberryPi) has a great software tool called ubuntu-mate-welcome that you can install on regular old Ubuntu. It has a nice listing of useful proprietary software and Free Software (you can tick a box to hide the proprietary software).

bash tab completion in tmux on Ubuntu GNU/Linux

I installed tmux on my Ubuntu laptop. I was confused about why tab completion was not working.

Silly me, it turns out that the default shell on tmux is /bin/sh and not the typical Bash (/bin/bash) shell typically used in GNU/Linux.

The simple fix was adding this to my $HOME/.tmux.conf file to ensure subsequent tmux sessions used /bin/bash.

set-option -g default-shell /bin/bash

1Password on Ubuntu Linux 14.10

Edited on July 26, 2015 to include instructions on enabling browser extensions (Thanks, Jonathan!)

UPDATE: I am no longer using 1Password. I have moved completely to KeePassXC. Read about it here.

If you are as deeply entrenched in the Apple ecosystem as I am you probably survive password hell by using 1Password.

What if you want to play around with Ubuntu Linux? There is no version of 1Password for Linux. There is one neat work-around that I will show you here: you can use Wine, a Windows emulator, to run 1Password on Ubuntu Linux. This will probably work on other *nix systems too.

Watch it!

Check out my screencast on YouTube! to see the installation.

Install notes

Assumptions

This guide assumes the user has:

  • Ubuntu Linux 14.10 64-bit version is installed on a computer or virutal machine
  • beginner-level familiarity of the Linux command line
  • an existing 1Password installation that is being synchronized via Dropbox (not iCloud)
  • 1Password version 4 for Windows is being installed

Overview

  • install Wine
  • Install & configure Dropbox
  • Download 1Password
  • Install 1Password in Wine
  • (NEW) Install browser extensions
  • Run 1Password (NEW) with browser extensions enabled

Install WINE

Open up a Terminal window and type in the following:

sudo apt-get install wine

The Ubuntu package installer will then figure out what dependencies Wine has and it will figure out what needs to be downloaded. It will present you with a summary of what is to be installed and then it will as you if you want to continue. Type in y to continue.

It will then present you with an end user license agreement (EULA) for using Microsoft fonts. Click ok to accept it. Note: you will need to use the Tab key to focus on the <Ok> on this and subsequent dialog screens.

Install and Configure Dropbox

Open the Ubuntu Software Center and search for “Dropbox”.

When it shows up, click on Dropbox, then click on the Install button and enter your password when prompted.

The Ubuntu Software Center will install Dropbox for you. When it is done, close the Software Center window.

Click on the new Dropbox icon in the Launcher. A Dropbox setup window will then open. Enter your account information. At this point you accept the default of syncing everything in your Dropbox account. Alternatively, you can click on the Advanced Settings link to choose specific folders to sync.

Download 1Password

Running 1Password on Ubuntu requires the Windows version. You can grab it at the AgileBits Downloads page.

Click on the Download It Now button.

In the resultant pop-up dialog box, click on the Save File button.

Depending on your browser, you will either get to choose the target download directory or it will go to the default directory.

Install 1Password in WINE

Go to wherever the download is stored now. (In my case, the 1Password installer went to my /home/eduardo/Downloads directory)

cd ~/Downloads

List the contents of the directory and look for the 1Password executable installer. It will be named something like 1Password-4.1.0.530.exe . Your filename will be different than this.

Make sure you use your 1Password filename in the following command.

Use Wine to install 1Password by entering this command:

wine 1Password-4.1.0.530.exe

This will install 1Password in your Wine directory and start the 1Password Windows installer.

Select the default install location. It will say it is installing it to C:\Program Files (x86)\1Password 4 but, in reality, it is installing it to the Wine folder in your home directory.

Next you are given the opportunity to create a Start Menu shortcut. Since you are on Ubuntu, there is not really a start menu. Check the checkbox for Don’t create a Start Menu folder.

Check the checkbox for Create a desktop icon if you want one and click the Next button.

Click on the Install button to begin the installation. Once it has been installed click on the Finish button to exit the installer and get back to the command line.

Run 1Password

The simplest way to run 1Password is to use the Desktop icon. If you chose to install a Desktop icon keep in mind that it will probably not show up until after a reboot of the system.

If you didn’t install a Desktop icon, you can start Dropbox in the command line.

NEW: Install browser extensions by navigating to the AgileBits browser extensions site:
https://agilebits.com/onepassword/extensions

Navigate to your Wine folder. Assuming you chose the default directory when installing 1Password, you should type the following into the command line:

cd ~/.wine/drive_c/Program\ Files\ \(x86\)/1Password\ 4/

Note: unlike in Windows, file and directory names can only be letters, numbers, periods, hyphens, or underscores. Any other character or space must be preceded by a backslash character. This is known as escaping a character.

Run 1Password by typing:

./1Password.exe

This will bring up a Welcome to 1Password dialog box. Click on the I have used 1Password before button. Next navigate to your 1Password keychain in Dropbox.

Enter your 1Password master password. You should now see everything from your 1Password vault.

NEW: Lastly, navigate back to the 1Password application location and look for a file called Agile1pAgent.exe. This app must be running to enable the browser extension(s).

Run it by navigating to the 1Password directory and typing:

wine Agile1pAgent.exe

(Many thanks to Jonathan for providing this guidance in his comment to this post.)

End Notes

If you know of better/easier ways of doing this, please post a comment.

Thanks.