====== Information ====== * openSUSE ((https://www.opensuse.org/)) * Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed)) * GNOME ((https://www.gnome.org/)) ====== Download ====== * http://download.opensuse.org/tumbleweed/iso/ 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 ====== Installation Notes ====== ===== Partitioning ===== - ext4 ''/'' - No separate ''/home'' - Separate ''swap'' with suspend resize NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS nvme0n1 259:0 0 953.9G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 938G 0 part / └─nvme0n1p3 259:3 0 15.4G 0 part [SWAP] ===== TODOs ===== * GRUB no Secure Boot support * GRUB timeout * MAC: None ====== PackageKit ====== pkill 'gnome-software' && sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit' sudo zypper addlock 'PackageKit' ====== Repositories ====== ===== PackMan Essentials ===== * http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials * Priority: 98 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' ===== Wine ===== * https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/ * Priority: 98 sudo rpm --import 'https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '98' --name 'Wine (openSUSE_Tumbleweed)' 'https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/' 'wine' ====== Software ====== ===== 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 ===== 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' ===== Remove ===== sudo zypper remove --clean-deps baobab cheese evolution* gnome-clocks gnome-contacts gnome-maps gnome-music gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-weather patterns-gnome-gnome_games myrlyn polari totem vinagre xscreensaver yelp irqbalance sudo zypper addlock baobab cheese evolution* gnome-clocks gnome-contacts gnome-maps gnome-music gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-weather patterns-gnome-gnome_games myrlyn polari totem vinagre xscreensaver yelp irqbalance ===== General ===== **** sudo zypper install filezilla foliate gimp google-noto-*-fonts gnome-extensions nautilus-file-roller wallpapers-openSUSE-extra keepassxc libreoffice rhythmbox MozillaThunderbird transmission-gtk vlc 7zip android-tools aria2 binutils htop icoutils nano secret-tool sensors unar yt-dlp ===== Intel ===== ucode-intel intel-media-driver intel-gpu-tools libvulkan_intel sudo intel_gpu_top -s '500' -p -m ===== Games ===== **** doomsday ===== Wine ===== wine-staging wine-staging-32bit libSDL3-0-32bit gstreamer-plugins-base-32bit gstreamer-plugins-good-32bit gstreamer-plugins-bad-32bit gstreamer-plugins-ugly-32bit gstreamer-plugins-libav-32bit Mesa-libva-32bit libvulkan_intel-32bit ===== systool ===== sysfsutils sudo systool -v -m 'i915' ===== Tor Browser ===== **** torbrowser-launcher ====== Settings ====== ===== Keyboard Shortcuts ===== * [[#updater|Updater script]] '/usr/bin/kgx' '/usr/bin/bash' -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'" '/usr/bin/kgx' -T 'openSUSE Updater' -e ~/'.local/scripts/opensuse-updater.sh' ===== Printer ===== * http://localhost:631/admin * :!: 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 ==== * [[servers:upstream_dns_servers|More DNS Servers]] 9.9.9.9,149.112.112.112 2620:fe::fe,2620:fe::9 ===== Rhythmbox ===== * See [[Information:Internet Radio|Internet Radio]] ===== Kernel Options ===== ==== Intel Perf Counters ==== * https://wiki.archlinux.org/title/intel_graphics#Enable_performance_support * ''dev.i915.perf_stream_paranoid = 0'' 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' ==== Magic SysRq key ==== * https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html * ''kernel.sysrq = 1'' 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' ===== GNOME ===== ==== Extensions ==== * https://extensions.gnome.org/extension/545/hide-top-bar/ * https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/ === Unredirect Manual === * https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect/issues/38 * https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect/commit/87ee545a3bf737e933ded74d6390d3dc4d8ec318 * 2025/08/16: GNOME 48 sudo zypper install 'git-core' git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect.git' '/tmp/gnome-shell-extension-disable-unredirect' mv -f '/tmp/gnome-shell-extension-disable-unredirect/unredirect@vaina.lt' ~/'.local/share/gnome-shell/extensions' rm -Rf '/tmp/gnome-shell-extension-disable-unredirect' ==== 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' ===== 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 ===== * [[linux:notes:x86_energy_perf_policy|x86_energy_perf_policy udev Rule]] ===== lm_sensors ===== sudo sensors-detect --auto sudo -e '/etc/sysconfig/lm_sensors' ===== Secure Shell ===== * See [[clients:secure_shell|Client]] notes to generate/restore public key ===== Disk Drives ===== ==== 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 ((starting Firefox quickly after rebooting has a wrong system clock certificate failure error)) * This sets the hardware clock to the current system/OS clock * TODO: Figure out ''chrony'' command to do NTP sync sudo hwclock --systohc ==== UTC ==== * [[https://wiki.archlinux.org/index.php/System_time#Time_standard|System time - ArchWiki]] * 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 ====== Boot Loader ====== * [[linux:notes:kernel_parameters|More Kernel Parameters]] ===== Spinesnap ===== * 2025/08/25 * TODO: [[bsd;freebsd_14.3_xfce#loaderconf|FreeBSD]] ''i915'' ips, etc * TODO: Check ''iwlwifi.bt_coex_active'' default with ''systool'' acpi_osi='Linux' idle='halt' nohz='off' preempt='full' iommu='pt' pci='nocrs,pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' pcie_port_pm='off' ahci.mobile_lpm_policy='1' iwlmvm.power_scheme='1' nvme_core.default_ps_max_latency_us='0' nvme.noacpi='1' nowatchdog modprobe.blacklist='iTCO_wdt' tsc='nowatchdog' snd_hda_intel.power_save='0' usbcore.autosuspend='-1' i915.enable_fbc='0' i915.enable_psr='0' i915.enable_dc='0' i915.enable_guc='3' i915.guc_log_level='0' i915.nuclear_pageflip='1' rootflags='data=writeback' iwlwifi.bt_coex_active='0' ==== i915 ==== sudo -e '/etc/modprobe.d/99-i915.conf' options i915 mitigations=off sudo dracut --force --regenerate-all ====== Drive Maintenance ====== ===== EFI ===== * ''nvme0n1p1'' type ''vfat'' sudo umount '/boot/efi' sudo dosfsck -a -t -w -v '/dev/nvme0n1p1' sudo mount '/boot/efi' ===== ext4 ===== * TODO ====== New Settings ====== ===== gsettings ===== ==== gdm ==== sudo runuser -u 'gdm' -- dbus-run-session gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' sudo runuser -u 'gdm' -- dbus-run-session gsettings set 'org.gnome.mutter' 'experimental-features' '[]' ==== User ==== * [[linux;notes;gsettings|More gsettings]] * :?: TODO: Touchpad disabled on external mouse applies with a USB keyboard gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings set 'org.gnome.mutter' 'experimental-features' '[]' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' && gsettings set 'org.gnome.desktop.screen-time-limits' 'history-enabled' 'false' && gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gtk.gtk4.Settings.FileChooser' 'sort-directories-first' 'true' && gsettings set 'org.gnome.Console' 'restore-window-size' 'false' && gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat' && 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.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.freedesktop.Tracker3.Miner.Files' 'enable-monitors' 'false' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'crawling-interval' '-2' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'index-on-battery' 'false' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'index-on-battery-first-time' 'false' && gsettings reset 'org.gnome.Settings' 'last-panel' ===== hostname ===== sudo hostnamectl hostname 'Spinesnap' sudo hostnamectl hostname 'x' ====== Tweaks ====== ===== General ===== sudo -e '/etc/profile.d/general-tweaks.sh' # GTK export GSK_RENDERER='cairo' export GTK_A11Y='none' # Mesa export MESA_NO_ERROR='1' export mesa_glthread='false' export MESA_DISK_CACHE_DATABASE='0' export MESA_DISK_CACHE_SINGLE_FILE='0' # Clutter export CLUTTER_PAINT='disable-dynamic-max-render-time' export CLUTTER_VBLANK='none' # Mutter export MUTTER_DEBUG_FORCE_KMS_MODE='simple' # End ===== Dracut ===== sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all # Compression compress="cat" # Machine-specific do_strip="yes" aggressive_strip="yes" hostonly="yes" hostonly_mode="strict" # End ==== Undo ==== **** sudo rm -f '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all ===== ext4 ===== * ''nvme0n1p2'' type ''ext4'' sudo tune2fs -O 'fast_commit' '/dev/nvme0n1p2' ===== fstab ===== * ''swap'' and ext4 ''/'' on NVMe * ''data=writeback'' requires kernel parameter ''rootflags=data=writeback'' sudo -e '/etc/fstab' ,discard=once ,data=writeback,nobarrier,journal_async_commit ===== Wine ===== * [[linux:notes:wine#tweaks]] ====== Scripts ====== ===== Updater ===== mkdir -p ~/'.local/scripts' && nano ~/'.local/scripts/opensuse-updater.sh' && chmod +x ~/'.local/scripts/opensuse-updater.sh' #!/bin/bash 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 rm -Rf ~/'.cache/mesa_shader_cache'* localsearch reset --filesystem sudo fstrim --all --verbose sync zypper ps --short echo 'Done.' # End ~/'.local/scripts/opensuse-updater.sh' ====== Notable Folders and Commands ====== * See [[linux;notes;misc]]