linux:distros:fedora_workstation_gnome
Table of Contents
Information
- Fedora Workstation
- 41
Download
Installation Notes
Partitioning
- Delete
/home
- Delete
/
- Re-create
/
without specifying a size 1) /
and/boot
as ext4
Repositories
RPM Fusion
- See 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
andEDITOR
tonano
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
- #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 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 (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
- 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
- Quad9 ECS, see 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 Internet Radio
Kernel Options
Magic SysRq key
- 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
- Ideal:
dev.i915.perf_stream_paranoid = 0
- Requires
initramfs
to be rebuilt (covered by 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
- 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
- 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
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 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
asext4
can use this - Requires
rootflags=data=writeback
kernel parameter
sudo -e '/etc/fstab'
data=writeback,nobarrier
mount | grep 'ext4'
Defrag
sudo e4defrag -v '/dev/nvme0n1p2' '/dev/nvme0n1p3'
UTC
- 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 Wine
Display
Full RGB HDMI
- Goes between
</mode>
and</monitor>
proptest
shows change withBroadcast RGB
gnome-text-editor ~/'.config/monitors.xml'
<rgbrange>full</rgbrange>
<rate>60.000</rate> </mode> <rgbrange>full</rgbrange> </monitor> </logicalmonitor>
Firefox
- See Firefox
USBGuard
- TODO
Server
- For workstations that run servers as a secondary directive
- For headless servers, see 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 misc
1)
this uses all available remaining space
/usr/local/www/wiki/data/pages/linux/distros/fedora_workstation_gnome.txt · Last modified: by Sean Rhone