MadCarter's

👊🏼 Desktop Goodness 🎃

gnu and the linux for the win
OpenBox 3 logo
The Magic
Debian - Universal Operating System logo

Debian & OpenBox

Finally hosted on github

This ain't no install tutorial. That said, this abrasive and mostly adequate mess of a page exists to support your wicked new Debian/Openbox Linux desktop, which, I mean; it's hard not to like. Back up your data, should you care, we're gonna install handy function and reliable whiz-bang that coincides with a keyboard driven paradigm mirroring a holistic kinetic effervescence. All that word-salad, lordy. You'll dig it.

Don't let it scare ya, it's only a computer-machine. Bunch of parts packed together with a zillion and 7 ifthenbuts happening ALL OF THE TIME in a heat-regulated enclosure. That's it, really, just ifthenbuts that are on or off and the regulation of such things by other ifthenbuts doing the same. All the words like bus and ram and your mom and hard drive are all just the same words they ever were, like: mount. Heh. I used to love dropping that one in homes after supper building stuff out for folks. Can I say that? Heh, it was always funny.

Behold my outlandish and reliable desktop

This wicked setup employs 2 famously reliable and universally adored open-source projects: Debian (the, ah, OS) and Openbox (the window manager, think Explorer) paired-up with supporting wicked functionality and whatnot that fully takes advantage. It comprises a fabulous desktop paradigm on your workstation, or, whatever. Bespoke; reliable and custom. It's easy-as-cake for you have this, too, because sharing is how we do. Again, this isn't a tutorial, like the Linux I am not here to insult your intelligence. You do the thing because you've the character, or, you don't. Rock on witcha bad self. Do it, though.

Download the supporting stuff first - check those md5s and let's do it real quick, go grab the net-installer iso . Burn it to a USB stick - I (and soon you) have a handy alias for mintstick, which is pretty awesome:

alias burn='sudo mintstick -m iso'

Mine is a typically enough partitioned 1TB nvme drive.

How easy - I got that fancy goodness by typing "lll" into a terminal. Huh. Then I got a menu with W-z and grabbed scrot to select the area for a pic instead of messing with the code to present it here.
my partitions on an nvme drive - debian linux

This particular desktop paradigm employs a butt-load of aliases and keybinds and scripts to present fabulous and easy and it's been running happily on all of my personal machines for years. Decades. Aside from being rediculously fast and reliable it is, alas, equally boring, and, to its end, again; reliable. Yaaaaawn.

Really, I insist that you take a moment to consider how utterly boring and reliable this setup is. It runs forever and never quits and everything works always all of the time. WTF!? I know, weird, right? It's real, though. In fact, until this year, it has been 15 years since I changed anything. I made it all a little prettier this year and am using kitty. I may have added a couple more keybinds and scripts for fun and handy. Them's the big changes, heh.

Go ahead with that USB stick - boot to it, run the installer; I allow root, manual ethernet, targeted kernel, system tools only at software tasksel and for grub: yes, yes, no...reboot.

UPDATE: Not using grub anymore, but, systemd-boot, which is faster, as stable, and I can add kernel boot arguments just as easily. I turned off secure boot in the BIOS to make it easier, but, you can still employ it and use a shim - how-to's abound. Just arrow down to it at that point in the install.

Post install I log in as root to install sudo and aptitude . Then, I run # visudo to add the NOPASSWD:ALL argument to the sudo group members and then I add myself to the sudo group: # usermod -a -G sudo $UNAME. No more password prompts. Many people object to this - pffft, I am the only user on this laptop

screenshot of /etc/sudoers file showing sudo grooup

Following that, log out and back in as regular user and run kevin : $ sudo ~/bin/kevin

You can - wget https://madcarters.com/kevin and then run chmod+x kevin to make it executable

kevin md5: f88f24e60d7c7fed21c11f49aa71730f

Handy focal points for the install

  • - for partitioning use guided and encrypted if a new drive unless you've reasons
  • - allow root
  • - manual IP addy on ethernet when networking pops up
  • - targeted kernel
  • - choose only system tools for software at tasksel
  • - yes grub: yes, yes, and no which would be the defaults
    (Instead of grub, maybe arrow down and try systemd-boot, it's pretty great)

Installing with kevin is a one-shot thing, run it, go touch grass for 6 minutes, and come back to a done-deal. You can type startx, enter and log into an empty black mess - unless you downloaded the handy files I have provided here to support this endeavor. Ha! When I reinstall my system with the same user account I immediately enter into 'startx', my pretty desktop, after kevin finishes because my .profile file says to and I have a configured .xinitrc. It will happen with you, too.

Supporting files now hosted at github

.config    extract dir to ~/.config

Here is a terrific weather script that I use all the time. It pipes to an openbox menu, too, if you're into that. Looks great in the terminal weather script (now included with bin scripts) get your city ID at openweathermap.org - search city and you'll see the city code in the URL

Theme Nordic, Nord-Openbox, Obsidian-Gray (sic)

I use a handy desktop wallpaper script , too, that puts a different image on each virtual desktop. Love it. Requires 2 files which are now included: 1 in the config archive and the other in the bin archive. All you gotta do is edit: ~/.config/wallpapers.cfg to point to your images. Check it out.

Have a look at the structure of supporting files, where they go. You will only have to make the ~/bin directory.

~/

.bashrc

.bash_aliases

.bash_functions

.profile

.xinitrc

.bashcolors

.gtkrc-2.0

.fehbg

~/.config
fastfetch/
Thunar/
  uca.xml
lxpanel/
kitty/
wallpapers.cfg
starship.toml
obsession.conf
openbox
  menu.xml
  autostart
  rc.xml

~/bin

kevin

obamenu.py

procinfo.pl

Originals
places-pipemenu

recent.sh

pick.sh

waldesk

datemenu.py

mkpwd.sh

frank

resz

color.sh

lscolors.sh

~/Downloads

kitty/

debian-openbox-small/


~/.local/share

scripts/


I put a README.txt file in a couple of the downloads for clarity

Wait, though, there's more

Some of the handy 'inside the box'


handy aliases

#------------------------------------------////
# Package Management:
#------------------------------------------////
alias sources='sudo x-text-editor /etc/apt/sources.list'
alias deb='sudo dpkg -i'
alias show='aptitude show'
alias list='dpkg -L'
alias cpf='sudo aptitude clean && sudo aptitude purge ~c && sudo aptitude -f install'
alias remove='sudo apt-get remove --purge'
alias install='sudo aptitude -y install'
alias apps='sudo synaptic'
alias search='aptitude search'
alias update='sudo aptitude update'
alias upgrade='sudo aptitude full-upgrade'
alias updoogie='runwithfeedback upgrading upgrade'
alias devs="aptitude -F '%p' search '~i -dev$'"
alias devsizes="aptitude -F '%I %p' search '~i -dev$'"
alias otto='sudo apt-get autoremove'

More good

function hg() { history | grep "$1"; }

function cl() {
DIR="$*";
# if no DIR given, go home
if [ $# -lt 1 ]; then
DIR=$HOME;
fi;
builtin cd "${DIR}" && \
# use your preferred ls command
ls -F --color=auto


function myps() { ps $@ -u $USER -o pid,%cpu,%mem,bsdtime,command ; }

Yabbah


$ cfp - clean's up packages
$ nap - suspends they system
$ weather - all of it
$ src - sources .bashrc
$ obr - reconfigs & restarts openbox

Keybinds


W-Z - custom main menu
W-L - locks the desktop
W-S - screenshot menu
Print - xfce4-screenshooter
W-A - Audacity, playing
W-P - Pianobar, playing
W-B - Firefox
W-F - x-file-manager
W-E - x-text-editor
W-T - x-terminal-emulator
W-G - Nexuiz
W-M - Claws-Mail
W-H - htop
W-I - yad icon browser
W-K - KeepassXC
W-W - LibreOffice Writer
W-R - ssr, recording
C-A-P - flick picker