====== Information ====== * Fedora Workstation * 41 * https://fedoraproject.org/workstation/ ====== Download ====== * https://fedoraproject.org/workstation/download * [[https://download.fedoraproject.org/pub/fedora/linux/releases/41/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-41-1.4.iso|F41 ISO]] ====== Installation Notes ====== ===== Partitioning ===== - :!: Delete ''/home'' - :!: Delete ''/'' - Re-create ''/'' without specifying a size ((this uses all available remaining space)) - ''/'' and ''/boot'' as ext4 ====== Repositories ====== ===== RPM Fusion ===== * See [[linux;notes;rpm_fusion|RPM Fusion]] ====== Software ====== ===== Update ===== ==== System ==== **** sudo dnf autoremove -y && sudo dnf update -y && 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 dnf install 'nano' -y && 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 ===== * [[https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/247|#247]], GNOME Weather lacks location data since 2022 and leaves a notification shade without choosing a location * ''tuned'' is auto-power management and replaced with [[linux:notes:x86_energy_perf_policy#scripts|x86_energy_perf_policy]] (TODO: Note this conf somewhere in main notes) sudo dnf remove gnome-boxes gnome-browser-connector gnome-calendar gnome-characters gnome-contacts gnome-clocks gnome-maps gnome-software gnome-tour gnome-weather gnome-shell-extension-* baobab mediawriter snapshot simple-scan totem yelp tuned ===== General ===== **** sudo dnf install evolution file-roller filezilla foliate gbrainy gimp gnome-backgrounds-extras gnome-extensions-app gnome-menus keepassxc mpv obs-studio transmission-gtk android-tools aria2 binutils gdk-pixbuf2-modules-extra hdparm htop icoutils kernel-tools libva-utils lm_sensors gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins sysfsutils unar wget xrandr yt-dlp ===== Intel ===== igt-gpu-tools libva-intel-media-driver ===== Games ===== **** FlightGear neverball-neverball neverball-neverputt xonotic ===== Wine ===== **** wine winetricks ===== GNOME Xorg ===== * TODO: Needs extra packages installed ([[https://discussion.fedoraproject.org/t/xorg-removed-how-to-get-them-back/132151/24|post]]) ====== Settings ====== ===== Keyboard Shortcuts ===== ptyxis --standalone bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'" ptyxis --standalone --title='Fedora Updater — ' -- bash -c "sudo dnf clean 'all' && sudo dnf update -y && sync && sudo flatpak update && flatpak update && sync && sudo restorecon -F -I -R ~ && sudo fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done. Press any key to exit.' && sleep '1'" ==== Keys ==== * Listed respectively to above * Ctrl + Alt + T * Ctrl + Alt + Z * Menu or F6 ===== Printer ===== * http://localhost:631/admin * Log-in as regular user (not ''root'') * Internet Printing Protocol (ipp) * HP * IPP Everywhere ™ * Color Mode: Device Gray * 2-Sided Printing: Long-Edge (Portrait) ipp://192.168.1.164/ipp/print Kole ===== Network ===== ==== systemd-resolved ==== * systemd-resolved caches DNS * [[servers;upstream_dns_servers#systemd-resolved|Quad9 ECS]], see [[servers;upstream_dns_servers|DNS Servers]] for other addresses sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf' [Resolve] DNS=9.9.9.11#dns11.quad9.net 149.112.112.11#dns11.quad9.net 2620:fe::11#dns11.quad9.net 2620:fe::fe:11#dns11.quad9.net DNSOverTLS=yes === Verify === resolvectl status resolvectl status | grep '+DNSOverTLS' ===== Nautilus ===== * Sort Folders Before Files ===== Rhythmbox ===== * See [[personal;internet_radio#rhythmbox|Internet Radio]] ===== Kernel Options ===== ==== Magic SysRq key ==== * https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html * Ideal: ''kernel.sysrq = 1'' echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf' sysctl 'kernel.sysrq' ==== Intel Perf Counters ==== * https://wiki.archlinux.org/title/intel_graphics#Enable_performance_support * Ideal: ''dev.i915.perf_stream_paranoid = 0'' * Requires ''initramfs'' to be rebuilt (covered by [[#dracut|Dracut config]] below) 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' sysctl 'dev.i915.perf_stream_paranoid' ===== Bootloader ===== ==== Dracut ==== * System-specific boot optimization sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all 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 -v -f '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all && sync ==== Boot Options ==== * :!: [[linux;notes;kernel_parameters|More Kernel Parameters]] * Add commands within ''args'' sudo grubby --update-kernel='ALL' --args='' sudo grubby --update-kernel='ALL' --remove-args='' sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' ==== Spinesnap ==== * ''GRUB_TIMEOUT=1'' * ''GRUB_CMDLINE_LINUX='' sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' rhgb quiet acpi_osi='Linux' preempt='full' reboot='pci' nohz='off' enable_mtrr_cleanup pci='nocrs,pcie_bus_perf,realloc,pcie_scan_all,big_root_window' i915.enable_fbc='0' i915.enable_psr='0' i915.panel_use_ssc='0' i915.enable_guc='3' i915.guc_log_level='0' i915.nuclear_pageflip='1' i915.enable_hangcheck='0' mitigations='off' i915.mitigations='off' nowatchdog modprobe.blacklist='iTCO_wdt' tsc='nowatchdog' ahci.mobile_lpm_policy='1' iwlmvm.power_scheme='1' pcie_aspm='off' pcie_port_pm='off' snd_hda_intel.power_save='0' usbcore.autosuspend='-1' acpi_enforce_resources='no' accept_memory='eager' clocksource='tsc' pd_ignore_unused clk_ignore_unused video='HDMI-A-1:1920x1080MR@73' iommu='pt' rootflags='data=writeback' nvme.noacpi='1' ===== GNOME ===== ==== Extensions ==== * https://extensions.gnome.org/extension/545/hide-top-bar/ * TODO: Installing may require ''gnome-browser-connector'' but might be better to manual-install from source (old revision) ==== 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 -v --remove-destination ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown -v 'gdm':'gdm' ~gdm/'.config/monitors.xml' && sudo restorecon -F -I -R -v ~gdm/'.config/monitors.xml' gnome-text-editor ~/'.config/monitors.xml' sudo -e ~gdm/'.config/monitors.xml' === Remove === sudo rm -v -f ~gdm/'.config/monitors.xml' rm -v -f ~/'.config/monitors.xml' ==== Tweaks ==== sudo -e '/etc/profile.d/99-tweaks.sh' # Clutter export CLUTTER_PAINT='disable-dynamic-max-render-time' # GTK export GSK_RENDERER='vulkan' # Mesa export VAAPI_MPEG4_ENABLED='1' export MESA_NO_ERROR='1' export mesa_glthread='true' # End ==== Settings ==== === gdm === sudo -u 'gdm' dbus-launch gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' sudo -u 'gdm' dbus-launch gsettings set 'org.gnome.mutter' 'experimental-features' '[]' === Background === **** gsettings set 'org.gnome.desktop.background' 'picture-uri' '/usr/share/backgrounds/f'*'/default/f'*'.xml' === All-in-one === **** gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' '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.gnome.desktop.interface' 'clock-show-date' 'true' && gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' && gsettings set 'org.gnome.mutter' 'experimental-features' '[]' && gsettings set 'org.gnome.software' 'download-updates' 'false' === Individual === gsettings reset 'org.gnome.shell' 'app-picker-layout' gsettings set 'org.gnome.desktop.interface' 'enable-animations' '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.gnome.desktop.interface' 'clock-show-date' 'true' gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' gsettings set 'org.gnome.mutter' 'experimental-features' '[]' gsettings set 'org.gnome.software' 'download-updates' 'false' ===== 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 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 ===== Ptyxis ===== ==== Transparency ==== * https://gitlab.gnome.org/chergert/ptyxis/-/issues/99#note_2228092 gsettings set 'org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/'$PTYXIS_PROFILE'/' 'opacity' '0.95' gsettings reset 'org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/'$PTYXIS_PROFILE'/' 'opacity' ===== Secure Shell ===== * See [[programs;linux;openssh_client|OpenSSH Client]] notes to generate/restore public key ===== Drive Maintenance ===== ==== Trim ==== **** sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l ==== ext4 ==== === Tweaks === * Root ''/'' and ''/boot'' as ''ext4'' can use this * Requires ''rootflags=data=writeback'' [[#boot_options|kernel parameter]] sudo -e '/etc/fstab' data=writeback,nobarrier mount | grep 'ext4' === Defrag === **** sudo e4defrag -v '/dev/nvme0n1p2' '/dev/nvme0n1p3' ===== UTC ===== * [[https://wiki.archlinux.org/index.php/System_time#Time_standard|System time - ArchWiki]] * Set RTC to UTC * :!: Likely needed if Windows was installed first for dual-boot * :!: Windows should also be set to UTC sudo timedatectl set-local-rtc '0' ==== Verify ==== **** timedatectl | grep 'local' ===== Wine ===== * See [[linux:notes:wine#global|Wine]] ===== Display ===== ==== Full RGB HDMI ==== * https://gitlab.gnome.org/GNOME/mutter/-/issues/1871#note_2090262 * Goes between '''' and '''' * ''proptest'' shows change with ''Broadcast RGB'' gnome-text-editor ~/'.config/monitors.xml' full 60.000 full ====== Firefox ====== * See [[programs;firefox|Firefox]] ====== USBGuard ====== * TODO * https://pagure.io/fedora-workstation/issue/401#comment-944599 * https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/protecting-systems-against-intrusive-usb-devices_security-hardening ====== Server ====== * For workstations that run servers as a secondary directive * For headless servers, see [[linux;distros;server;fedora_server|Fedora Server]] ===== Enable SSH ===== **** sudo systemctl enable --now 'sshd' ===== Automatic Updates ===== ==== Service ==== sudo -e '/etc/systemd/system/fedora-up.service' [Service] Type=oneshot ExecStartPre='/usr/bin/dnf' clean 'all' ExecStart='/usr/bin/dnf' update -y ExecStart='/usr/bin/dnf' autoremove -y ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/systemctl' reboot ===== Timer ===== * 03:00 Oak sudo -e '/etc/systemd/system/fedora-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'fedora-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 ====== * See [[linux;notes;misc]]