User Tools

Site Tools


linux:distros:opensuse_tumbleweed_gnome

Information

  • openSUSE 1)
  • Tumbleweed 2)
  • GNOME 3)

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

GNOME Live

  • For Live USB sessions (use DVD above for installations)
  • Has persistence on USB by-default
  • Used for the environment for Drive Wipes
  • :!: 2024: Xfce Live image has issues with Locale which prevents python3-smbios-utils from working to set Dell fan speed profiles (TODO: Test GNOME)
https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso

Installation Notes

  • :?: 2016: EFI/opensuse/grubx64.efi 4)

Partitioning

  1. :!: ext4 or ext2 / 5)
  2. No separate /home
  3. Separate swap without suspend resize (still suspends fine without resize)

Boot Loader

  • :!: 2024/05/18: systemd-boot doesn't delete old initrds automatically, doesn't handle typewriter apostrophes, doesn't support dracut.conf settings, and doesn't seem faster than GRUB

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 2024/05/06
sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit' && sync
sudo zypper addlock 'PackageKit'

Repositories

Keybase

  • Repository Priority: 98
  • Provides the Keybase GUI client
  • :!: The repo itself isn't signed, but the packages are 6)
sudo rpm --import 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo zypper addrepo --check --refresh --priority '98' --no-gpgcheck 'http://prerelease.keybase.io/rpm/$basearch' '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 foliate gbrainy gimp google-noto-*-fonts gnome-extensions gstreamer-plugin-openh264 keepassxc libreoffice mpv transmission-gtk rhythmbox android-tools aria2 binutils chrony flashrom hdparm htop icoutils libnotify-tools nano openssl-1_1 7zip secret-tool sensors unar wget xrandr yt-dlp 

Intel

  • AMD CPUs have ucode-amd
ucode-intel intel-media-driver intel-gpu-tools

Keybase

keybase

Wine

  • winetricks is included within the wine package and isn't a separate install
wine-staging libpulse0-32bit gstreamer-plugins-bad-32bit gstreamer-plugins-bad-fluidsynth-32bit gstreamer-plugins-base-32bit gstreamer-plugins-good-32bit gstreamer-plugins-libav-32bit gstreamer-plugins-ugly-32bit libvulkan_intel libvulkan_intel-32bit

Tor Browser

torbrowser-launcher

Settings

Keyboard Shortcuts

kgx
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
kgx --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 && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done''"

Keys

  • Listed respectively to above
  • Ctrl + Alt + T
  • Ctrl + Alt + Z
  • Pause, Menu, F6, or Launch1

Printer

  • :!: Log-in as root
  • Internet Printing Protocol (ipp) → HP → IPP Everywhere ™
  • Color Mode: Device Gray
  • Administration → Set As Server Default
ipp://192.168.1.164/ipp/print

Network

DNS

9.9.9.9,149.112.112.112
2620:fe::fe,2620:fe::9

Nautilus

  • Sort folders before files

Rhythmbox

Dell Fan Profile

sudo zypper install -y 'python3-smbios-utils' && sudo smbios-thermal-ctl --set-thermal-mode='performance' && sudo zypper remove --clean-deps -y 'python3-smbios-utils'

Kernel Options

Intel Perf Counters

echo 'dev.i915.perf_stream_paranoid=0' | sudo tee '/etc/sysctl.d/99-i915-perf.conf' > '/dev/null' && cat '/etc/sysctl.d/99-i915-perf.conf'
sudo sysctl 'dev.i915.perf_stream_paranoid' | grep 'dev.i915.perf_stream_paranoid = 0'

Magic SysRq key

echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf'
sudo sysctl 'kernel.sysrq'

Swappiness

  • vm.swappiness = 0
echo 'vm.swappiness = 0' | sudo tee '/etc/sysctl.d/99-swappiness.conf' > '/dev/null' && cat '/etc/sysctl.d/99-swappiness.conf'
sudo sysctl 'vm.swappiness' | grep 'vm.swappiness = 0'

Dracut

  • System-specific boot optimization
  • :!: Expects GRUB
  • :!: Be sure to undo this if planning on booting the same disk install on different hardware, notably for servers
sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all
compress="cat"
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
fileloglvl="0"
sysloglvl="0"
stdloglvl="0"

Undo

sudo rm -f '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all && sync

Boot Loader

Config

sudo yast2 'bootloader'

Spinesnap

  • Last updated: 2024/05/18 with GRUB
preempt='none' nohz='off' acpi_osi='Linux' i915.enable_dc='0' i915.enable_fbc='0' i915.enable_psr='0' i915.enable_hangcheck='0' i915.panel_use_ssc='0' i915.nuclear_pageflip='1' i915.request_timeout_ms='200000' i915.enable_guc='3' pcie_ports='native' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' video='HDMI-A-1:1920x1080MR@75' reboot='pci' idle='halt' usbhid.quirks='0x1b1c:0x1b75:0x20000408' usbcore.quirks='1b1c:1b75:gn'

Dock Ethernet

usbcore.autosuspend=-1
usbcore.quirks=0bda:8156:k
usbcore.quirks=17ef:720c:k
USB\VID_0B95&PID_1790&REV_0200

GNOME

Disable Wayland

  • :!: 2023/07/23: It's been the cause of far too many issues and solving nothing while doing it
  • Last tested: 2024/05/17
cat '/etc/gdm/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable=false'/'WaylandEnable=false'/g' '/etc/gdm/custom.conf' && cat '/etc/gdm/custom.conf' | grep 'WaylandEnable=false'
sudo -e '/etc/gdm/custom.conf'

Force evdev

  • See evdev
  • Last tested: 2024/05/17

Extensions

External Monitor Settings

  • This copies the configured monitor settings from the current user to gdm and also applies it to the log-in screen
  • Notably useful for setting a laptop's built-in screen as disabled for the log-in screen while used in a dock configuration
sudo cp --remove-destination ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml'

Undo

sudo rm ~gdm/'.config/monitors.xml' && sync

Settings

All-in-one

  • Last updated: 2024/05/06
gsettings reset 'org.gnome.shell' 'app-picker-layout' && 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.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Individual

gsettings reset 'org.gnome.shell' 'app-picker-layout'
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.wm.preferences' 'focus-mode' 'click'
gsettings set 'org.gnome.software' 'download-updates' 'false'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Remove Weather

sudo zypper rm --clean-deps 'gnome-weather'

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'

Laptop Power

watch --interval '0.5' grep \'cpu MHz\' '/proc/cpuinfo'

Keybase

  • :!: Run after initial install
run_keybase

lm_sensors

sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'

mpv

mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf'
save-position-on-quit
sub-auto=fuzzy
force-window=yes
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
hwdec=vaapi
hwdec-codecs=all
vo=dmabuf-wayland

Secure Shell

  • See Client notes to generate/restore public key

Disk Drives

Disable barriers

  • Add ,barrier=0 after defaults for the / mountpoint 8)
  • Expects ext4
sudo -e '/etc/fstab'
,barrier=0

Swap

  • Add ,discard=once after defaults for the swap mountpoint 9)
  • According to the swapon man page, setting this in fstab is acceptable
sudo -e '/etc/fstab'
,discard=once

Trim

sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l

Time

  • :!: 2024/05/06: Even though chrony does NTP sync, it doesn't seem to write it to the hardware clock which is usually wrong after a CMOS reset 10)
  • This sets the hardware clock to the current system/OS clock
  • TODO: Figure out chrony command to do NTP sync
sudo hwclock --systohc

UTC

  • Set RTC to UTC
  • :!: Needed if Windows is installed first
  • :!: Windows should also be set to UTC
  • :!: TODO: Should this be ran on openSUSE that's using chrony instead?
sudo timedatectl set-local-rtc '0'

Verify

timedatectl | grep local

Wine

Xorg/Wayland

Display Settings

  • This sets Full RGB and other options for a connected display (HDMI)
  • See proptest_full_rgb for more ports and examples
  • This works on Wayland as well as GNOME on Xorg even with Wayland globally-disabled from custom.conf
  • :!: The numbers 103 and after the connector change depending on the hardware and need checked from proptest on a Wayland session 11)
  • Last tested: 2024/05/18 on GNOME 46 on Xorg
sudo zypper install -y 'libdrm-tools' && sudo -e '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sync
# Broadcast RGB (99) to Full (1)
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1'

# content type (107) to Game (4)
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'

# Colorspace (106) to opRGB (7)
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '106' '7'

# max bpc (108) to 8
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '108' '8'

# End

Firefox

about:config

  • See about:config for more info
  • :!: layout.frame_rate ideally needs set if using Wayland and above 60Hz
layout.frame_rate
extensions.screenshots.disabled
extensions.pocket.enabled
security.tls.enable_kyber

Extensions

uBlock Origin

Filters list

https://www.fanboy.co.nz/fanboy-problematic-sites.txt
https://www.fanboy.co.nz/r/fanboy-ultimate.txt
https://www.fanboy.co.nz/fanboy-cookiemonster_ubo.txt
https://www.fanboy.co.nz/enhancedstats.txt

DNS over HTTPS

https://dns.quad9.net/dns-query

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

4)
EFI file to boot and in the case of some Acer laptops, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
5)
XFS doesn't support nobarrier
6)
the imported key gets referenced once the keybase package downloads through zypper, before its installation
7)
for preventing Tearing on Xorg sessions in some situations
8)
defaults,barrier=0
9)
defaults,discard
10)
starting Firefox quickly after rebooting has a wrong system clock certificate failure error
11)
the current values are specific to a Dell Latitude 5591 and its onboard HDMI port
/var/www/wiki/data/pages/linux/distros/opensuse_tumbleweed_gnome.txt · Last modified: by 127.0.0.1