User Tools

Site Tools


distros:fedora_workstation_gnome

This is an old revision of the document!


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
  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

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 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 irqbalance icoutils kernel-tools lm_sensors openssl1.1 gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins unar wget xrandr yt-dlp 

Intel Media Driver

  • Fedora 40 (src, #1942132) 4)
  • TODO: See if wine benefits and add i686 packages if so
intel-media-driver-free

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

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'

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'
sysctl 'vm.swappiness'

Dracut

  • System-specific boot optimization
  • :!: 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 && sync
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

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/01/24
  • GRUB_CMDLINE_LINUX=
  • :!: Some of this is based on assumptions about power-saving and performance
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg'
acpi_osi='Linux' iommu='pt' pcie_aspm='off' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window,nocrs,assign-busses' intremap='off' preempt='full' threadirqs nohz='off' i915.enable_fbc='0' i915.enable_psr='0' i915.panel_use_ssc='0' i915.nuclear_pageflip='1' i915.edp_vswing='2' mem_sleep_default='s2idle' reboot='pci' usbcore.quirks='1b1c:1b75:gn'

GNOME

Dynamic Wallpaper

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

Extensions

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 ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml'

Undo

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

Tweaks

sudo -e '/etc/profile.d/99-tweaks.sh'
# Mutter
export MUTTER_DEBUG_ENABLE_ATOMIC_KMS='0'
export MUTTER_DEBUG_FORCE_KMS_MODE='simple'

# Clutter
export CLUTTER_PAINT='disable-dynamic-max-render-time'

# Mesa
export MESA_DISK_CACHE_SINGLE_FILE='1'
export MESA_DISK_CACHE_DATABASE='1'
export MESA_DISK_CACHE_COMBINE_RW_WITH_RO_FOZ='1'

# End

Settings

All-in-one

  • Last updated: 2024/01/02
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/01/02
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

  • Last tested: 2024/01/22
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

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 be installed from RPM in F39 but doesn't offer any known benefit
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/attic/distros/fedora_workstation_gnome.1706113275.txt.gz · Last modified: 2024/01/24 11:21 by Sean Rhone