Let’s face it, part of the joy of Linux is solving unexpected problems you wouldn’t have with proprietary Operating Systems like Windows and MacOS. That being said this is my latest adventure:

I turned on m computer and after the grub screen came up and I chose to boot into Manjaro (yes, the horror, I know dual booting Windows is not ideal but a necessary evil in my case). Something like this came up instead of the usual GUI login prompt:

[FAILED] Failed to start File System <random UUID for my home partition>
[FAILED] Failed to mount /home.
[DEPEND] Dependency failed for Local File Systems.
You are in emergency mode. After logging in, type “journalctl -xb” to view
system logs, “systemctl reboot” to reboot, “systemctl default” or “exit”
to boot into default mode.

After the usual “Well, crap” moment I decided to search the forums and my initial approach was to boot from a live usb and then to follow this thread but manjaro-chroot -a didn’t seem to work, the terminal propmted to mount Manjaro as option 0 but that didn’t help (more like I didn’t really know how to use this). So I attempted something else I found in this other thread:

fsck /dev/sda8 (my home partition lives in sda8)

and after following the prompts to repair errors and optimize (said yes to all):

~ >>> sudo fsck /dev/sda8                                                                          [32]
fsck from util-linux 2.36
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda8 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 1179940 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Inodes that were part of a corrupted orphan linked list found.  Fix<y>? yes
Inode 1180329 was part of the orphaned inode list.  FIXED.
Deleted inode 1185883 has zero dtime.  Fix<y>? yes
Inode 1194474 was part of the orphaned inode list.  FIXED.
Inode 1197451 was part of the orphaned inode list.  FIXED.
Inode 1214730 was part of the orphaned inode list.  FIXED.
Inode 1214937 was part of the orphaned inode list.  FIXED.
Inode 1245329 was part of the orphaned inode list.  FIXED.
Inode 1443168 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Inode 2101262 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -4728365 -(5252576--5252593) -(5252832--5252840) -(7281205--7281213) -(28186624--28187647) -(28435982--28435990)
Fix<y>? yes
Free blocks count wrong for group #144 (280, counted=281).
Fix<y>? yes
Free blocks count wrong for group #160 (7611, counted=7638).
Fix<y>? yes
Free blocks count wrong for group #222 (16898, counted=16907).
Fix<y>? yes
Free blocks count wrong for group #860 (5047, counted=6071).
Fix ('a' enables 'yes' to all) <y>? yes to all
Free blocks count wrong for group #867 (6842, counted=6851).
Fix? yes
Free blocks count wrong (1960760, counted=1961830).
Fix? yes
Inode bitmap differences:  -1180329 -1185883 -1194474 -1197451 -1214730 -1214937 -1245329
Fix? yes
Free inodes count wrong for group #144 (0, counted=2).
Fix? yes
Free inodes count wrong for group #145 (0, counted=1).
Fix? yes
Free inodes count wrong for group #146 (8, counted=9).
Fix? yes
Free inodes count wrong for group #148 (1750, counted=1752).
Fix? yes
Free inodes count wrong for group #152 (6483, counted=6484).
Fix? yes
Directories count wrong for group #152 (1042, counted=1041).
Fix? yes
Free inodes count wrong (6279928, counted=6279935).
Fix? yes
/dev/sda8: *** FILE SYSTEM WAS MODIFIED ***
/dev/sda8: 1936641/8216576 files (0.4% non-contiguous), 30896794/32858624 blocks
~ >>>                                                                                               [1]

Then after turning off and on my laptop everything went back to normal. In hindsight maybe I could’ve done that from the terminal I was booting into but it doesn’t matter now.

Useful reference for fsck:

 lopeztel@lopeztel-inspiron137359  ~  fsck --help

Usage:
 fsck [options] -- [fs-options] [<filesystem> ...]

Check and repair a Linux filesystem.

Options:
 -A         check all filesystems
 -C [<fd>]  display progress bar; file descriptor is for GUIs
 -l         lock the device to guarantee exclusive access
 -M         do not check mounted filesystems
 -N         do not execute, just show what would be done
 -P         check filesystems in parallel, including root
 -R         skip root filesystem; useful only with '-A'
 -r [<fd>]  report statistics for each device checked;
            file descriptor is for GUIs
 -s         serialize the checking operations
 -T         do not show the title on startup
 -t <type>  specify filesystem types to be checked;
            <type> is allowed to be a comma-separated list
 -V         explain what is being done

 -?, --help     display this help
     --version  display version

See the specific fsck.* commands for available fs-options.
For more details see fsck(8).

As I said, there are unexpected problems but there’s a sense of achievement when you solve them and learn something in the process.

Day 20 of

Followup on my previous entry related to my wallpaper. I just wanted my terminal to look nice since I spend quite some time on it. I use zsh by the way, but there are similar instructions for bash as well.

I’ll just document the steps I followed (2 alternatives)

powerline-shell

Install powerline-shell (more configuration options in the github repo):

sudo pip install powerline-shell

Add these lines to .zshrc:

function powerline_precmd() {
    PS1="$(powerline-shell --shell zsh $?)"
}

function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}

if [ "$TERM" != "linux" ]; then
    install_powerline_precmd
fi

ohmyzsh

Install ohmyzsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Replace the theme in line

ZSH_THEME="robbyrussell" 

by one of the themes in this list, I chose agnoster.

Color scheme (doesn’t work completely with powerline-shell)

Install pywal:

sudo pip install pywal

Then run

wal -i "/path/to/img.jpg"

Which I pointed to my pacwall generated wallpaper, you should see a change in color scheme now. This is my result:

Wallpaper and matching terminal color scheme

Finally make the color scheme part of the .zshrc and persist between reboots (by modifying .xinitrc) (based on these instructions), here are my .zshrc additions:

(cat ~/.cache/wal/sequences &)
neofetch

And my .xinitrc addition:

wal -R

Day 14 of

Just recently I found an interesting package in AUR, it’s called pacwall. Since I use Manjaro the installation quite simple through pacman or pamac.

The goal is simple, to have a visual representation of your installed packages and their dependencies. for more information and how to use it consult the repo

I just typed:

pacwall -D -S 1920x1080

in my terminal to automatically set my desktop wall paper with the corresponding resolution and generate a corresponding .png file in my home directory

It is my understanding that it is possible to change the colors for every type of node and if you’re really into it, you can regenerate the wallpapaper every time a package is installed or removed.

Here’s mine:

Day 13 of

I just felt the need to document my latest Linux issues:

First, some context, I like painting with watercolor and have been doing it for quite a while now but in the last couple of years material such as paper (I used Arches 300g) has become quite expensive, which made me think that perhaps it was about time to go digital.

After buying a cheapo digitizer tablet (a tiny one by the chinese brand Huion) I came across my first issue: doesn’t work “out of the box” on linux (specifically Manjaro); long story short and after some research my eyes came across the DIGImend project, turns out that these guys have been creating drivers for all sorts of digitizer tablets out there and mine was on the list, but it gets better, it is in the AUR! So I was up and running in a matter of minutes.

Now for the software, at the time of writing it has been a week since Krita 4.3.0 was released featuring new watercolor brushes, after looking at some videos on their new YouTube channel I got very interested because Krita can now emulate pretty decent watercolor, so being the impatient FOSS/FLOSS fan that I am, I decided to install the appimage since the official repositories haven’t been updated (again, at the time of writing).

Last, another problem, I though it would be fun to record my screen to document the process, either for my reference or for others (no intention of becoming a content creator though), but after realizing that my first attempt to record resulted in a video that flickered and showed my background at times and further investigation, turns out that recordmydesktop, SimpleScreenRecorder and OBS don’t play well with Gnome3’s window manager (called Mutter if I’m not mistaken). The fix was right in the home page for SimpleScreenRecorder: try removing drivers for 2D acceleration or changing window manager.

Removing xf86-video-intel did the trick and everything works fine now. Working Krita + digitizer tablet + recording setup took some effort but perhaps that is also why I am so satisfied and motivated to paint now, let’s see if my hands can produce some decent artwork, at least testing the watercolor brushes has been fun so far:

Painting

Some links:
Krita 4.3.0 release notes
Troubleshooting SimpleScreenRecorder
DIGImend project