distros:ubuntu_desktop
Table of Contents
Information
Download
HOSTS
- Unified hosts + fakenews + gambling
wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp '/etc/hosts' '/etc/hosts-bak' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sync
cat '/etc/hosts' | grep 'Date:'
sudo -e '/etc/hosts'
Restore
sudo cp '/etc/hosts-bak' '/etc/hosts' && sync
Repositories
oibaf/graphics-drivers
sudo add-apt-repository 'ppa:oibaf/graphics-drivers'
Keybase
This is only the signing key, see Keybase for client installation
wget -O '/tmp/code_signing_key.asc' 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo mv '/tmp/code_signing_key.asc' '/etc/apt/trusted.gpg.d/keybase.asc' && sync
ROCm
wget -O '/tmp/rocm.gpg.key' 'https://repo.radeon.com/rocm/rocm.gpg.key' && sudo mv '/tmp/rocm.gpg.key' '/etc/apt/trusted.gpg.d/rocm.asc' && echo 'deb https://repo.radeon.com/rocm/apt/latest/ ubuntu main' | sudo tee '/etc/apt/sources.list.d/rocm.list' > '/dev/null' && sync
WineHQ
wget -O '/tmp/winehq.key' 'https://dl.winehq.org/wine-builds/winehq.key' && sudo mv '/tmp/winehq.key' '/etc/apt/trusted.gpg.d/winehq.asc' && echo 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main' | sudo tee '/etc/apt/sources.list.d/winehq.list' > '/dev/null' && sync
XanMod Kernel
wget -O '/tmp/xanmod.key' 'https://dl.xanmod.org/gpg.key' && sudo mv '/tmp/xanmod.key' '/etc/apt/trusted.gpg.d/xanmod.asc' && echo 'deb http://deb.xanmod.org releases main' | sudo tee '/etc/apt/sources.list.d/xanmod.list' > '/dev/null' && sync
Software
Update
System
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean && sync
Firmware
sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose && sync
Snaps
sudo snap refresh && sync
General
sudo apt install --install-recommends evolution filezilla gimp keepassxc libreoffice rhythmbox transmission-gtk aria2 ffmpeg hdparm htop libsecret-tools linux-tools-generic lm-sensors mesa-utils mpv p7zip-full unar wget x11-xserver-utils yt-dlp
ckb-next
ckb-next
ROCm
rocm-opencl rocm-smi
Steam
steam
Wine
winehq-staging winbind winetricks
XanMod Kernel
sudo apt search 'linux-xanmod'
linux-xanmod-rt-edge
linux-xanmod-edge
linux-xanmod
Keybase
This needs ran as a separate command and not combined with the above package installations
rm -Rf '/tmp/keybase_amd64.deb' && wget -O '/tmp/keybase_amd64.deb' 'https://prerelease.keybase.io/keybase_amd64.deb' && sudo apt install '/tmp/keybase_amd64.deb' && rm '/tmp/keybase_amd64.deb' && sync && run_keybase
Tor Browser
torbrowser-launcher
Google Chrome
TODO: This may need updated to run with
apt
instead ofdpkg
wget -O '/tmp/google-chrome-stable_current_amd64.deb' 'https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb' && sudo dpkg --install '/tmp/google-chrome-stable_current_amd64.deb' || sudo apt install -f && rm '/tmp/google-chrome-stable_current_amd64.deb' && sync
Settings
Keyboard Shortcuts
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'apt update && apt full-upgrade -y && apt clean && apt autoremove -y && sync && snap refresh && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && sleep '5''"
Miner
- See ROCm - Nightwane
gnome-terminal -- sh -c ~/'.local/bin/nsfminer/Nightwane/ROCm/Game.sh'
gnome-terminal -- sh -c ~/'.local/bin/nsfminer/Nightwane/ROCm/Miner.sh'
Keys
- Listed respectively to above
- Ctrl + Alt + Z
- Pause or Launch1
- F6
- F8
Printer
- Internet Printing Protocol (ipps) → HP → IPP Everywhere ™
- Color Mode: Device Gray
- Administration → Set As Server Default
ipps://192.168.1.164/ipp/print
gedit
- 4 Tab width
- Insert Spaces for Tab mode
Network
1.1.1.1 DNS
Nautilus
- Sort Folders Before Files
Rhythmbox
- See Internet Radio
Terminal
- 10-notch Transparency
GRUB
Config
- Add options in
GRUB_CMDLINE_LINUX_DEFAULT=
sudo -e '/etc/default/grub' && sudo update-grub
AMD Memory Encryption
Either enable it through the OS, or enable TSME from the firmware, not both
Memory encryption enabled here may have issues with IOMMU, but TSME may be fine
mem_encrypt=on
dmesg | grep 'SME'
AMDGPU
Power
- Allows use of Overdrive options for overclocking and increasing the Power Limit
amdgpu.ppfeaturemask=0xffffffff
cat '/sys/module/amdgpu/parameters/ppfeaturemask' | grep '0xffffffff'
Other
amdgpu.mes=1
caused Linux not to boot
amdgpu.mes=1
amdgpu.mcbp=1
amdgpu.deep_color=1
EDID
TODO
drm.edid_firmware=edid/S271HL-75Hz-RB2.bin
IOMMU
iommu=pt
NVMe
This may need adjusted for different CPU core counts
nvme.poll_queues=16
dmesg | grep 'nvme'
cat '/proc/interrupts'
Intel Optimization
- This enables Framebuffer compression, Panel self-refresh, and i915 Fastboot
i915.enable_fbc=1 i915.enable_psr=1 i915.fastboot=1
Coreboot
- This is needed to relax permissions for Coreboot firmware to be flashed internally
This should be removed after flashing
iomem=relaxed
NVIDIA GSP
- Allows loading of GSP firmware
As of 2022/02/24 with a RTX 3060 and the 510.54 proprietary driver, this causes the mouse cursor to not update visibly from the top-left corner on GNOME 41/Fedora 35
This has not been tested with https://github.com/NVIDIA/open-gpu-kernel-modules
nvidia.NVreg_EnableGpuFirmware=1
GNOME
Hide Top Bar
Disable Wayland
ckb-next auto light shutoff requires Xorg
GPU scaling for resolution requires Xorg
Setting
i915
to use Full RGB with HDMI requires Xorg
cat '/etc/gdm3/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable'/'WaylandEnable'/g' '/etc/gdm3/custom.conf' && cat '/etc/gdm3/custom.conf' | grep 'WaylandEnable'
sudo -e '/etc/gdm3/custom.conf'
Settings
All-in-one
- Last updated: 2022/06/08
gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false' && gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-to-click' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-and-drag' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'disable-while-typing' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'click-method' 'areas' && gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
Individual
- Last updated: 2022/06/08
gsettings reset 'org.gnome.shell' 'app-picker-layout'
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false'
gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-to-click' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-and-drag' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'disable-while-typing' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'click-method' 'areas'
gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
Hostname
- Change
x
to computer name
hostnamectl set-hostname 'x'
KeePassXC
Settings
- General → [ ] Load previous databases on startup
- Security → [x] Use DuckDuckGo service to download website icons
Add Database Password to GNOME Keyring
secret-tool store --label='KeePass' 'keepass' 'default'
lm_sensors
sudo sensors-detect --auto
mpv
mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf'
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp video-sync=display-resample interpolation tscale=oversample
Laptop Power Management
Secure Shell
- See Client notes to generate/restore public key
Uncomplicated Firewall
- See ufw for more notes
sudo ufw reset && sudo ufw default deny && sudo ufw logging off && sudo ufw enable && sudo systemctl enable 'ufw'
sudo ufw allow 'ssh'
Drive Maintenance
Trim
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
XFS Scrub
This is only necessary if XFS is being used on any persistent drives, and requires
xfsprogs
to be installed
sudo apt install 'xfsprogs'
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l
UTC
- Set RTC to UTC
Needed if Windows is installed first
Windows should also be set to UTC
sudo timedatectl set-local-rtc '0'
Verify
timedatectl | grep local
Wine
- See Wine
Custom EDID
TODO: Some hint about how to get EDID
- Ubuntu doesn't need an initramfs regen
sudo install -Dm644 ~/'Downloads/S271HL-75Hz-RB2/S271HL-75Hz-RB2.bin' '/usr/lib/firmware/edid/S271HL-75Hz-RB2.bin'
ls '/usr/lib/firmware/edid'
drm.edid_firmware=edid/S271HL-75Hz-RB2.bin
sudo dmesg | grep 'edid'
Xorg
GNOME for several versions now including 42 makes the screen color too warm; the fix is to disable color calibration for screens in GNOME settings
Mozilla Firefox
- See Firefox if old configuration is needed, otherwise use Firefox Sync
DNS over HTTPS
https://dns.quad9.net/dns-query
Server
- For workstations that run servers as a secondary directive
- For headless servers, use Ubuntu Server
Automatic Updates
Service
sudo -e '/etc/systemd/system/ubuntu-up.service'
[Service] Type=oneshot ExecStartPre='/usr/bin/apt' clean ExecStart='/usr/bin/apt' update ExecStart='/usr/bin/apt' full-upgrade -y ExecStart='/usr/bin/apt' autoremove -y ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/systemctl' reboot
Timer
- 03:00 Oak
sudo -e '/etc/systemd/system/ubuntu-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'ubuntu-up.timer' --now
[Unit] Description=Software Package Maintenance and Updater After=network-online.target Wants=network-online.target [Timer] OnCalendar=*-*-* 03:00:00 Persistent=true [Install] WantedBy=timers.target
Notable Folders and Commands
Extract ISO
D
is the destination you want the extracted files to gox
is the ISO you want to extract files from- No space after the
-o
flag is intentional - This is primarily useful for copying Windows ISO images to a FAT32 flash drive
7z x -o'D' -y x
7z x -o'/run/media/espionage724/LTSC 2019' -y '/home/espionage724/Downloads/en_windows_10_enterprise_ltsc_2019_x64_dvd_be3c8ffb.iso' && sync && sync
yt-dlp
Download
rm -f '/tmp/yt-dlp' && wget -O '/tmp/yt-dlp' 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp' && chmod +x '/tmp/yt-dlp'
Show Formats
- Change
x
to a URL
'/tmp/yt-dlp' --list-formats x
Download Media
- Change
x
to a URL bestaudio
can be changed tobestvideo
for just video, orbest
for best video with audio
'/tmp/yt-dlp' --extract-audio --format 'bestaudio' x
M4A Audio
- Ideally for if iOS devices will be involved
'/tmp/yt-dlp' --extract-audio --format 'bestaudio' --audio-format 'm4a' x
MP3 Audio
'/tmp/yt-dlp' --extract-audio --format 'bestaudio' --audio-format 'mp3' x
Shortcuts
/usr/share/applications
~/.local/share/applications
Icons
/usr/share/icons/hicolor
~/.local/share/icons/hicolor
YUM/DNF Repos
gio open '/etc/yum.repos.d'
DNF History
Transaction IDs
sudo dnf history
Undo
- Change
x
to a transaction ID found above
sudo dnf history undo x
GPG Keys
Check Keys
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
Remove Keys
sudo rpm -e x
List GNOME gsettings
- Change
x
to schema or omit it to show all settings
gsettings list-recursively 'x'
GNOME Monitors Reset
rm -f ~/'.config/monitors.xml' ~/'.config/monitors.xml~'
PulseAudio Reset
rm -f ~/'.config/pulse/'*
Xorg Debug
journalctl -e _COMM='gdm-x-session'
gio open ~/'.local/share/xorg/Xorg.0.log'
GpuTest
Execute
720p
- 1280×720
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720'
/fullscreen /benchmark /benchmark_duration_ms='15000'
1080p
- 1920×1080
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
/fullscreen /benchmark /benchmark_duration_ms='15000'
4K
- 3840×2160
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160'
/fullscreen /benchmark /benchmark_duration_ms='15000'
Cleanup
rm -Rf '/tmp/GpuTest_Linux_'* && cd ~ && sync
Show Sensors
sudo apt install 'lm-sensors' -y && sudo sensors-detect --auto && sudo watch --interval '0.5' sensors
Show CPU Frequency
grep 'MHz' '/proc/cpuinfo'
watch --interval '0.5' grep \'cpu MHz\' '/proc/cpuinfo'
OpenSSL Supported Ciphers
openssl ciphers -v | awk '{print $2}' | sort | uniq
Partition Information
- Both commands present the same information
df -hT
df --human-readable --print-type
Encryption Information
sudo cryptsetup -v status '/dev/dm-0'
ATA Secure Erase
- See Drive Wipe notes
RAID
Controller Details
- This can be used to get the Oprom version for Intel RST
sudo mdadm --detail-platform
Create Software RAID
Came from old notes; I assume this worked at some point, but in any case, the syntax looks nice :p
sudo mdadm --create '/dev/md0' --name='RAID' --level='0' --raid-devices='3' '/dev/sda' '/dev/sdb' '/dev/sdc' --verbose
VGA Switcheroo Power States
sudo cat '/sys/kernel/debug/vgaswitcheroo/switch'
ACPI Tables
- In
dsdt.dsl
, look for_OSI
values, along withWindows
andLinux
sudo apt install 'acpica-tools'
sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat'
cd ~ && iasl -d ~/'dsdt.dat'
gio open ~/'dsdt.dsl'
sudo apt autoremove --purge 'acpica-tools' && sync
Backlight
Notes
- The following commands with an asterisk expect only one backlight controller at
/sys/class/backlight
- This was only tested on one laptop with
intel_backlight
- See Power Management notes on how to add backlight changes to a udev script
- See backlight for more details
Controller Name
ls '/sys/class/backlight'
Query Current Brightness
cat '/sys/class/backlight/'*'/brightness'
Query Max Brightness
cat '/sys/class/backlight/'*'/max_brightness'
Set Custom Brightness
- Change
376
to desired brightness - Desired brightness must be under
max_brightness
value
echo "376" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Set Max Brightness
echo "$(cat '/sys/class/backlight/'*'/max_brightness')" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Intel GuC Firmware
sudo cat '/sys/kernel/debug/dri/0/i915_guc_info'
sudo cat '/sys/kernel/debug/dri/0/i915_guc_load_status'
HT/SMT Information
grep -e "processor" -e "core id" -e "^$" /proc/cpuinfo
Optimal GCC compiler flags
gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1 | perl -pe 's/ -mno-\S+//g; s/^.* - //g;'
Privacy
Clear Terminal History
history -cw
Create 7z Password Archive
- Change
7ZIPNAME
in7ZIPNAME.7z
to the desired archive name - Change
PASS
in-pPASS
to the desired password - Change
x
to the file or folder to add to the archive
7za a '7ZIPNAME.7z' -p'PASS' 'x'
7za a 'x.7z' -p'x' 'x'
oathtool
x
is a secret without&digits=6
sudo apt install 'oathtool'
oathtool --totp -b 'x'
Remove EXIF data
sudo apt install 'libimage-exiftool-perl'
exiftool -all= *.* -overwrite_original
distros/ubuntu_desktop.txt · Last modified: 2022/06/08 23:56 by Sean Rhone