User Tools

Site Tools


distros:opensuse_tumbleweed_gnome

Table of Contents

Information

Download

DVD

  • ISO and SHA256 hash
http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256

Xfce

  • For LiveUSB
https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-XFCE-Live-x86_64-Current.iso

Installation Notes

  • EFI/opensuse/grubx64.efi 5)
  • XFS, no separate /home, separate swap partition enlarged to RAM for suspend

HOSTS

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'

PackageKit

  • PackageKit is an long-standing, consistent annoyance when using zypper at random times
  • This uninstalls it, and prevents it from being automatically re-installed
  • :!: This was still necessary as of 2021/04/15
sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit' && sync
sudo zypper addlock 'PackageKit'

Repositories

PackMan Essentials

  • Repository Priority: 98
  • Provides extended multimedia support
sudo rpm --import 'http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '98' --name 'Packman Essentials repository (openSUSE_Tumbleweed)' 'http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/' 'packman-essentials'

Keybase

  • Repository Priority: 98
  • Provides the Keybase GUI client
sudo rpm --import 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo zypper addrepo --no-gpgcheck --refresh 'http://prerelease.keybase.io/rpm/$basearch' 'Keybase' && sudo zypper mr -p 98 'Keybase'

Software

List

Disable USB Source

sudo zypper modifyrepo --disable --medium-type 'hd'

Update

System

sudo zypper clean --all && sudo zypper refresh --force --services && sudo zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync

Firmware

sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose

Flatpaks

flatpak update && sudo flatpak update

GNU nano

  • Installs nano
  • Sets VISUAL and EDITOR to nano via environment variable
  • Sets nowrap for current user
sudo zypper install 'nano' && export 'VISUAL=nano' && export 'EDITOR=nano' && echo -e 'export VISUAL=nano\nexport EDITOR=nano' | sudo tee '/etc/profile.d/editor-nano.sh' > '/dev/null' && cat '/etc/profile.d/editor-nano.sh' && mkdir -p ~/'.config/nano' && echo 'set nowrap' | tee ~/'.config/nano/nanorc' > '/dev/null' && cat ~/'.config/nano/nanorc'

General

sudo zypper install evolution filezilla gimp keepassxc NetworkManager-connection-editor NetworkManager-openvpn transmission-gtk rhythmbox aria2 flashrom hdparm hplip-hpijs htop nano p7zip-full secret-tool sensors unar wget xfsprogs-scrub 

Multimedia

ffmpeg-4 mpv youtube-dl

ckb-next

Keybase

keybase

Wine

  • winetricks is included within the wine package and isn't a separate install
  • Mesa-libd3d requires Gallium Nine either standalone or patched-Wine, and Gallium-based open-source graphics drivers 6)
wine-staging libpulse0-32bit libvulkan_radeon-32bit
Mesa-libd3d Mesa-libd3d-32bit libpulse0-32bit

Tor Browser

torbrowser-launcher

Google Chrome

sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo zypper install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'

Settings

Keyboard Shortcuts

gnome-terminal
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'zypper clean --all && zypper refresh --force --services && zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync && flatpak update && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"

Xfce

  • Uses xfce4-terminal instead and doesn't include flatpak
xfce4-terminal --command "sudo sh -c 'zypper clean --all && zypper refresh --force --services && zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"

Keys

  • Listed respectively to above
  • Ctrl + Alt + T
  • Ctrl + Alt + Z
  • Pause or F7

Printer

  • :!: Log-in as root
  • Output Mode: Black Only Grayscale
  • Print Quality: High-Resolution Photo
  • Administration → Set As Server Default
socket://192.168.1.164:9100

gedit

  • 4 Tab width
  • Insert Spaces for Tab mode

Network

Quad9 DNS

9.9.9.11,149.112.112.11
2620:fe::11,2620:fe::fe:11

VPN.AC

  • See VPN.AC
  • :!: If using this VPN, disable IPv6 from NetworkManager

Nautilus

  • Sort folders before files

Rhythmbox

ckb-next

  • :!: May have to disable automatic firmware update check from ckb-next settings in order to prevent it from crashing on profile switch?
sudo systemctl enable 'ckb-next-daemon' --now

GRUB

amdgpu

  • Allows use of Overdrive options for overclocking and notably increasing the Power Limit
amdgpu.ppfeaturemask=0xffffffff
cat '/sys/module/amdgpu/parameters/ppfeaturemask' | grep '4294967295'

GNOME

Disable Wayland

  • :!: Wayland seems ok to use as of 2021/04/15 with GNOME 40 7)
cat '/etc/gdm/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable'/'WaylandEnable'/g' '/etc/gdm/custom.conf' && cat '/etc/gdm/custom.conf' | grep 'WaylandEnable'
sudo -e '/etc/gdm/custom.conf'

Settings

All-in-one

  • Last updated: 2021/06/30
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' && 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' && gsettings set 'org.gnome.software' 'download-updates' 'false'

Individual

  • Last updated: 2021/06/30
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false'
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'
gsettings set 'org.gnome.software' 'download-updates' 'false'

Hostname

  • Change x to computer name
sudo hostnamectl set-hostname 'x'

Keybase

  • :!: Run after initial install
run_keybase

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

  • --auto is quicker, but more things are detected by doing the full scan
sudo sensors-detect
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

NetworkManager

  • wifi.powersave can be 2 for disabled, or 3 for enabled
  • :!: ethernet.cloned-mac-address=random breaks USB Tethering with iOS/iPhones
sudo mkdir -p '/etc/NetworkManager/conf.d' && sudo -e '/etc/NetworkManager/conf.d/99-custom.conf'
[device-mac-randomization]
wifi.scan-rand-mac-address=yes

[connection-mac-randomization]
wifi.cloned-mac-address=random

[connection]
wifi.powersave=2
[connection-mac-randomization]
ethernet.cloned-mac-address=random

Laptop Power Management

Secure Shell

  • See Client notes to generate/restore public key

Drive Maintenance

Trim

  • :!: Enable only if a SSD is being used for Linux
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l

XFS Scrub

  • :!: Enable in all cases since it's likely both / and /boot are XFS
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

Xorg

Mozilla Firefox

  • See Firefox if old configuration is needed, otherwise use Firefox Sync

Server

  • For workstations that run servers as a secondary directive
  • For headless servers, use openSUSE TW (Server)

Automatic Updates

Service

sudo -e '/etc/systemd/system/suse-up.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/zypper' clean --all
ExecStart='/usr/bin/zypper' --non-interactive refresh --force --services
ExecStart='/usr/bin/zypper' --non-interactive dist-upgrade --auto-agree-with-licenses --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change
ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot

Timer

  • 06:00 Oak
sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 06:00:00
Persistent=true

[Install]
WantedBy=timers.target

Notable Folders and Commands

Extract ISO

  • D is the destination you want the extracted files to go
  • x 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

youtube-dl

Download

rm -f '/tmp/youtube-dl' && wget -O '/tmp/youtube-dl' 'https://yt-dl.org/downloads/latest/youtube-dl' && chmod +x '/tmp/youtube-dl'

Show Formats

  • Change x to a URL
'/tmp/youtube-dl' --list-formats x

Download Media

  • Change x to a URL
  • bestaudio can be changed to bestvideo for just video, or best for best video with audio
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' x

M4A Audio

  • Ideally for if iOS devices will be involved
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'm4a' x

MP3 Audio

'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'mp3' x

Shortcuts

/usr/share/applications
~/.local/share/applications

Icons

/usr/share/icons/hicolor
~/.local/share/icons/hicolor

Zypper

Find Orphans

zypper packages --orphaned

Remove Package and Deps

sudo zypper remove --clean-deps 'x'

Show Installed Patterns

sudo zypper patterns --installed-only

Folder

ls '/etc/zypp/repos.d'

List

zypper repos --priority

GPG Keys

Check Keys

rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

Remove Keys

sudo rpm -e x

Re-generate Thumbnails

rm -Rf ~/'.cache/thumbnails'

List GNOME gsettings

  • Change x to schema or omit it to show all settings
gsettings list-recursively 'x'

GNOME Software Maintenance

pkcon -c '1' refresh && pkcon update

fstrim

sudo fstrim --verbose --all

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.1.log'

Verify DRI3

LIBGL_DEBUG='verbose' glxinfo | grep 'libgl'

GpuTest

Execute

HDTV

  • 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'
NVIDIA Optimus

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_'* && __NV_PRIME_RENDER_OFFLOAD='1' __GLX_VENDOR_LIBRARY_NAME='nvidia' ./GpuTest /test='fur' /width='1280' /height='720'

FHD

  • 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'

UHDTV1

  • 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 zypper install -y 'sensors' && sudo sensors-detect --auto && sudo watch -n0.1 sensors

Show CPU Frequency

grep 'MHz' '/proc/cpuinfo'
watch -n 0.1 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

  • :!: All hdparm commands below assume actions to be performed on /dev/sda

Preparation

sudo zypper install 'hdparm' && sync
sudo hdparm -I '/dev/sda'
sync && systemctl suspend

ATA Secure Erase

sudo blkdiscard --verbose '/dev/sda'
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync

NVMe Erase

  • NVMe Erase from the start page lands here and I usually use a Ubuntu LiveUSB to do this, hence the apt command
sudo apt install 'nvme-cli' -y && sync
sudo zypper install 'nvme-cli' -y && sync
sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync

Clean EFI Variables

  • :!: Could potentially cause a firmware brick or other issues with improper EFI implementations, use at own risk 8)
  • Safer way is to use efibootmgr to remove boot entries individually
sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v

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 with Windows and Linux
sudo zypper install 'acpica'
sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat'
cd ~ && iasl -d ~/'dsdt.dat'
gio open ~/'dsdt.dsl'
sudo zypper remove 'acpica' && sync

Custom Resolutions

Generate Modeline

  • Use --reduced only for LCD/Non-CRT displays, and only as-needed 9)
  • Syntax is horizontal (width), vertical (height) and refresh rate
cvt '3840' '2160' '60'
cvt --reduced '3840' '2160' '60'
--reduced

Temporarily Apply

  • Changes are lost after reboot
  • Values after --newmode are from the above generate command, and is everything after Modeline
xrandr --newmode "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync
xrandr --addmode 'HDMI-A-0' '3840x2160R'
xrandr --output 'HDMI-A-0' --mode '3840x2160R'

Verify

xrandr --verbose | grep *current

Permanently Apply

  • Identifier is the name of the port on the GPU the display is connected to
  • Modeline is from the above generate command, including the text Modeline
  • PreferredMode is the custom resolution name generated
Section "Monitor"
    Identifier  "HDMI-A-0"
    Modeline x
    Option      "PreferredMode" "3840x2160R"
EndSection

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 in 7ZIPNAME.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 zypper install 'oath-toolkit'
oathtool --totp -b 'x'

Remove EXIF data

sudo zypper install 'exiftool'
exiftool -all= *.* -overwrite_original
4)
these notes mostly work with Xfce also
5)
EFI file to boot and in the case of Acer laptops, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
6)
currently not NVIDIA proprietary drivers; maybe Intel in the future
7)
if this note is removed, then Wayland failed
8)
personally tested fine on several Acer and Dell computers
9)
useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups
distros/opensuse_tumbleweed_gnome.txt · Last modified: 2021/06/30 18:12 by Sean Rhone