tutorials – eirenicon llc https://eirenicon.org Working together for success! Sun, 11 Feb 2024 15:21:15 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://i0.wp.com/eirenicon.org/wp-content/uploads/2019/03/cropped-eirenicon-1.png?fit=32%2C32&ssl=1 tutorials – eirenicon llc https://eirenicon.org 32 32 61586100 spectrwm- Review & Tutorial https://eirenicon.org/spectrwm-review-tutorial/ Sat, 10 Feb 2024 16:32:56 +0000 https://eirenicon.org/?page_id=3818 Revision Dates:

11 Feb 2024


This posting is intended to function not only as a tutorial but, also, as a review and commentary on my ‘long-term’ use of spectrwm as my primary window manager (long-term, meaning at least one month of daily use).

Included in this post will be my lessons-learned, dotfiles, etc.

Note:
The materials contained in this article will be updated on a semi-irreglar basis.

To quote from the spectrwm github site:

“spectrwm is a small, dynamic tiling and reparenting window manager for X11 [no Wayland here]. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults, and it does not require one to learn a language to do any configuration. [Note: true enough, but in certain areas, mind reading skills seem to be required in order to figure things out and make them work correctly.]

spectrwm is written by hackers for hackers, and it strives to be small, compact, and fast.

spectrwm was largely inspired by xmonad and dwm.

…in classic OpenBSD fashion (put up, or hack up), a brand new window manager was whooped up to serve no other purpose than to obey its masters.”

GitHub

Given you are reading this on the eirenicon.org website, I am guessing that you might appreciate my opinion on the above. I generally agree.

spectrwm is a useful, unique, fast tiler. Much like dwm, i3wm (SwayWM) and hlwm, I find it enjoyable. After a lot of hacking around, I have cobbled together a spectrwm ‘setup’ that seems to meet my ‘fancy’. I will provide all my edited spectrwm related dotfiles (my cobbling) in this article. Given I am planning on using my arrangement as my primary desktop, for at least a month, I will continue to capture and share what I learn, to save my ‘little grey cells’ and help others on their journey.

What follows is an image (proof-of-life) screenshot. Briefly, the image highlights two menus (dmenu & j4-dmenu-desktop); xfce4-terminal screen running pfetch; polybar panel with systray; a yad pop-up displaying keybinding short-cuts; Debian sid/trixie use; 10 available/used workspaces; and, an unsplash wallpaper.

FWIW: the color-scheme in use is ‘everforest‘ with Papirus-Dark icons (colored bluegrey).

To begin with, I will share how I built my ‘setup’. As always, everything I have constructed is here for the taking. My dotfiles, scripts, etc. are , also, probably worth what you will pay for them… See my guarantee at the bottom of the page.

Installation

Installing spectrwm is quite straightforward. Getting the version I use, may be a bit more challenging I am not certain that version 3.5 has been migrated through to Debian stable. It had not been there the last time I looked. If you are running on Debian Sid or perhaps even Debian test, you may be able to use the following command to install spectrwm, remember to use either sudo or doas (depending on your setup).

sudo apt-get install spectrwm

Beyond that you will likely need the following items, if you don’t already have them installed. Again. this is a simple listing of a few tiny scripts that you can cut & paste into your terminal:

Helpful if you plan to use Trixie/ Sid:
sudo apt install libavcodec60 libavcodec60 libavformat60 nala mousepad

Other useful apps (you may need others):
sudo apt update && sudo apt install catfish debhelper diodon dnsmasq fakeroot ffmpegthumbnailer file-roller feh fonts-hack fzf gcc geany geany-plugins git glances htop i3lock-fancy j4-dmenu-desktop jgmenu libx11-dev libxft-dev libxinerama-dev lm-sensors lxappearance make mate-power-manager mousepad nala neofetch nitrogen nmon nsxiv pamixer pasystray pnmixer polybar powertop rofi ranger rxvt-unicode sxhkd slick-greeter stacer synaptic thermald thunar tlp udiskie wavemon wmctrl xautolock xcompmgr xdo xdotool xfce4-screenshooter xorg wget yad

What follows are essential items that you will need. You may implement these as I will as I suggest or find a more comfortable way that appeals more to your style/ preferences.

First & foremost, spectrwm requires a config file. I will include the one I use. This files needs to be named .spectrwm.conf It will be stored as a hidden file (when correctly named as .spectrwm.conf) and is best when it is located in your $Home directory.

Here is a copy of the file I use (at this writing)

Because I tend to share much of my x11 configuration among multiple window managers, I tend to store those shared functions via .xessionrc (if I am running on arch, I place the identical content in .xprofile). The extracted file (from below) needs to also be placed in $Home.

A copy of my .xsessionrc (.xprofile) file is available via this link.

The next build requirements are for a panel bar (top bar). I use polybar for mine, but you have the option to use spectrwm’s own panel or conky (conkybar). Rather than pointing to my polybar (config), I will provide links to where you can access further information on the various easy (?) to use options. Should you really want my polybar config, use the contact page to request a copy. :

Overall comments

General observations about living with and using spectrwm include:

  • I have never actually tested speed, but spectrwm seems very spritely (fast). It seems every bit as fast as dwm, hlwm, i3wm, bspwm… If you look below to review my config, you will note that my hardware is not ‘exactly’ a good platform for discriminating marginal ‘lower’ level performance.
  • Memory use is, also, in roughly the same arena as the other tilers I use.
  • The spectrwm workflow is unique. It took me awhile to become acquainted with the standard flow and gain comfort in using spectrwm (see ‘Downside(s)’ below). I did have to bend, fold, and spindle the environment a bit (but then they claim to be for hackers. Well I hacked. I now class myself as a genuine spectrwm ‘fan’.

Downside(s):
(Work arounds/ hacks for Conky, panel, and color issues are included in the dotfiles available in this posting)

  • Conky: I find that I miss being able to use all of conky’s desktop features. Because I am unable to use conky for the Desktop display of my keybindings, I have had to provide new/ different Keybinding memory aid (via yad). Being able to run conkybar is nice, but it is just not the same as running everything conky is capable of…
  • Transient Errors: There seem to be some peculiar transient video and keyboard related errors that appear in spectrwm running Firefox. I ‘sometimes’ lose keyboard access and/or get flickering pop-ups (right-click menus flickering in & out). I can not determine the actual cause of these ‘glitches’ nor determine if the cause is either with spectrwm or Debian sid. Such is life on the bleeding edge of Debian.
  • Native spectrwm panel: Honestly, I find the native panel too troublesome and limited to use. The friendly (not!) scripting for the native panel is in places (like formatting & colors) all but incomprehensible. Having stumbled upon ways to use either polybar or conkybar have made spectrwm much more friendly and usable to me. Such is my opinion.
  • Color specification in the configuration file. Why in the world does the color scheme have to be so unique and uncommon? I finally have it working, but getting the colors tweaked has be an absolutely unnecessary chore (come on guys, use hex colors.) I know this is a personal problem. I’m over it now and you can see the results in the provided .spectrwm.conf dotfile available here.

The future:

I do not have any insight into where spectrwm is headed. It seems that spectrwm’s future in the Wayland world is a mystery. I have hunted for information on future plans, to no avail. Perhaps, you have something to share that you have discovered?!?!


inxi -F (system specs under test)

System:
Host: debian Kernel: 6.6.13-amd64 arch: x86_64 bits: 64
Desktop: spectrwm v: 3.5.1 Distro: Debian GNU/Linux trixie/sid
Machine:
Type: Laptop System: Dell product: Inspiron 16 5620 v: N/A
serial: <superuser required>
Mobo: Dell model: 0R665T v: A00 serial: <superuser required> UEFI: Dell
v: 1.17.0 date: 09/19/2023
Battery:
ID-1: BAT0 charge: 55.8 Wh (100.0%) condition: 55.8/54.0 Wh (103.2%)
CPU:
Info: 10-core (2-mt/8-st) model: 12th Gen Intel Core i5-1235U bits: 64
type: MST AMCP cache: L2: 6.5 MiB
Speed (MHz): avg: 445 min/max: 400/4400:3300 cores: 1: 400 2: 583 3: 557
4: 611 5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400
Graphics:
Device-1: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics] driver: i915 v: kernel
Device-2: Microdia Integrated_Webcam_FHD driver: uvcvideo type: USB
Display: x11 server: X.Org v: 21.1.11 driver: X: loaded: modesetting
unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1920x1200~60Hz
API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.5-1 renderer: Mesa Intel
Graphics (ADL GT2)
Audio:
Device-1: Intel Alder Lake PCH-P High Definition Audio
driver: sof-audio-pci-intel-tgl
API: ALSA v: k6.6.13-amd64 status: kernel-api
Server-1: PulseAudio v: 16.1 status: active
Network:
Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi
IF: wlp0s20f3 state: up mac: a0:59:50:14:86:06
Bluetooth:
Device-1: Intel AX211 Bluetooth driver: btusb type: USB
Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: not found
rfk-block: hardware: no software: no address: see --recommends
RAID:
Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
Drives:
Local Storage: total: 931.51 GiB used: 647.24 GiB (69.5%)
ID-1: /dev/nvme0n1 vendor: Kingston model: SNVS1000G size: 931.51 GiB
Partition:
ID-1: / size: 915.53 GiB used: 647.21 GiB (70.7%) fs: ext4
dev: /dev/nvme0n1p3
ID-2: /boot/efi size: 299.4 MiB used: 27.6 MiB (9.2%) fs: vfat
dev: /dev/nvme0n1p1
Swap:
Alert: No swap data was found.
Sensors:
System Temperatures: cpu: 44.0 C mobo: 43.0 C sodimm: SODIMM C
Fan Speeds (rpm): cpu: 2908
Info:
Memory: total: 24 GiB note: est. available: 23.17 GiB used: 4.35 GiB (18.8%)
Processes: 287 Uptime: 1h 41m Shell: Zsh inxi: 3.3.33

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

If you have insights on your spectrwm journey(s) to share with our readers, please use the contact page on this site to let me know.


]]>
3818
Alpine Linux https://eirenicon.org/knowledge-base/alpine-linux/ Sat, 06 Jan 2024 14:52:41 +0000 https://eirenicon.org/?page_id=3773 If you are looking for a tiny footprint, secure, Linux (UX) OS, Alpine Linux may be the ticket. Even I have been able to successfully install Alpine in a virtual machine environment. Currently, I am running Alpine in gnome-boxes running on EndeavourOS.

Here are the installation instructions I followed. Follow them closely (perfectly & correctly).

How to Install Alpine Linux (Linuxiac)

The install is as easy as Arch…. easier than Void (in my experience). I installed the ‘hefty’ 200MB version.

Here is the Alpine Linux Download page.

My intention is to expand this page into a tutorial, or perhaps more than one tutorial. Expect the url, etc. to change (morph) over time.

Should you have Alpine Linux learnings you wish to share/ contribute, please use our Contact Page to let me know.

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!
]]>
3773
Xorg – Wayland Transition Thoughts… https://eirenicon.org/2023/12/13/xorg-wayland-transition-thoughts/ Wed, 13 Dec 2023 14:41:28 +0000 https://eirenicon.org/?page_id=3692 Revisions:
Initial Draft: 13 Dec 2023
Revised Draft: 14 Dec 2023

This document is yet another one of those I plan to update periodically. We’ll see how that goes.

Merchants Hotel ~1925 Wayland Iowa
Merchants Hotel ~1925 Wayland Iowa

As has become evident from other recent posts I have made here, I am attempting to ‘tough my way through’ a transition from Xorg to Wayland (not the town in Southeastern Iowa). What I can say, unequivocally, is that there is no single, simple, straightforward transition. This is especially true for those of us who like to run multiple desktop configurations. For those happy to work in a more homogeneous setup such as running gnome, kde, or xfce, the challenges will not be as great as they are for folks who run using dwm (to dwl), openbox (to labwc or waybox), and i3wm (to swaywm) on Debian.

In the future, the following issues will need to be addressed ‘permanently’, in one manner or another. For now however, here are some of Wayland’s problem ‘children’ along with some simple, reasonably safe ‘fixes’ for major problems.

By way of full disclosure, I am working primarily on Debian. There are a host of mainline distros I do NOT work on. Therefore, my observations are incomplete and may miss important information that you, on your environment, need. Please, remember to to search the web for further information…

Luckily, I have found a pretty decent solution for those x11 applications requiring root privileges to perform (read these applications normally need polkit to run). The following applications seem to work well and safely when invoked via terminal using “sudo -E”. The “sudo -E “applications I have currently identified (and use regularly) include:

  • synaptic
  • thunar (as root)
  • nemo (as root)
  • pcmanfm (as root)
  • gparted

Here are a few additional items that my research indicates are currently “less” solvable, perhaps even insoluble absent drastic change.

There is no single Wayland-wide method for addressing the identification of active running applications and their respective Desktop/ Workspace. What that means is that just because you can accomplish this on SwayWM does not mean you can solve the same problem, the same way with labwc or River or hyprland or…. (that’s the bad news). The better news is that there are numerous tools that are able to provide partial solutions, such as the following incomplete list:

  • swaymsg (Sway specific)
  • Waybar (best on Sway)
  • swfbar (best on Sway and hyprland)
  • yatbfw (labwc and others?)

A corollary to the above is that waybar, swfbar, yatbfw do not run offering the same features and in the same manner on different Compositors (Desktops). Some run quite well on one or more compositors others may be all but Compositor specific. The same applies for other tools like swaymsg. It is frustratingly variable. Be advised.

Here are tools/ approaches you can use to identify and then address those on your installation(s). For those without solutions, simply be advised the difficulties ‘may be there’ and could cause trouble.

Obviously, I will never identify all the Wayland/ x.org compatibility difficulties/ problems.

How to determine whether an application is running using Wayland (native) or via ‘compatibility mode’ using xwayland, etc.

Background information (some recent articles comparing x11 and Wayland)

The links below are not overly ‘shrill’. Be careful because some information on this topic can become reminiscent of systemd vitriol.

Window Decorations (Borders)

Many (most?) compositors attempt to tell windows not to draw their own decorations and this works for many (most?) applications, but the protocols for doing so are not yet standard or universally supported. As you would expect some windows still draw their own. For now, there’s probably nothing you can do about this ‘problem’, but (for you optimists out there) this is likely to improve in the future, or maybe not.

Lastly, it is worth noting that not all Wayland Compositors (Desktop Systems) operate equally well on all distros. If you are an intrepid Wayland adventurer, the best distros (those offering the broadest number of Wayland Compositors- Desktops) seem to be Arch and Void. Debian/ Ubuntu offer among the fewest.

Compositor (Desktop) Dev-teams

The stability, consistency, and robustness of Compositor development/ support teams is hugely ‘variable’. Be advised that many ‘other’ teams either have evaporated into the ‘ether’ or are operating on a shoe-string. Still other teams are robust (even ‘huge’) and appear to be relatively ‘resource rich’.

Going forward into the future, be prepared for the Wayland world’s many shifts, successes, and failures .

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

Image Credits:

Xorg: User:Sven, CC BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/, via Wikimedia Commons
Wayland: Kristian Høgsberg, Intel Corporation, Benjamin Franzke, Collabora, Ltd., Red Hat, Public domain, via Wikimedia Commons

]]>
3692
labwc- A journal, a tutorial? https://eirenicon.org/2023/12/08/labwc-a-tutorial/ Fri, 08 Dec 2023 15:58:07 +0000 https://eirenicon.org/?p=3640 8 Dec 2023- Original Rough DRAFT
9 Dec 2023- Revision 1 of the Draft
11 Dec 2023 – Revision 2 of the Draft

This is a work-in-progress (updates will occur, as I remember to write them). Be AWARE, labwc is fragile. It breaks quite seriously and without much warning and few error detection assists (that I can find or understand) are provided. Use it at your own Risk.

None of this is to say that you should avoid trying to make labwc function, please do; such is the opensource community. Without us, no one will know what ‘needs doing’. By all means jump in and help find the problem areas. Now… on with the show.

There are two pretty ‘straight forward’ method for installing labwc on Debian (sid). I am only testing on sid; thus, you may need to run the meson install method if you are on Debian Stable or some other distro altogether.. Here is a link to the labwc Github page for Build & Install instructions/ guidance. If you are using Debian Sid, here’s a link to the Debian labwc package page. I personally use the following from my terminal (foot) on my SwayWM desktop.

sudo apt install labwc

Next you should make certain that you have the appropriate labwc config files. These seem to mirror those from Openbox. Instructions on how-to get these setup are available from Github. Further clarification and explanation is available on the “Getting Started” page. Reading the aforementioned page provides invaluable insight(s).

Either of the Debian based options work quite smoothly. After you have the Config setup (in basic form) I recommend you reboot. Once your reboot is complete and you login, you even get something akin to a Desktop. Pretty skinny, granted. But it is a good point to build from.

Next, you can begin playing with your favorite Openbox config and try deploying them on labwc. I do this in a step-wise fashion. Below is a current screenshot.

Themes especially for stacking window manager style Desktops are nice to have. Here is a recommended collection. To review and learn about all labwc theme options, see labwc-theme(5) or the themerc example file. Caveat: I have NOT tried using all these themes.

Now for a treasure trove of pre-built themes:

No matter the theme(s) you choose, place them in ~/.local/share/themes/

On Github, johanmalm provides a listing of suggested apps for use with labwc. I have annotated his list with the tools I use (my choice of tool(s) appears in parens.):

Additional tools I use include:

  • file manager: thunar (for root functions I use sudo -E thunar )
  • email: (Thunderbird)
  • software: ( I use synaptic called from terminal via sudo -E synaptic or nala/ apt used normally)
  • browser(s): (Firefox, Microsoft-Edge-Beta)
  • terminal: ( foot )
  • wallpaper changer: ( setwall )
  • I have changed from wofi to a rofi-wayland fork (which runs on both x11 and Wayland), “almost” accurately. Where it has difficulty is in showing all active Wayland/ Xwayland running applications under to command rofi -show window. It is better than nothing (since wofi doesn’t work at this task either), but not by much.

Sad (troublesome) items

Here are some features that are not yet ready and these omissions may make your move from Openbox disappointing. They make mine difficult.

  • Debugging Problems. I find it very difficult to debug errors. When errors occur they are often catastrophic and debug tools are not obvious, to me.
  • Workspaces. They simply are not handled in the same manner as they are on Sway nor do they function like they did using ewmh on Openbox. Here’s the thread highlighting the issue. More posts are available on the web, should you need them. I have found what might eventually be a useful tool, sfwbar. Perhaps, you can make it work better than I am able.
  • Keybinding tools sxhkd/swhkd. Neither seems to be described anywhere I have looked. Thus defining keybindings is a unique and time consuming event, manually needing to built and codified in rc.xml.
  • It is probably worth noting that keybindings are, also, different from Openbox, albeit only slightly.

A word of Caution (because I have now been caught twice unprepared): Be extremely cautious of any updates you might make. Be absolutely certain you are able to roll back to a previous state. Even little (tiny) mistakes can be a cause for a complete rebuild.

More to come as I progress and gather my notes…

Contact me directly with ideas, questions, comments.

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!
]]>
3640
Memory Use (RAM)- A Brief (Biased?) Comparison https://eirenicon.org/2023/07/23/memory-use-ram-a-brief-biased-comparison/ Sun, 23 Jul 2023 12:23:01 +0000 https://eirenicon.org/?p=3517 I have recently changed my primary laptop’s OS to run Debian Trixie/Sid (BearDog Distro) with Liquorix 6.4. I, also, have added some new Window Managers (WMs) to my single-user space including one non-x11 based Wayland WM- SwayWM.

Given the amount a of change to my environment plus requests from my readers, I have decided to run a memory test to get a rough idea of memory consumption (use).

Be aware this is not a scientific or thorough, rigorous test. It merely provides me with an indication of my various environments.

Other items of interest, perhaps. Aside from Openbox which I have modified to run as a simple manual tiler, all of my WMs are native tilers. Each WM runs the exact same suite of applications on x11; SwayWM runs analogous functions (not applications) on Wayland. Not all my application and application functions are capable of being run on Wayland.

NB.: Dropbox is shown because it runs at login and is a large contaminant in terms of memory utilization on each window manager (setup).  If you do NOT use Dropbox you should expect your idle memory use to be lower than my total by some 600MB.

Given the above robust list of caveats, here are the results of my simple test:

Window          RAM        DropBox
Manager         (MB)         (MB)

BSPWM           1597           587             x11
DKWM             1596           594            x11
DWM               1650           593            x11
HLWM             1629          591             x11
i3WM               1639           586            x11
Openbox         1731            625            x11
SwayWM         1656           568            Wayland

Here are the particulars of my laptop (under test), the following command (inxi -Fxz in terminal) was run on my i3WM.:

System:
Kernel: 6.4.4-1-liquorix-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.3.0
Desktop: i3 v: 4.22 Distro: Debian GNU/Linux trixie/sid
Machine:
Type: Laptop System: Dell product: Inspiron 16 5620 v: N/A
serial: <superuser required>
Mobo: Dell model: 0R665T v: A00 serial: <superuser required> UEFI: Dell
v: 1.7.0 date: 08/15/2022
Battery:
ID-1: BAT0 charge: 55.8 Wh (100.0%) condition: 55.8/54.0 Wh (103.2%)
volts: 17.0 min: 15.0 model: ATL DELL CFD7224 status: full
CPU:
Info: 10-core (2-mt/8-st) model: 12th Gen Intel Core i5-1235U bits: 64
type: MST AMCP arch: Alder Lake rev: 4 cache: L1: 928 KiB L2: 6.5 MiB
L3: 12 MiB
Speed (MHz): avg: 2287 high: 2500 min/max: 400/2500 cores: 1: 1210 2: 2500
3: 1240 4: 2500 5: 2500 6: 2500 7: 2500 8: 2500 9: 2500 10: 2500 11: 2500
12: 2500 bogomips: 59904
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics] vendor: Dell
driver: i915 v: kernel arch: Gen-12.2 bus-ID: 0000:00:02.0
Device-2: Microdia Integrated_Webcam_FHD driver: uvcvideo type: USB
bus-ID: 3-6:4
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915
resolution: 1920×1200~60Hz
API: OpenGL v: 4.6 Mesa 23.1.3-1 renderer: Mesa Intel Graphics (ADL GT2)
direct-render: Yes
Audio:
Device-1: Intel Alder Lake PCH-P High Definition Audio vendor: Dell
driver: sof-audio-pci-intel-tgl bus-ID: 0000:00:1f.3
API: ALSA v: k6.4.4-1-liquorix-amd64 status: kernel-api
Server-1: PipeWire v: 0.3.74 status: active
Network:
Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi v: kernel
bus-ID: 0000:00:14.3
IF: wlp0s20f3 state: up mac: <filter>
Bluetooth:
Device-1: Intel driver: btusb v: 0.8 type: USB bus-ID: 3-10:5
Report: hciconfig ID: hci0 rfk-id: 0 state: up address: <filter>
RAID:
Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
v: 0.6 bus-ID: 0000:00:0e.0
Drives:
Local Storage: total: 931.51 GiB used: 702.7 GiB (75.4%)
ID-1: /dev/nvme0n1 vendor: Kingston model: SNVS1000G size: 931.51 GiB
temp: 38.9 C
Partition:
ID-1: / size: 915.53 GiB used: 702.7 GiB (76.8%) fs: ext4
dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 299.4 MiB used: 428 KiB (0.1%) fs: vfat
dev: /dev/nvme0n1p1
Swap:
Alert: No swap data was found.
Sensors:
Src: /sys System Temperatures: cpu: 39.0 C mobo: 40.0 C sodimm: SODIMM C
Fan Speeds (RPM): N/A
Power: 12v: N/A 5v: 5 3.3v: N/A vbat: N/A
Info:
Processes: 268 Uptime: 45m Memory: total: N/A available: 23.17 GiB
used: 2.67 GiB (11.5%) Init: systemd target: graphical (5) Compilers:
gcc: 13.1.0 Packages: 2285 Shell: Zsh v: 5.9 inxi: 3.3.28

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

]]>
3517
SwayWM on BearDog (Debian) & EndeavourOS (Arch) (tutorial) https://eirenicon.org/knowledge-base/sway-on-debian-arch/ Tue, 18 Jul 2023 23:11:35 +0000 https://eirenicon.org/?page_id=3476 revised:

1 Jan 2024
2 Dec 2023
20 Jul 2023
22 Jul 2023

Lately, I have taken the time to see how SwayWM/ Wayland might function for me (and you?). I began on a Debian based distro, specifically BearDog.  Now that I have managed to create a functioning reasonably ‘stable’ installation, I thought I’d provide the results and specifics of my discoveries.

As noted above, I believe my environment is now quite stable. I have been running SwayWM for over a month on both Debian (BearDog) and Arch (EndeavourOS). 

TL;DR: Based on my past experiences, I can confirm that SwayWM seems, based upon my usage, to run well on both Arch & Debian (Sid/ Unstable).

I have settled on Arch as my preferred platform, simply because I prefer running on a more reliable rolling release base.  Debian Sid has experienced some peculiar faults/errors over the last few weeks; although none seem linked/ related to  running SwayWM/ Wayland, they ‘got in my way’.  

For that reason,  EndeavourOS simply has functioned better for what I want and how I prefer to do ‘things’.

The following are my SwayWM & Wayland Notes

General:

Debian seems quite resource poor (almost impoverished) in the Wayland/ SwayWM ecosphere, although in recent months that appears to be on the mend (somewhat). The most resource rich distros include: Arch, Void, Gentoo, even ‘tiny’ Alpine seems to have more.  A corollary to this would suggest those distros might be good places to seek help, ideas, tools, etc.

In this tutorial, I will present some of the workarounds I have unearthed in order to over-come challenges and frustrations, I encountered. I think (hope?) I have kept track of the most important info and shared it here.

IMHO. It is “not super easy” but it IS possible to make Wayland/ SwayWM into a fully functional, rewarding computing environment. The environment I have, thus far created, I find enjoyable to use. Almost certainly Wayland is not as rich an environment as x-windows offers; but, it is fun, aesthetically pleasing and usable.

SwayWM, Wayland, Waybar, Conky (x2), Yad, Rofi all on Debian Sid/Trixie

Here is a requisite screenshot. The image displays SwayWM, Wayland, Waybar, Conky (x2), Yad, Rofi all on Debian Sid/Trixie.

Other Wayland information resources:

It all began on BearDog (Debian)

Be advised, I began by running SwayWM & Wayland on Debian Sid/Trixie. The reason for the Sid/Trixie choice is my preference for having and using current software. Tools such as SwayWM and Wayland are in active development; which means they change frequently. Should you elect a different platform, your mileage may vary…

Installing the basic Wayland/ SwayWM base is pretty straight forward. I followed the guidance on this page in the Debian wiki.  As for Arch, here is a link to Colin Woodbury’s tutorial which I used to help with my EndeavourOS install. 

FWIW. My i3wm setup was NOT in any way drop-in compatible with SwayWM. I run both regularly and they ‘are’ different.  Apparently, I have much too much going on in my i3wm install to make any port seemless.

Compatibility between my i3wm and SwayWMis all but non-existent.  I ultimately elected to find a clean SwayWM install and then tweak it to fit my needs. I elected to use the EndeavourOS Sway Community edition as my base. Thank you everyone at EndeavourOS!

My tweaked version, which is by now quite different from that on EOS, is that offered above.  (I’ll attempt to keep the dotfiles current.)

I have augmented what I learned on the above pages creating the following instruction document. Be advised this works for me, I can only hope it works for you, too. (See my warranty at the bottom of the page).  Here is a link to my  SwayWM-Wayland Dotfiles (I have successfully tested and use these dotfiles on my EndeavourOS base (Arch).)

The Journey

Below are the component parts I have tweaked, hacked, revised and bent to my preferred approach, such as my skills allow.  You may certainly use my code base or EndeavourOS’, which is available here and is minus my changes offered at the link above) or…

All of the folders, you wish to use, should be placed in your $Home/ directory. There are materials that will be placed in the following hidden directories:

  • .config
  • .conky
  • .local (the full path will be .local/share/scripts)

Remember: my dotfiles will only work after you have installed SwayWM and Wayland on your system. AND, I apologize in advance for any materials I may have forgotten to put in here. Use our Contact Page to let me know if you need something I may have omitted.

SwayWM-Related Folders

These are most, if not all, of my ‘dotfiles’.

Keep in mind I will continually (assuming I remember) drop new versions of my ‘stuff’ here for you to use.  You should fully expect to modify and enhance what you find here, to suit your needs. This IS NOT a guaranteed clean install. (See my Warranty below)

Terminal Option(s)

I have elected to use foot as my primary Wayland/ SwayWM terminal. Why? Because, it is light, fast, and easy to tweak.  Sadly, it does not run on X11 (or I’d consider using it everywhere).

If you are seeking a terminal that is flexible & reasonably light to use on both X11 and Wayland, I recommend xfce4-terminal. It works amazingly well on both x11 and Wayland; plus, xfce4-terminal is able to support geometry and position settings.

However, you are, certainly, able to find other fancier, cooler, trendier terminals should you choose to do so.

Transition Challenges

Because of an over abundance of x-windows application experience, I have encountered awkward transitions to new methods of working. Think square peg, round hole. Here are a few examples where I am reluctant to perform back-flips in order to accomplish tasks.

Various items (software apps) that are not yet ready for Wayland (Root privs).

  • First and foremost, be aware you need to install a polkit (such as lxpolkit-polkit) for the following fix(es) to work.
  • In the Debian universe Synaptic is pretty important. Sadly, Synaptic is one of those problem children. If you wish to use it, Synaptic is best called via terminal for security reasons. The command line is “sudo -E synaptic”.
  • Thunar Open as Root does not work in Wayland. If you wish to Open Thunar as Root via terminal. The command line is “sudo -E thunar”.
  • The same applies to Nemo. Nemo Open as Root does not work. Open Nemo as Root via terminal. The command line is “sudo -E nemo”.
  • The same applies to Gparted. Open Gparted as Root via terminal. The command line is “sudo -E gparted”.

Synaptic

I have been reliant on this Debian package management tool for more than 20 years… Debian, unlike ArchLinux, does not offer the wealth of package managers and approaches. Luckily, I dug up an approach to rescue & use synaptic. I know this weird hack has risks (the preferred approach involves using sudo -E, noted above) …

Here is another approach you may be able to live with (source: Reddit

My read (FWIW) is that the above approach is both more difficult and less reliable than simply opening an offending app via command line in terminal using sudo -E.

Xwayland

In an effort to get a “goodly number” of x-windows applications to run under Wayland, I installed Xwayland. It is not difficult. You simply install Xwayland in order to achieve a degree of  native x-window (x11) application compatibility.

CAVEAT: It is always better to use a native Wayland application, if you can find one. Xwayland (and QTwayland for that matter) are simply temporary solutions.

QTwayland

The same situation exists, and can be similarly addressed, for qt applications. (Here is the reference for the following solution.)  The major installation process follows:

  • sudo apt install qtbase5-dev
  • git clone git://code.qt.io/qt/qtwayland.git
  • cd qtwayland
  • git checkout v5.10.0
  • qmake
  • make
  • make install

Random Wallpaper Background

The simplest, closest to ‘nitrogen approach’ I prefer to use in X11, involves installing ‘setwall’. Because setwall is written using rust, you can install it using ‘cargo’. I will try using it (it should work well) on my x11 window manager setups.

Wofi/Rofi

If you are running on Wayland only, wofi appears to be an excellent tool to use.  Unlike SwayWM with i3wm, wofi appears to be compatible with the rofi setups and scripts I use.  However if you run both X11 and Wayland based window managers (like I do), I recommend sticking with Rofi (after you install Xwayland).  It works well, then, in both environments.

Taking Screenshots

In order to take desktop screenshots, I found the following installations were required:

  • install grim (using apt/nala).
  • install grimshot (using apt/nala)

I am considering adding a new (to me), hopefully more approachable screenshot toolset to SwayWM:

My initial read is that sway-screenshot adds a few nice features. But, grim by itself is silent, fast and generates a simple screenshot (entire window), just fine.  Obviously the choice is yours.

Conky

As a huge fan (user) of Conky, I am very pleased to have obtained a guide on how-to install and make Conky run on Wayland. This guidance may be found on the Lilidog Forums from @unklar. I should add that getting Conky to reliably run on both Arch & Debian base distros, required I clean up my conky scripts (massively). A warning to the wise, “Conky will NOT suffer messy code on Wayland. “

Additional ‘frustrations’

There are a few pieces of missing system functionality that irk me.  I know I should be able to survive without these things. I simply do not ‘prefer’ to run minus these functions, every day. Oh well…

  • root level access at the GUI level. This impacts several critical applications including Thunar, Gparted, Synaptic, among others I am certain.

Should you find or know of good ways to address the issues I have noted, please use our contact page to let me know.

Have fun with SwayWM and Wayland. If you have additional tips and pointers you believe I should publish here, be sure to let me know.

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!
]]>
3476
TUI Display Manager for Linux (Ly) https://eirenicon.org/knowledge-base/tui-display-manager-for-linux/ Sun, 26 Mar 2023 14:38:17 +0000 https://eirenicon.org/?page_id=3338 Although no one has ever asked, I have become quite enamored by the look & feel of elegant minimalist Terminal User Interface (TUI) tools. Even if they don’t ‘actually’ run faster, I think they look like they should run faster. The bottom line is I like doing things that please me aesthetically, and Linux let’s me do those. Some people call that type of system tweaking ‘ricing’ their system; I just see it as being fun.

Recently I have switched to a little known but fun Debian-based distro called LiliDog. I use LilDog as a sid (unstable Debian) variant. (Note: For those in who care, sid works like a rolling  release.)

Because I want my Display Manager (DM) to utilize a minimalist TUI style, I elected to implement ‘Ly’ as my DM. For those of you unfamiliar with Ly, here is its GitHub page. Briefly:

Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.

Here is what it looks like (don’t expect Hollywood or Bollywood glitz.)

You may obtain their standard installation instructions on the GitHub page mentioned above. What I have created here is an edited version of the standard instructions with customizations and minor error corrections for use on systemd based Debian distros.

Vanilla Debian based distro (eg. LiliDog) Ly Installation

On Debian-based distros install the following using sudo:

sudo apt install build-essential libpam0g-dev libxcb-xkb-dev 

This should install all Debian required dependencies for you.

From this point, I assume you are using systemd as your init:

  • Clone the Ly GitHub repository:
    git clone --recurse-submodules https://github.com/fairyglade/ly 
  • Change to the ly directory
    cd ly 
  • Compile Ly
     make 
  • Test in the configured tty (tty2 by default) or a terminal emulator (but desktop environments won’t start)
    # make run 
  • Install Ly and the provided systemd service file
     # make install installsystemd 
  • Disable existing display manager (example for lightdm)
     # systemctl disable lightdm.service 
  • Enable ly service
    systemctl enable ly.service 
  • Reboot your system and you should have the newly installed ly display manager.

The above worked for me on a Debian Unstable (sid) Distro (LilDog). As noted earlier, the process I followed is a derivative of that contain on the GitHub page for ly.

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

]]>
3338
Switch to Zsh & Oh-My-Zsh https://eirenicon.org/knowledge-base/oh-my-zsh/ Sun, 26 Mar 2023 13:42:11 +0000 https://eirenicon.org/?page_id=3331 Here’s another piece of shell ‘coolness’… used by this old geek.

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration :

  1. Here is their Website. This site is a full, traditional (yes, elegant) Linux web support, documentation site.
  2. Here is their GitHub page. This page offers excellent instructions on installation and basic use.

Here are reference sites on zsh to help you understand why you might want to use it, rather than something else.

I did a bit of research and based on my discovery(ies) I changed my .profile to reflect a check for bash, zsh or something else, rather than a simple check for bash-only. Here is the reference I followed (it may be wrong, I’m no expert). Anyway it seems to work:

Here’s my revised .profile (use it at your own risk.).

# ~/.profile: executed by the command interpreter for login shells.
# Edited for Lilidog to add /sbin and /usr/sbin to path for shell.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
#if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
# if [ -f "$HOME/.bashrc" ]; then
# . "$HOME/.bashrc"
# fi
#fi

# check if running bash or zsh or something else
if [ -n "$($SHELL -c 'echo $ZSH_VERSION')" ]; then
# assume Zsh
. "$HOME/.zshrc"
elif [ -n "$($SHELL -c 'echo $BASH_VERSION')" ]; then
# assume Bash
. "$HOME/.bashrc"
else
# assume something else
fi


# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi

# include sbin in PATH
if [ -d "/sbin" ] ; then
PATH="${PATH:+${PATH}:}/sbin"
fi

if [ -d "/usr/sbin" ] ; then
PATH="${PATH:+${PATH}:}/usr/sbin"
fi

Here’s a proof of life scrot:

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

]]>
3331
pfetch https://eirenicon.org/knowledge-base/pfetch/ Sun, 26 Mar 2023 13:28:12 +0000 https://eirenicon.org/?page_id=3328 If you are like me and like your terminal to offer some status info, but might prefer something a tad more minimal in use and look than neofetch, I recommend pfetch. pfetch like neofetch is written by Dylan Araps. You can see pfetch GitHub page here.

Here’s an install guide.

I am including a scrot of my st terminal running pfetch on Debian LiliDog. Here is the command added to my .zshrc/ .bashrc file to generate the layout:

PF_INFO="ascii title os host kernel uptime pkgs memory shell editor wm palette" pfetch

Here is a proof of life image:

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

]]>
3328
ascii Terminal Art / Info (Linux) https://eirenicon.org/knowledge-base/ascii-terminal-art-info-linux/ Tue, 21 Mar 2023 14:41:28 +0000 https://eirenicon.org/?p=3318 If you like ascii terminal art (?) here are some entertaining ideas/ links/ guides. ItsFOSS provides some interesting options.

Because not everything can be found in every distribution, I have included pointers where I found some I wanted/ needed, including:

Linux toy: asciiquarium animated

As for terminal status information, I tend to use two tools:

  • pfetch (minimalist)
  • neofetch (more robust)

Feel free to contribute other such useless software that you enjoy….

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

]]>
3318