• 0 Posts
  • 7 Comments
Joined 23 hours ago
cake
Cake day: March 18th, 2025

help-circle


  • Packages in testing get updated at the times that they can and sometimes this messes with other packages. For example I had pithos installed this morning, in trixie. An upgrade removed a dependency so it had to go. In another day or 3 I will be able to install pithos again, no doubt. Running testing when release is within 9 months since sarge and this is the only issue I have seen. Since it resolves itself, I never saw it as a problem.



  • I am responding to you as well as n00bs, or the curious, at large. Debian is your answer, or, fedora and suffer gnome. Following is how I do it.

    Debian trixie

    Above link is the net installer, download it, burn it to a USB nub, boot to it - be connected when you run it. Think about whether you want to allow root (I do, certainly) and how you want your partitions formatted. I use ext4 for my / (root) partition with noatime and discard and XFS for /home with noatime. Ridiculously fast with an nvme drive. Hot damn. I have 32GB of ram so I do not create a SWAP partition. I can suspend just fine.

    When you get to package installation and you’re presented with desktop environments, whatnot - uncheck everything (arrow, spacebar) except system utilities near the bottom…continue the installation, grub options will probably be: no, yes, and if you are not dual-booting, no. Continue to reboot

    after reboot…

    You will be in a tty, nothing but black screen and a login prompt, it’s cool. Login as root, install sudo and aptitude (apt install sudo aptitude), following, run visudo. Add your uname below root near the bottom. If you’re the only one using this machine add like this: <your username> ALL=(ALL:ALL) NOPASSWD:ALL ctrl+x to close, y, then enter. logout.

    Log in as your user. I have a script I run now that installs the apps I use on my desktop - I do not use Gnome or KDE or a desktop environment, but, openbox, instead, for a zillion reasons. Productivity, responsiveness and customization to name a few.

    Here is the script:

    #!/bin/bash
    # Check root
    [ "$(id -u)" -ne 0 ] && { echo "Must run as root" 1>&2; exit 1; }
    
    # Install packages
    echo -e "\e[1mInstalling packages...\e[0m"
    [ "$(find /var/cache/apt/pkgcache.bin -mtime 0 2>/dev/null)" ] || apt update  
    apt -y install xorg openbox lxpanel thunar thunar-archive-plugin intel-microcode claws-mail polkitd xinit intel-media-va-driver-non-free
    apt -y install curl feh bat lsd unclutter numlockx wget whois mesa-utils mesa-va-drivers mpg123 alsa-utils ffmpeg bc jq libnotify-bin mc lshw lsof ncal ncdu inxi psmisc s-tui sed cpufetch dfc sysstat tar unzip zip x11-xserver-utils htop apt-utils at preload pwgen usbutils vnstat xpdf oxygencursors gpicview jpegoptim libimage-exiftool-perl
    apt -y install tango-icon-theme keepassxc lxappearance obsession scrot gvfs-backends arandr menu menu-xdg mesa-utils pnmixer bogofilter bleachbit gifsicle
    apt -y install geany geany-plugins claws-mail-bogofilter lynx alacritty claws-mail-fancy-plugin claws-mail-pgpmime claws-mail-tools claws-mail-pgpinline claws-mail-vcalendar-plugin
    apt -y install rsync xscreensaver gpicview xscreensaver-gl xscreensaver-gl-extra fd-find libxml2-utils starship pulseaudio
    apt -y install meld mintstick ips tldr mpv net-tools neverputt gnome-characters mpv gparted bsd-mailx pkexec xclip gsimplecal
    apt -y install hwinfo iftop imagemagick acpi lm-sensors python3-pexpect preload pwgen s-tui sensible-utils catfish iotop pithos
    apt -y install xdg-user-dirs-gtk xdg-utils xdotool unzip usbutils util-linux vym yelp zenity zip silversearcher-ag galternatives 
    apt -y install planner libreoffice libreoffice-gtk3 xfce4-screenshooter smartmontools screenfetch gimp obsidian-icon-theme orage gmrun synaptic yad zim bashtop grc duf
    

    Save it as a file, make it executable (chmod +x) and run as sudo: sudo ./NAME.sh

    When it’s done you’re fabulous. Log in to the emptiness of openbox by issuing: startx at the command line. Right-click and find the menu.

    Now, openbox uses 3 files: autostart, menu.xml, and rc.xml and it gets better from there in your terminal with a functional .bashrc, .bash_functions, and .bash_aliases. You will likely edit ~/.profile as well to include any bin directories

    # 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
    
    if [ -d "$HOME/.local/share/scripts" ] ; then
        PATH="$HOME/.local/share/scripts:$PATH"
    fi
    

    Of course I have tweaked-out files replete with functionality and customizations. This is a set it and forget it desktop that will remain bullet-proof on Debian. Nothing is free, esp functionality you want/demand - it’s your box on Linux, you will create it.

    I usually install the liquorix kernel, as well, like this, from a terminal, as a regular user:

    curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash

    If you do that, reboot after installing. It’s a modified kernel for desktop use, makes things a little faster, easier. I have a game that plays smoother after I install it and boot to it.

    People ask for easy set-and-forget Linux distributions all the time completely ignoring the fact that the OS they are typically coming from, WIndows, is definitely not. It’s a haughty demand, actually, especially when there are a zillion ways to get set-and-forget in Linux.

    Now, the above script will install a wicked desktop, but, you must edit ~/.config/openbox/autostart and put what you want started when you login in there; for example, I use the lxpanel, unclutter, numlockx, and some other stuff, following are some of those entries:

    sh ~/.fehbg &
    unclutter &
    numlockx &
    lxpanel &
    #orage &
    pnmixer &
    #redshift &
    (sleep 4s && ~/bin/fastcompmgr -o 0.4 -r 12 -c -C) &
    (sleep 4s && ~/bin/frank) &
    (sleep 15s && xscreensaver -no-splash) &
    

    In my ~/.config/openbox/rc.xml file I have some handy keybinds:

    <keybind key="A-F2">
       <action name="Execute">
         <command>gmrun</command>
       </action>
     </keybind>
     <keybind key="W-p">
       <action name="Execute">
         <command>planner</command>
       </action>
     </keybind>
     <keybind key="W-e">
       <action name="Execute">
         <command>x-text-editor</command>
       </action>
     </keybind>
     <keybind key="W-f">
       <action name="Execute">
         <command>thunar</command>
       </action>
     </keybind>
    

    IN ~/.config/openbox/menu.xml I have completely customized it and it’s fabulous - you don’t need an app to do this, just open the file…

    Behold, my menu; I get to it by hitting win+z (rc.xml file entry)

    Here is my menu entry for scrot, that I rarely use because the functions are bound to keys in rc.xml:

    <menu id="scrot" label="Scrot" icon="/usr/share/icons/Dracula/apps/scalable/screenie.svg">
          <item label="click and done" icon="/usr/share/icons/Dracula/apps/scalable/screensaver.svg">
    		<action name="Execute">
    		<execute>
    		scrot -q 100 '%Y-%m-%d_$wx$h_%X.jpg' -e 'mv $f ~/scrots/'
    		</execute>
    		</action>
    		</item>
    		<item label="delay 5" icon="/usr/share/icons/Dracula/apps/scalable/shotwell.svg">
    		<action name="Execute">
    		<execute>
    		scrot -q 100  '%Y-%m-%d_$wx$h_%X.jpg' -d 5 -e 'mv $f ~/scrots/'
    		</execute>
    		</action>
    		</item>
    		<item label="Select Area" icon="/usr/share/icons/Dracula/apps/scalable/shutter.svg">
    		<action name="Execute">
    		<execute>
    		scrot -q 100  '%Y-%m-%d_$wx$h_%X.jpg' -s -e 'mv $f ~/scrots/'
    		</execute>
    		</action>
    		</item>
    		<item label="screen with 20% thumb" icon="/usr/share/icons/Dracula/apps/scalable/silicon-32.svg">
    		<action name="Execute">
    		<execute>
    		scrot -q 100  '%Y-%m-%d_$wx$h_%X.jpg' -t 30 -e 'mv $f ~/scrots/'
    		</execute>
    		</action>
    		</item>
    </menu>
    

    That will get you started - there are so may helpful and useless tutorials out there, you will find a good one.

    Additionally, I am a terminal user because it’s fast and beautiful, esp alacritty and kitty. You may customize each, check this out:

    Or, this:

    I get that not everybody likes to use the terminal as much as I do but I would be remiss if I neglected to bring it up, for its amazing functionality. The bash functions and aliases I use are handy and fast bring me wicked function, I even type: wc to get a gorgeous weather report.

    I left a lot out for you to find. Linux is amazing, as most of us know, but it requires you to work with what is available, or, create it yourself. What is available, however, is amazing and will more than fit your needs. As far as folks complaining about specific apps, please. If blender doesn’t do it for that function you need then don’t use blender, find another way, or stick to windows and make the best of it. Or, change your expectations.

    As far as system snapshots, backing up, stuff like that - there are a zillion ways. I keep it simple and rsync my ~ to a USB nub. Fast and reliable and I’m not adding a bunch of supporting nonsense or overhead to my system. I use firefox and install it with another script:

    #! /bin/sh
    sudo install -d -m 0755 /etc/apt/keyrings && wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null && echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null && echo '
    Package: *
    Pin: origin packages.mozilla.org
    Pin-Priority: 1000
    ' | sudo tee /etc/apt/preferences.d/mozilla && sudo apt-get update && sudo apt-get install firefox
    

    This system can do anything and most of it with keybinds. Most of the apps I use daily can be customized to great affect, as well the desktop. If you want tiling it’s easy enough to install cortile or the like and have at it. Put an entry for it in your autostart file.

    There is a bit more I do like add this to ~/.profile to autostart from startx: [ "$(tty)" = "/dev/tty1" ] && exec startx