I've been toying with the idea of posting something like this for awhile and with the old forums treasure trove of info gone, now it might be a good time for it.

So here is a list of basic changes I make on a fresh Linux install, as well as commands I find useful.

Linux survival guide

Budgie:

When you have more than 2 monitors connected the option to mirror a display goes away.
So you'll need to do something like this. (Yes this has been reported):

xrandr --output DP-1 --mode 1920x1080 --output HDMI-1 --mode 1920x1080 --same-as DP-1

Note you'll need to run xrandr, identify which monitor is which to ensure you mirror the correct one.
This is not persistent, it will need to be run after every boot, so you may want to add this command to autostart.

Want thumbnails for videos within Nautilus (Files)?
sudo eopkg it ffmpegthumbnailer

Plasma (KDE):

You can not span a single wallpaper across your monitors, as every monitor is its own workspace.

Solution use imagemagick to split your wallpaper into slices so you can set a different slice per monitor background.
sudo eopkg it imagemagick

I've 3x 1920x1080 monitors so I downloaded a 5760x1080 image. Now I'm going to slice it into 1920x1080 parts.
convert -crop 1920x1080 road.jpg +repage road%d.jpg

Now I have 4 files road.jpg (original) as well as road0.jpg, road1.jpg, road2.jpg

Nvidia

Screen tearing / graphical glitches with NVIDIA GPU's
Note you'll probably want the to enable hardware acceleration in firefox too, discussed in the Firefox section.

Solution: 1
You can enable "Force Full Composition Pipeline" on in nvidia-settings
Watch this video to make sure you save it properly: -

Solution: 2
EDIT: This option has resulted in at least one users system booting to a blank screen, not exactly sure why https://dev.getsol.us/T9543#181324 https://discuss.getsol.us/d/5973-aggregated-510-issues/222. Exercise caution and as always, have a backup of your important files.

NVIDIA PRIME (Laptop) folks may not see this option, do this instead:
echo "nvidia-drm.modeset=1" | sudo tee /etc/kernel/cmdline.d/50-nvidia-drm.conf
sudo clr-boot-manager update

Firefox:

In the URL bar type about:config and press enter, then agree to the accept the risk warning.
Search for and double click these values to toggle (enable / disable) where appropriate.

Enable hardware acceleration in Firefox
layers.acceleration.force-enabled

Enable autoscroll
Use middle mouse button to click and scroll with mouse movement.
general.autoScroll

Disable Firefox Pocket
extensions.pocket.enabled

In KDE is a dark theme causing forms on websites using firefox to be dark?:
Create a new string pref in about:config (right click menu) named widget.content.gtk-theme-override and set the value to a installed light theme (e.g. Breeze), then restart Firefox.

Misc:

Start steam on boot minimized
Enabling start steam on boot from within steam itself will make steam open on screen instead of hiding in traydock. To do this, disable the auto boot from within steam and go to budgie settings > autostart and add a command.

steam -silent %U

Setup zsh with oh-my-zsh:
Use zsh and set agnoster theme for example

Install zsh & git:
sudo eopkg it zsh git

Create symlink for /etc/shells:
sudo ln -s /usr/share/defaults/etc/shells /etc/shells

Install Oh-My-ZSH:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
follow the prompts on screen

Change theme
nano .zshrc
change line beginning ZSH_THEME to look like this ZSH_THEME="agnoster" and save

Reload config.
source ~/.zshrc

SSH Keys:
Create key, on client system:

ssh-keygen -t rsa
Follow prompts and don't set a passphrase.

Copy key to server:
Replace username and ipaddress with the information relevant to your remote system. Login with the password you normally would.
ssh-copy-id username@ipaddress

Now you're done ssh username@ipaddress to test, you shouldn't need to enter a password anymore.

Make logining in to your systems even easier by adding the following alias to the end of your .bashrc (or .zshrc if you use zsh). Replace "myserver" with any unique name you want.
alias myserver='ssh username@ipaddress'

Now you just type myserver and you automatically shell into the server you listed.

Clean up journal logs:
Keep only the last 48 hours worth.
sudo journalctl --vacuum-time=2d

Delete eopkg cached packages:
sudo eopkg dc

Wake On Lan:
Get connection name:
nmcli

Check current status:
nmcli c show "Wired connection 1" | grep 802-3-ethernet.wake-on-lan

Enable Wake on Lan
nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Very basic firewall rules using UFW default rules are deny all incoming and allow all outgoing:
Install UFW
sudo eopkg it UFW

Enable UFW
Note if you are connected to the machine remotely, enabling now will disconnect you.
sudo ufw enable

Allow ssh IN to this machine from a specific local IP address. Limit helps prevent multiple connection attempts from happening too quickly (IP listed in command is just an example).
sudo ufw limit from 192.168.0.5 to any port 22

Or trust your local network (Your local network may be different adjust accordingly):
sudo ufw allow in to 192.168.0.0/24

Delete files matching pattern, recursively from the directory its run from:
find . -iname 'thumbs.db' -exec rm -rfv {} +

Merge external subtitles into mkv container:
sudo eopkg it mkvtoolnix
mkvmerge -o video.mkv -S subtitles.srt

Batch changing of title metadata in a .mkv or .mp4 file to match its filename:
https://github.com/TheHarveyBirdman/rmeta

Sometimes you might have a disk with a bad partition table that refuses to be formatted. Replace XXX with the device id of the drive you wish to wipe. Make sure you know what you're doing or this could end very badly!
dd if=/dev/zero of=/dev/XXX count=1 bs=4096

Backup home folder using rsync
rsync -avh /home/username/ /mnt/backuphdd/backup/

You can add other flags to the command for features such as:

Delete files / folders no longer present in source from /mnt/backuphdd/backup
--delete

To exclude certain files within directory from being in the backup. .rsyncexclude is a simple text file you create where you list files / folders you don't want backed up, 1 per line.
--exclude-from='/home/username/.rsyncexclude'

To test without making any changes append this to any command.
--dry-run

Let the community know any other commands you find useful.

    Harvey You can enable "Force Full Composition Pipeline" on in nvidia-settings

    Was passing by real quick, and had to say something about this method: it's bad for gaming perfomance, but real good for taking screen tearing out... i use it all the time i need.

      RLFontan
      I personally haven't noticed any difference, but thank you for pointing out a potential downfall of doing this.

        Some great things here! As a note, the black input boxes in Firefox while using a dark theme doesn't just apply to KDE, it's whatever your GTK theme is in any desktop environment, long as it's dark.

        This is what the forum will eventually need more of. Good information is currency--it frees a person. Lots of stuff I wish I'd saved from phbb in your dispatch. Thanks for the hard work on this. Valuable stuff here for vet, newbie, or basic knucklehead like me.

        • [deleted]

        • Edited

        Here are some maintenance/repair thingies

        Forcing triggers
        sudo usysconf run -f

        Rebuilding eopkg database
        sudo eopkg -y rdb

        Repairing broken packages
        sudo eopkg check|grep Broken|awk '{print $4}'|xargs sudo eopkg -y it --reinstall

        Updating all packages
        sudo eopkg -y up

        Updating snap packages
        sudo snap refresh

        Updating flatpak packages
        sudo flatpak update

        Vacuuming journal
        sudo journalctl --vacuum-time=2d

        Deleting eopkg cache
        sudo eopkg dc


        Automatic upgrades
        /etc/systemd/system/eopkgup.service

         [Unit]
        Description=Do all package upgrades
        
        [Service]
        Type=oneshot
        ExecStart=/usr/bin/eopkg up -y

        /etc/systemd/system/eopkgup.timer

        [Timer]
        OnBootSec=10min
        OnUnitActiveSec=12h
        Unit=eopkgup.service
        
        [Install]
        WantedBy=multi-user.target

        Automatic third-party upgrades

        sudo pip3 install eopkg3p
        sudo eopkg install git

        /etc/systemd/system/eopkg3pup.service

         [Unit]
        Description=Do all 3rd-party package upgrades
        
        [Service]
        Type=oneshot
        ExecStart=/usr/bin/eopkg3p up -y

        /etc/systemd/system/eopkg3pup.timer

        [Timer]
        OnBootSec=20min
        OnUnitActiveSec=10h
        Unit=eopkg3pup.service
        
        [Install]
        WantedBy=multi-user.target

          Harvey

          Yeah, i have seem recently this video:

          And the guy actually like composition pipeline for gaming... maybe it depends on how you use it. But my guess is that this resource on GNOME based is bad for gaming.

            • [deleted]

            RLFontan Anything except i3 without a compositor is bad for gaming /s

              I have been using zsh with oh my zsh for a while now and I must say that I do like all the visual stuff along with git integration, but I find it incredibly slow when compared to Bash. I went back to Bash a couple days ago becuase I couldn't bother waiting half a second for the command prompt to pop up 🙁

                Jacalz Yeah I can't stand waiting for zsh to load, bash works just as well with the right aliases.

                If you want something similar to what oh-my-zsh provides but for bash, check out bash-it.

                https://github.com/Bash-it/bash-it

                Bash-it is a collection of community Bash commands and scripts for Bash 3.2+. (And a shameless ripoff of oh-my-zsh 😃)

                Includes autocompletion, themes, aliases, custom functions, a few stolen pieces from Steve Losh, and more.

                Bash-it provides a solid framework for using, developing and maintaining shell scripts and custom commands for your daily work. If you're using the Bourne Again Shell (Bash) on a regular basis and have been looking for an easy way on how to keep all of these nice little scripts and aliases under control, then Bash-it is for you! Stop polluting your /bin directory and your .bashrc file, fork/clone Bash-it and start hacking away.

                Can't say I have noticed any waiting for zsh to load. It's instantaneous for me shrugs

                • [deleted]

                • Edited

                Junglist The resampling is already set to a better algorithm than the pulseaudio default (which apparently distros like Ubuntu still ship with). But if you like to tinker even more, then create a file /etc/pulse/daemon.conf and add the lines you like:

                Best resample-methods:
                resample-method = soxr-vhq or resample-method = speex-float-10

                Avoid resampling altogether when possible
                avoid-resampling = yes

                24-bit audio ..
                default-sample-format = float32le

                .. or 32-bit audio
                default-sample-format = s24le

                Increase alternate sample rate to 96khz (if eg. you've got an audio interface that supports it). The system should choose the best suitable rate, so afaik you can leave default-sample-rate intact.
                alternate-sample-rate = 96000

                If you want to return to default setting, just wipe the line from the file, or remove the file altogether and it falls back to /usr/share/pulseaudio/daemon.conf

                  Harvey In KDE is a dark theme causing forms on websites using firefox to be dark?:
                  Create a new string pref in about:config (right click menu) named widget.content.gtk-theme-override and set the value to a installed light theme (e.g. Breeze), then restart Firefox.

                  Im having this problem on GNOME 🙁 i don't know how to do this you said.

                  25 days later

                  I just did a quick "Ctrl+F" to see if this had been added so sorry if I missed it.

                  I was having issues with screen tearing in a few apps and was looking for a solution to my problem and stumbled across this .

                  https://github.com/solus-project/linux-driver-management/issues/12

                  I run Solus Budgie on an older Dell XPS 14 laptop with Intel graphics so I used what was described by Liberodark on the bottom of the page with one addition. And it solved the issue for me. Maybe you can add it to your screen tearing section if you think it could be applicable to others.

                  sudo nano /etc/X11/xorg.conf.d/20-intel.conf

                  Put in file "20-intel.conf" :

                  Section "Device"
                  Identifier "Intel Graphics"
                  Driver "intel"
                  Option "DRI" "3" # DRI3 is now default
                  Option "AccelMethod" "sna" # default
                  Option "AccelMethod" "uxa" # fallback
                  EndSection

                    Junglist

                    I used this guide.

                    If you it out; I rarely ever use headphones so if there no difference i'm sorry however, I feel there is one. Also if I remember correctly in Solus this...

                    $ vim /etc/asound.conf

                    Is not the correct location for that file. Search for it in you file manager on the system drive to get the correct location.