====== 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/ ===== 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 [[linux;notes;drive_wipe|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 https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso ====== Installation Notes ====== * :?: 2016: ''EFI/opensuse/grubx64.efi'' ((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)) ===== Partitioning ===== - :!: ext4 or ext2 ''/'' ((XFS doesn't support ''nobarrier'')) - No separate ''/home'' - Separate ''swap'' **without** suspend resize (still suspends fine without resize) ===== Boot Loader ===== * :!: 2024/05/18: systemd-boot doesn't delete old ''initrd''s 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 ===== * https://keybase.io * Repository Priority: 98 * Provides the Keybase GUI client * :!: The repo itself isn't signed, but the packages are ((the imported key gets referenced once the ''keybase'' package downloads through ''zypper'', before its installation)) 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 ===== * http://download.opensuse.org/tumbleweed/repo/ ===== 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 ===== * https://keybase.io * :!: Make sure to run ''run_keybase'' in a Terminal after installation 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 ===== * 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 ==== * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses 9.9.9.9,149.112.112.112 2620:fe::fe,2620:fe::9 ===== Nautilus ===== * Sort folders before files ===== Rhythmbox ===== * See [[Information:Internet Radio|Internet Radio]] ===== Dell Fan Profile ===== * https://www.dell.com/support/kbdoc/en-us/000177768/guide-to-dell-power-manager 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 ==== * 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' | grep 'dev.i915.perf_stream_paranoid = 0' ==== 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' | 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 ==== * :!: [[notes:kernel_parameters|More Kernel Parameters]] 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 === * https://forum.proxmox.com/threads/problem-with-usb-network-card-asix-ax88179_178a-driver-usb-2-2-usb-disconnect.126741/ * https://forums.lenovo.com/t5/Other-Linux-Discussions/USB-C-to-ethernet-adaptors-disconnect-on-irregular-interval/m-p/5106995 * :!: 2024/06/01: AX88179 on Windows 10 is an absolute unstable nightmare regardless of all driver-exposed power-saving and offloading settings disabled 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 [[notes:xorg.conf_snippets#evdev|evdev]] * Last tested: 2024/05/17 ==== Extensions ==== * https://extensions.gnome.org/extension/545/hide-top-bar/ * https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/ ((for preventing Tearing on Xorg sessions in some situations)) ==== 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 ==== * https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/247 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 ===== * See [[notes:laptop_power_management|Laptop Power Management]] * Last tested: 2024/05/17 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 ===== * [[https://wiki.archlinux.org/index.php/mpv#High_quality_configurations|ArchWiki mpv High quality configurations]] 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 [[clients:secure_shell|Client]] notes to generate/restore public key ===== Disk Drives ===== ==== Disable barriers ==== * Add '',barrier=0'' after ''defaults'' for the ''/'' mountpoint ((defaults,barrier=0)) * Expects ''ext4'' sudo -e '/etc/fstab' ,barrier=0 ==== Swap ==== * Add '',discard=once'' after ''defaults'' for the ''swap'' mountpoint ((defaults,discard)) * 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 ((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 ===== Wine ===== * See [[notes:wine|Wine]] ===== Xorg/Wayland ===== ==== Display Settings ==== * This sets Full RGB and other options for a connected display (HDMI) * See [[notes: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 ((the current values are specific to a Dell Latitude 5591 and its onboard HDMI port)) * 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 ====== * See [[notes:firefox|Firefox]] if old configuration is needed, otherwise use Firefox Sync * https://wiki.archlinux.org/title/Firefox/Privacy ===== about:config ===== * See [[notes:firefox#aboutconfig|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 ===== * [[https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/|uBlock Origin]] * [[https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/|Decentraleyes]] * [[https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/|Privacy Badger]] ==== 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 ===== * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses https://dns.quad9.net/dns-query ====== Server ====== * For workstations that run servers as a secondary directive * For headless servers, use [[distros:opensuse_tumbleweed_server|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 ====== * See [[notes:misc_linux#opensuse|misc_linux]]