User Tools

Site Tools


distros:fedora_workstation_gnome

Information

  • Fedora Workstation 1)
  • 39

Download

Fedora Media Writer

Workstation

Updated Live Images

Installation Notes

Partitioning

  1. :!: Delete /home
  2. :!: Delete /
  3. Set /boot to XFS 2)
  4. Re-create / without specifying a size 3)
  5. Set / to XFS 4)
  6. :!: See Software RAID notes if software RAID across multiple drives is wanted

HOSTS

Initial

  • Only run once
ls '/etc/hosts~' || wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp --backup '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync

Update

ls '/etc/hosts~' && wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo mv --force '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync

Restore Backup

ls '/etc/hosts~' && sudo restorecon -F -I -R '/etc/hosts~' && sudo mv --force '/etc/hosts~' '/etc/hosts' && sync

DNF

  • Disables Delta RPMs with deltarpm=false
echo 'deltarpm=false' | sudo tee --append '/etc/dnf/dnf.conf' > '/dev/null' && cat '/etc/dnf/dnf.conf' | grep 'deltarpm=false'
sudo -e '/etc/dnf/dnf.conf'

Repositories

RPM Fusion

free

sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync

nonfree

sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync

tainted

  • Provides interesting firmware files
sudo dnf install 'rpmfusion-free-release-tainted' 'rpmfusion-nonfree-release-tainted'

Software

Update

System

sudo dnf autoremove -y && sudo dnf distro-sync -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'

Multimedia

sudo dnf swap 'ffmpeg-free' 'ffmpeg' --allowerasing
sudo dnf groupupdate 'core' 'multimedia' 'sound-and-video' --setop='install_weak_deps=False' --exclude='PackageKit-gstreamer-plugin' --allowerasing && sync

General

sudo dnf install evolution file-roller filezilla foliate gbrainy gimp gnome-extensions-app keepassxc mpv transmission-gtk android-tools aria2 binutils hdparm htop icoutils kernel-tools lm_sensors openssl1.1 gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins unar wget xrandr yt-dlp 

Google Chrome

google-chrome-stable

OBS Studio

  • obs-studio is in Fedora repos and works fine by itself, but pulls in interesting dependencies from RPM Fusion's free repo
obs-studio

RPM Fusion

free

ffmpeg-libs

nonfree

steam
intel-media-driver

Tainted

libdvdcss *'-firmware'

Wine

wine winetricks openssl1.1.i686
mesa-libd3d mesa-libd3d.i686

Settings

Keyboard Shortcuts

gnome-terminal
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'dnf clean 'all' && dnf distro-sync -y && sync && flatpak update && wget -O '/tmp/sb-hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && mv --force '/tmp/sb-hosts' '/etc/hosts' && restorecon -F -I -R '/etc/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"

Keys

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

Printer

  • Printer name can be Ctrl + F'd
  • :!: AppSocket/HP JetDirect → HP → HP Officejet Pro 8710, hpcups (en) 5)
  • Color Mode: Device Gray
  • Administration → Set As Server Default
socket://192.168.1.164:9100
Kole
HP Officejet Pro 8710

Info

  • HP Officejet Pro 8710, hpcups 3.23.5 has two options, (en) and (en), (en)
  • With Firefox, do Inspect
  • (en) is drv
  • (en), (en) is lsb
  • https://access.redhat.com/solutions/6971890 implies the drv path is the modern choice
  • :!: The IPP option sometimes(?) prints blurry documents; CUPS says old non-IPP drivers will be deprecated eventually

Network

systemd-resolved

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.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
DNSOverTLS=yes

NetworkManager

127.0.0.1
::1

Nautilus

  • Sort Folders Before Files

Rhythmbox

Terminal

  • 10-notch Transparency

Fan Profile

sudo dnf install 'smbios-utils-python' -y && sudo smbios-thermal-ctl --set-thermal-mode='performance' && sudo dnf remove 'smbios-utils-python' -y

Kernel Options

Magic SysRq key

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

GRUB

Config

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

  • Last updated: 2024/03/25
  • GRUB_CMDLINE_LINUX=
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg'
pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window' video='HDMI-A-1:1920x1080@74' reboot='pci' acpi_osi='Linux'

GNOME

Dynamic Wallpaper

gsettings set 'org.gnome.desktop.background' 'picture-uri' '/usr/share/backgrounds/f'*'/default/f'*'.xml'

Extensions

Hide Top Bar

GNOME 45
sudo dnf install gettext make
rm -Rf ~/'.local/share/gnome-shell/extensions/hidetopbar@mathieu.bidon.ca' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://gitlab.gnome.org/tuxor1337/hidetopbar.git' ~/'.local/share/gnome-shell/extensions/hidetopbar@mathieu.bidon.ca' && cd ~/'.local/share/gnome-shell/extensions/hidetopbar@mathieu.bidon.ca' && make && cd ~ && sync

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' && sudo restorecon -F -I -R ~gdm/'.config/monitors.xml'

Undo

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

Settings

All-in-one

  • Last updated: 2024/03/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.desktop.wm.preferences' 'disable-workarounds' 'true' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Individual

  • Last updated: 2024/03/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.desktop.wm.preferences' 'disable-workarounds' 'true'
gsettings set 'org.gnome.software' 'download-updates' 'false'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Weather

Location Fork

  • Last tested: 2024/03/06
wget -O ~/'Downloads/add-location-to-gnome-weather.sh' 'https://gitlab.com/Espionage724/scripts/-/raw/main/add-location-to-gnome-weather.sh?ref_type=heads' && chmod +x ~/'Downloads/add-location-to-gnome-weather.sh' && sh ~/'Downloads/add-location-to-gnome-weather.sh'

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

Secure Shell

  • See Client notes to generate/restore public key

Drive Maintenance

XFS Scrub

sudo dnf install 'xfsprogs-xfs_scrub' -y && sync
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l

Trim

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

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

Xorg/Wayland

Full RGB HDMI

  • See proptest_full_rgb for more ports
  • 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 6)
sudo dnf install 'drm-utils' -y && sudo -e '/etc/gdm/PostLogin/Default' && sudo restorecon -F -I -R '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sync
#!/bin/bash
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1'
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'

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

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

My filters

! Hide RuneScape Wiki clocks
! 2023/12/13
oldschool.runescape.wiki###utcdate > [href="#"]
oldschool.runescape.wiki###footer-info-lastmod
runescape.wiki##[href="/w/Clock_(interface)"]
runescape.wiki###footer-info-lastmod

! End

DNS over HTTPS

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

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' distro-sync -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

2)
Fedora Server and RHEL do it
3)
this uses all available remaining space
4)
can also use F2FS with F39+ or by installing f2fs-tools on F38 and older before starting Anaconda
5)
single en not en, en
6)
the current values are specific to a Dell Latitude 5591 and its onboard HDMI port
/var/www/wiki/data/pages/distros/fedora_workstation_gnome.txt · Last modified: 2024/03/25 18:37 by Sean Rhone