Looking for a private journal app that is customizable in font size and style and similar functions to Libra writer. Why you ask? I am a Tinkerer, and a Philosopher of sorts, and am looking for that "just right" packaged app that meets these primary specs: Encrypted, Secure, in Ubuntu or Debian, and similarly customizable to Libra Writer as far as fonts and text size and shapes goes, and also contains a simplistic toolbar for object creation with various geometric shapes and sized objects for point & click ease. Also a simple header or title block creator to start each new thought or idea would be fantastic! Also, I am somewhat new to Linux & Unix, and any terminal command line syntax to simplify installation or functionality and ways to encrypt is greatly appreciated! Thank you kindly as well, Rudy
1 Answer
Diary Keeping
You actually describe a word processing software like LibreOffice Writer, and not much the things other people that try to keep a diary typically understand under "log keeping". Anyways, you already seem to have a program that you like (never heard of "Libra Writer", but if it works the way you like, go for it!!).
Maybe you want to check out Logseq; it has an online demo, in which you can play around. The "Whiteboard" feature might be what you want for the geometric shapes. Check out the graph view thing!
It's definitely meant for people that need to keep a diary not to lose ideas and knowledge, hence the focus on connecting different notes to each other (e.g. through links or through #tags). I learnt about it from someone sorting their notes while writing and revising a book, and I can see how it works well for working on that.
But as said, really: if you like your word processing software for this job, then maybe keep using it?
Encryption
Full-disk encryption
As pointed out in the comments, encryption is usually achieved separately.
I would not recommend GnuPG for encryption (I find it extremely hard to operate, and I've been using it for nearly 25 years now).
The most usual solution to "I want encrypted documents" (whether it be a diary, or your patient records or your architecture plans, or whatever data you create) is simply to use full-disk encryption. Simply everything gets encrypted on your computer then. Turn off your computer, and the encryption keyphrase is forgotten and you need to enter it at next boot. Someone stealing your computer or just the hard drive or SSD from it can't make sense of any of the data without knowing the key.
Debian does allow you to turn that on during installation, but it's hard (not impossible, but hard) to rewrite your whole disk as encrypted. Usually, you just make a backup of your data, flatten your whole system, and install debian again, and when asked how to partition disk, you say "Guided – use entire disk and set up encrypted LVM". The rest is pretty straightforward.
Encrypted container
OK, but let's assume you don't want to make a new installation just to encrypt a journal. That can be done! You make an encrypted container, and you can access (read, write, modify, delete…) the files inside by entering the password with which it was encrypted.
The first-time setup for this is a bit awkward, sadly. Afterwards, usage is simple.
One-time setup.
You need to open a terminal to do this. You don't need to be root or anything special. The lines starting with # are just my comments, you don't need to copy these :). Check that every command you execute doesn't tell you it encountered an error!
# Make an empty file:
# We choose 4 GB size. I'll assume that suffices for a diary.
fallocate -l 4G ~/encrypted.img
# Now initialize the encrypted container. This can totally take a few minutes.
# Note that you'll be asked to confirm with YES and that your password
# should be at least 8 characters long and not just be a word with a few numbers
# substituted in for letters. Everyone uses these, that's the first thing
# password crackers try.
# And don't reuse your user password!!! Or any other password you use elsewhere.
cryptsetup -y luksFormat ~/encrypted.img
# Wonderful! Let's get this thing unlocked, but first we need to deal with the file as if it was a full hard drive
udisksctl loop-setup -f ~/encrypted.img
# note the `/dev/loop99` number, you need it in the next step (replace 99 with
# the number you're actually getting)
# unlock the encrypted device. You will get asked for the password!
udisksctl unlock -b /dev/loop99
# This time get something like
# "Unlocked /dev/loop99 as /dev/dm-33".
# Remember that /dev/dm-33 for the next step!
# Make a filesystem
# This will ask you for your **user password**, not the encryption password
sudo mkfs.ext4 -L "diary" /dev/dm-33
# Mount that baby!
udisksctl mount -b /dev/dm-33
# You get something like
# "Mounted /dev/loop2 at /run/media/username/manyletters"
# copy the /run/medi… path
# Make it writable for us
sudo chown $(id -u):$(id -g) /run/media/username/manyletters
That was a lot of work, wasn't it. Luckily, you only needed to do this once.
You will, however, now when you open the file explorer, find a device with an "eject" symbol next to it, that's around 4.3 GB in size. That's your encrypted container! whatever you put in there is encrypted.
When you turn off your machine, all knowledge of the password is forgotten, and your diary is safe.
Using the container
Easier than the setup:
udisksctl loop-setup -f ~/encrypted.img
# you get:
# blabla as /dev/loop77
udisksctl unlock -b /dev/loop77
# you get asked for a password. You get:
# blabla as /dev/dm-22
udisksctl mount -b /dev/dm-22
And you can now find the encrypted device in your file explorer again.
and any terminal command line syntax to simplify installation or functionality and ways to encrypt is greatly appreciated!part should be moved to a separate question, as seems independent of the Software Recommendation for a Journal or Diary app.apt install some-packageis already quite simple, no? And encryption would presumably happen without user intervention anyway.passfor notes/ideas as well as or instead of passwords - I know I do.passuntil I realize that about half the confidential information (namely, on which sites do I have passwords?) was stored as file names, and thus unencrypted. So, can really not recommendpassfor such use cases as keeping a diary. It imho slightly fails the second half of "make a complex as easy as possible, but not easier".