distros:fedora_workstation_gnome
                This is an old revision of the document!
Table of Contents
Information
- Fedora Workstation 1)
- 31
- 32 Beta
Issues
- KeePassXC loads databases slower specifically on Fedora vs other distros 2)
Download
Workstation
Updated Live Images
Installation Notes
- EFI/fedora/shimx64.efi3)
- Remove/home, set/bootand/to use XFS, expand/
HOSTS
- UsingUnified hosts + fakenews + gambling
wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp '/etc/hosts' '/etc/hosts-bak' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sync
cat '/etc/hosts' | grep 'Date:'
sudo -e '/etc/hosts'
RoE LAN
- This adds RoE sites to HOSTS file and allows resources to be grabbed over LAN
- Useful for doing significant configurations with sites on LAN
echo -e '\n# RoE LAN\n192.168.1.153 realmofespionage.xyz\n192.168.1.153 social.realmofespionage.xyz\n192.168.1.153 blog.realmofespionage.xyz\n192.168.1.153 media.realmofespionage.xyz\n192.168.1.153 wiki.realmofespionage.xyz' | sudo tee --append '/etc/hosts' > '/dev/null' && cat '/etc/hosts' | grep 'realmofespionage.xyz'
DNF
- Disables Delta RPMs withdeltarpm=false
cat '/etc/dnf/dnf.conf' | grep 'deltarpm=false' || echo 'deltarpm=false' | sudo tee --append '/etc/dnf/dnf.conf' > '/dev/null' && cat '/etc/dnf/dnf.conf'
Repositories
su
- Useful for fresh installations where repo(s) can be added, and then package updates can be ran afterwards unattended without havingsudotimeout and re-prompt for the password
sudo su
RPM Fusion
free
sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-'$(rpm -E %fedora) && sync && sudo dnf install 'https://download1.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-'$(rpm -E %fedora) && sync && sudo dnf install 'https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync
RawhideKernelNodebug
sudo dnf config-manager --add-repo='http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo'
gloriouseggroll/kernel Copr
- TODO: Figure out vim or just add this after installing - nano
sudo -e '/etc/yum.repos.d/ge-fsync-kernel.repo'
[kernel-fsync] name=Copr repo for kernel owned by gloriouseggroll baseurl=https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/kernel/fedora-$releasever-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/kernel/pubkey.gpg repo_gpgcheck=0 enabled=1 enabled_metadata=1 priority=1
Software
Update
System
- The initialdnf clean allwas removed from here since on a fresh install, there's nothing to remove, and fresh repo data is pulled-in
sudo dnf distro-sync -y && sync
sudo dnf autoremove
Autoremove Fix
- Removes the initially-installed kernel in order to fix ``dnf autoremove``
- This will vary depending on the Fedora image version used 
sudo dnf list --installed 'kernel'*
sudo dnf remove *5.3.7* && sync
Firmware
sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose
Flatpaks
flatpak update && sudo flatpak update
GNU nano
- Installsnano
- SetsVISUALandEDITORtonanovia environment variable
- Setsnowrapfor 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'
RPM Fusion Initial
- Covers AppStream data and missing Multimedia packages
sudo dnf groupupdate core multimedia sound-and-video && sync
General
- p7zip-pluginsprovides- 7zwhich can be used for extracting ISOs and other formats
sudo dnf install filezilla keepassxc p7zip p7zip-plugins unar aria2 gimp transmission-gtk hdparm nano htop wget irqbalance evolution flashrom lm_sensors
RPM Fusion
free
- ffmpegis for- youtube-dlto correct DASH containers
ffmpeg mpv
nonfree
steam
akmod-nvidia
Game Controllers
- Necessary for Xbox 360 controllers, and maybe others
kernel-modules-extra
VA-API
- libva-intel-driverrequires the RPM Fusion free repo
- intel-media-driveris the newer VA-API solution
- libva-utilsprovides- vainfo
libva-intel-driver intel-media-driver
libva-utils
ckb-next
ckb-next
Keybase
'https://prerelease.keybase.io/keybase_amd64.rpm'
Wine
wine winetricks
Tor Browser
torbrowser-launcher
Google Chrome
sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo dnf install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'
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 && rm -Rfv '/usr/lib64/firefox/browser/features' '/home/'*'/.mozilla/firefox/'*'/features' && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/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
- Pause or F7
Printer
- Select the - en, enprinter driver
- Output Mode: Black Only Grayscale
- Print Quality: High-Resolution Photo
- Administration → Set As Server Default
socket://192.168.1.164:9100
gedit
- 4 Tab width
- Insert Spaces for Tab mode
Network
DNS
Cloudflare
UncensoredDNS
OpenNIC Anycast
185.121.177.177,169.239.202.202
2a05:dfc7:5::53,2a05:dfc7:5::5353
VPN.AC
- See VPN.AC
- If using this VPN, disable IPv6 from NetworkManager 
Nautilus
- Sort folders before files
- 4096 MB File Previews
Rhythmbox
- See Internet Radio
Terminal
- 10-notch Transparency
Environment Variables
iHD VA-API
- Requiresintel-media-driver
- Requires HuC firmware loaded for “AVC/HEVC/VP9 low power encoding bitrate control, including CBR, VBR, etc”, which requires - i915.enable_guc=2and PAVP enabled in firmware settings
echo 'export LIBVA_DRIVER_NAME=iHD' | sudo tee '/etc/profile.d/iHD-vappi.sh' > '/dev/null' && cat '/etc/profile.d/iHD-vappi.sh'
sudo -e '/etc/profile.d/iHD-vappi.sh'
Verify
- Default:Intel i965 driver for Intel(R) Coffee Lake - 2.4.0
- iHD:Intel iHD driver - 1.0.0
vainfo | grep 'Driver'
LIBVA_DRIVER_NAME='iHD' vainfo | grep 'Driver'
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'
Swap
echo -e 'vm.swappiness = 1\nvm.vfs_cache_pressure = 50' | sudo tee '/etc/sysctl.d/99-swap.conf' > '/dev/null' && cat '/etc/sysctl.d/99-swap.conf'
Verify
- swappinessshould be- 1
- vfs_cache_pressureshould be- 50
sysctl 'vm.swappiness' 'vm.vfs_cache_pressure'
GRUB
Config
UEFI
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/efi/EFI/fedora/grub.cfg'
Legacy
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg'
grubby
- Add commands withinargs
- For whatever reason, - grubbysometimes exists on F31, where other times it doesn't
sudo grubby --update-kernel='ALL' --args=''
Kernel Parameters
Other Parameters
- See Kernel Parameters for other options
Spinesnap
- Last updated: 2020/01/19
- With - i915.enable_guc=3, HuC submission requires PAVP to be enabled in firmware settings or else the firmware can't be loaded or authenticated
i915.enable_fbc=1 i915.fastboot=1 modprobe.blacklist=iTCO_wdt,sp5100_tco nowatchdog
i915.enable_guc=3
NVIDIA
- Last updated: 2020/02/16
- rd.driver.blacklist=nouveauand- modprobe.blacklist=nouveauare automatically added to- GRUB_CMDLINE_LINUX=, and the Watchdog modules need appended to that
,iTCO_wdt,sp5100_tco
i915.enable_fbc=1 i915.fastboot=1 nowatchdog
GNOME
Extensions
Top Panel Workspace Scroll
rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' '/tmp/gnome-shell-scroll-workspaces-master.zip' '/tmp/gnome-shell-scroll-workspaces-master' && wget -O '/tmp/gnome-shell-scroll-workspaces-master.zip' 'https://github.com/timbertson/gnome-shell-scroll-workspaces/archive/master.zip' && unzip '/tmp/gnome-shell-scroll-workspaces-master.zip' -d '/tmp' && mkdir -p ~/'.local/share/gnome-shell/extensions' && mv '/tmp/gnome-shell-scroll-workspaces-master/scroll-workspaces' ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && gnome-extensions enable 'scroll-workspaces@gfxmonk.net' && sync
Uninstall
gnome-extensions disable 'scroll-workspaces@gfxmonk.net' && rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && sync
Disable Wayland
cat '/etc/gdm/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable'/'WaylandEnable'/g' '/etc/gdm/custom.conf' && cat '/etc/gdm/custom.conf' | grep 'WaylandEnable'
sudo -e '/etc/gdm/custom.conf'
Root GUI Apps in Wayland
- Run this before running GUI applications requiring root
- This needs re-ran after session restart
- TODO: Is this even needed anymore?
xhost +LOCAL:
Settings
All-in-one
- Last updated: 2019/12/23
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.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
Individual
- Last updated: 2019/12/23
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.software' 'download-updates' 'false'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
Hostname
- Changexto computer name
hostnamectl set-hostname 'x'
KeePassXC
Settings
- General → [ ] Load previous databases on startup
Add Database Password to GNOME Keyring
secret-tool store --label='KeePass' 'keepass' 'default'
lm_sensors
sudo sensors-detect --auto
mpv
mkdir -p ~/'.config/mpv' && echo -e "vo=gpu\nprofile=gpu-hq\nhwdec=vaapi-copy" | tee ~/'.config/mpv/mpv.conf' > '/dev/null' && cat ~/'.config/mpv/mpv.conf'
NetworkManager
- wifi.powersavecan be- 2for disabled, or- 3for enabled
- ethernet.cloned-mac-address=randombreaks USB Tethering with iOS/iPhones
sudo -e '/etc/NetworkManager/conf.d/99-custom.conf'
[device-mac-randomization] wifi.scan-rand-mac-address=yes [connection-mac-randomization] wifi.cloned-mac-address=random [connection] wifi.powersave=2
[connection-mac-randomization] ethernet.cloned-mac-address=random
Laptop Power Management
Secure Shell
- See Secure Shell
TRIM
Swap
- According to theswaponman page, setting this infstabis acceptable
sudo -e '/etc/fstab'
,discard
Service
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
Wine
- See Wine
Xorg
- See xorg.conf Snippets for more configurations
Spinesnap
NVIDIA
- Sets pre-rendered frames from the default to 1
- Apparently reduces CPU usage for desktop environments rendered with the NVIDIA GPU
- May smooth-out framerates when turning the camera in FFXIV
echo 'export __GL_MaxFramesAllowed=1' | sudo tee '/etc/profile.d/nvidia-custom.sh' > '/dev/null' && cat '/etc/profile.d/nvidia-custom.sh'
sudo -e '/etc/profile.d/nvidia-custom.sh'
intel + nouveau
sudo dnf install xorg-x11-drv-intel xorg-x11-drv-nouveau -y && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "OutputClass"
    Identifier  "Intel Graphics"
    MatchDriver "i915"
    Driver	"intel"
    Option	"DRI"       "3"
    Option	"TearFree"  "0"
EndSection
Section "OutputClass"
    Identifier  "NVIDIA Graphics"
    MatchDriver "nouveau"
    Driver	"nouveau"
    Option	"DRI"       "3"
EndSection
Nightwane
- TheModelineexpects an Acer S271HL monitor to be used over DVI
sudo dnf install 'xorg-x11-drv-ati' -y && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Monitor"
    Identifier  "DVI-1"
    Modeline "1920x1080_75"  164.61  1920 1944 1976 2008  1080 1083 1088 1093 +hsync +vsync
    Option      "PreferredMode" "1920x1080_75"
EndSection
Section "OutputClass"
    Identifier  "AMD Graphics"
    MatchDriver "radeon"
    Driver      "radeon"
    Option      "DRI"               "3"
    Option      "SwapbuffersWait"   "0"
    Option      "TearFree"          "0"
    Option      "AccelMethod"       "EXA"
EndSection
Mozilla Firefox
Settings
Environment Variables
- Enables hardware acceleration, use of WebRenderer, and smooth-scrolling
- WebRenderer requires the previous - MOZ_ACCELERATEDvariable as well
echo -e 'export MOZ_ACCELERATED=1\nexport MOZ_WEBRENDER=1\nexport MOZ_USE_XINPUT2=1' | sudo tee '/etc/profile.d/firefox-hwaccel.sh' > '/dev/null' && cat '/etc/profile.d/firefox-hwaccel.sh'
sudo -e '/etc/profile.d/firefox-hwaccel.sh'
Default Profile
rm -fv '/tmp/profiles.ini' && nano '/tmp/profiles.ini' && sed -i 's/'CHANGEME'/'$USER'/g' '/tmp/profiles.ini'
[General] StartWithLastProfile=1 [Profile0] Name=default IsRelative=1 Path=CHANGEME Default=1
user.js
- Last updated: 2020/03/14
rm -fv '/tmp/user.js' && nano '/tmp/user.js'
/*********************
 * Hardware-specific *
 *********************/
user_pref("layout.frame_rate", 144);
/***********
 * General *
 ***********/
user_pref("extensions.screenshots.disabled", true);
user_pref("reader.parse-on-load.enabled", false);
user_pref("media.mediasource.experimental.enabled", true);
user_pref("media.mediasource.ignore_codecs", true);
user_pref("media.autoplay.enabled", false);
user_pref("webgl.disabled", true);
user_pref("webgl.enable-webgl2", false);
user_pref("accessibility.force_disabled", 1);
user_pref("mousewheel.min_line_scroll_amount", 40);
user_pref("browser.tabs.drawInTitlebar", true);
user_pref("network.standard-url.escape-utf8", false);
/***********
 * Privacy *
 ***********/
user_pref("security.tls.version.min", 2);
user_pref("security.ssl.require_safe_negotiation", true);
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("security.OCSP.require", true);
user_pref("security.cert_pinning.enforcement_level", 2);
user_pref("security.ssl3.rsa_des_ede3_sha", false);
user_pref("security.ssl.enable_false_start", false);
user_pref("network.security.esni.enabled", true);
/*******
 * U2F *
 *******/
user_pref("security.webauth.u2f", true);
/*******
 * END *
 *******/
VPN
- Add if using a VPN in order to prevent local IP address leaking 
- IPv6 is disabled in order to prevent WebRTC from grabbing an IPv6 address even though NetworkManager has it disabled… 
- media.peerconnection.enableddisables WebRTC
/***********
 * Privacy *
 ***********/
user_pref("network.dns.disableIPv6", true);
user_pref("media.peerconnection.enabled", false);
Apply Settings
- Pathshould report the current user's username, and the text- Custom Stuffshould be visible
- If Firefox doesn't open automatically, - firefox -p defaultmust be ran the first time Firefox is started after this command
ls '/tmp/profiles.ini' '/tmp/user.js' && pkill 'firefox' && rm -Rfv ~/'.mozilla' && sync && mkdir -p ~/'.mozilla/firefox/'$USER && mv '/tmp/profiles.ini' ~/'.mozilla/firefox/profiles.ini' && mv '/tmp/user.js' ~/'.mozilla/firefox/'$USER'/user.js' && sync && cat ~/'.mozilla/firefox/profiles.ini' | grep $USER && cat ~/'.mozilla/firefox/'$USER'/user.js' | grep 'Custom Stuff' && sleep '1' && sync || firefox -p 'default'
Extensions
Download
- Decentraleyes
- HTTPS Everywhere
- Privacy Possum
- Cookie AutoDelete
- uBlock Origin
gio open 'https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions' && gio open 'https://www.eff.org/https-everywhere' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions'
Cookie AutoDelete
- [x] Enable Automatic Cleaning? Delay Before Cleaning
- [x] Enable Cleanup on Domain Change
- [ ] Enable Cleanup Log and Counter
- [ ] Show Notification After Cookie Cleanup
- [x] Clean Cookies from Open Tabs on Startup
- [x] Localstorage Cleanup (Firefox 58+)
HTTPS Everywhere
- Encrypt All Sites Eligible → On
uBlock Origin
Settings
- [x] Prevent WebRTC from leaking local IP addresses
Filter lists
- Multipurpose → [x] Dan Pollock's hosts file
- Multipurpose → [x] hpHost's Ad and tracking servers
- Multipurpose → [x] MVPS HOSTS
- Custom → [x] Import
Custom 3rd-party filters
- Last updated: 2018/11/23
https://www.fanboy.co.nz/fanboy-problematic-sites.txt https://www.fanboy.co.nz/r/fanboy-ultimate.txt https://www.fanboy.co.nz/fanboy-antifacebook.txt https://www.fanboy.co.nz/fanboy-antifonts.txt https://www.fanboy.co.nz/fanboy-cookiemonster.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/popads-domains-list.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fake-news.txt
Testing Sites
Notable Folders and Commands
Extract ISO
- Dis the destination you want the extracted files to go
- xis the ISO you want to extract files from
- No space after the-oflag is intentional
- This is primarily useful for copying Windows ISO images to a FAT32 flash drive
7z x -o'D' -y x
7z x -o'/run/media/espionage724/LTSC 2019' -y '/home/espionage724/Downloads/en_windows_10_enterprise_ltsc_2019_x64_dvd_be3c8ffb.iso' && sync && sync
youtube-dl
Download
rm -f '/tmp/youtube-dl' && wget -O '/tmp/youtube-dl' 'https://yt-dl.org/downloads/latest/youtube-dl' && chmod +x '/tmp/youtube-dl'
Show Formats
- Changexto a URL
'/tmp/youtube-dl' --list-formats x
Download Media
- Changexto a URL
- bestaudiocan be changed to- bestvideofor just video, or- bestfor best video with audio
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' x
M4A Audio
- Ideally for if iOS devices will be involved
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'm4a' x
MP3 Audio
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'mp3' x
Shortcuts
/usr/share/applications
~/.local/share/applications
Icons
/usr/share/icons/hicolor
~/.local/share/icons/hicolor
Anaconda Module Blacklists
sudo -e '/etc/modprobe.d/anaconda-blacklist.conf'
YUM/DNF Repos
gio open '/etc/yum.repos.d'
DNF History
Transaction IDs
sudo dnf history
Undo
- Changexto a transaction ID found above
sudo dnf history undo x
GPG Keys
Check Keys
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
Remove Keys
sudo rpm -e x
Re-generate Thumbnails
rm -Rf ~/'.cache/thumbnails'
List GNOME gsettings
- Changexto schema or omit it to show all settings
gsettings list-recursively 'x'
GNOME Software Maintenance
pkcon -c '1' refresh && pkcon update
fstrim
sudo fstrim --verbose --all
SELinux Re-label
sudo touch '/.autorelabel'
GNOME Monitors Reset
rm -f ~/'.config/monitors.xml' ~/'.config/monitors.xml~'
PulseAudio Reset
rm -f ~/'.config/pulse/'*
Xorg Debug
journalctl -e _COMM='gdm-x-session'
gio open ~/'.local/share/xorg/Xorg.1.log'
Verify DRI3
LIBGL_DEBUG='verbose' glxinfo | grep 'libgl'
GpuTest
Execute
HDTV
- 1280×720
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720'
/fullscreen /benchmark /benchmark_duration_ms='15000'
NVIDIA Optimus
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && __NV_PRIME_RENDER_OFFLOAD='1' __GLX_VENDOR_LIBRARY_NAME='nvidia' ./GpuTest /test='fur' /width='1280' /height='720'
FHD
- 1920×1080
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
/fullscreen /benchmark /benchmark_duration_ms='15000'
UHDTV1
- 3840×2160
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160'
/fullscreen /benchmark /benchmark_duration_ms='15000'
Cleanup
rm -Rf '/tmp/GpuTest_Linux_'* && cd ~ && sync
Show Sensors
sudo apt install 'lm-sensors' -y && sudo sensors-detect --auto && sudo watch -n0.1 sensors
Show CPU Frequency
grep 'MHz' '/proc/cpuinfo'
watch -n 0.1 grep \'cpu MHz\' '/proc/cpuinfo'
OpenSSL Supported Ciphers
openssl ciphers -v | awk '{print $2}' | sort | uniq
Partition Information
- Both commands do the same things
df -hT
df --human-readable --print-type
Encryption Information
sudo cryptsetup -v status '/dev/dm-0'
ATA Secure Erase
- All - hdparmcommands below assume actions to be performed on- /dev/sda
Preparation
sudo dnf install 'hdparm' && sync
sudo hdparm -I '/dev/sda'
systemctl suspend
ATA Secure Erase
sudo blkdiscard --verbose '/dev/sda'
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync
NVMe Erase
- NVMe Erase from the start page lands here and I usually use a Ubuntu LiveUSB to do this, hence theaptcommand
sudo apt install 'nvme-cli' -y && sync
sudo dnf install 'nvme-cli' -y && sync
sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync
Clean EFI Variables
- Could potentially cause a firmware brick or other issues with improper EFI implementations, use at own risk 7) 
- Safer way is to useefibootmgrto remove boot entries individually
sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v
RAID
Controller Details
sudo mdadm --detail-platform
Create Software RAID
- Came from old notes; I assume this worked at some point, but in any case, the syntax looks nice :p 
sudo mdadm --create '/dev/md0' --name='RAID' --level='0' --raid-devices='3' '/dev/sda' '/dev/sdb' '/dev/sdc' --verbose
VGA Switcheroo Power States
sudo cat '/sys/kernel/debug/vgaswitcheroo/switch'
ACPI Tables
- Indsdt.dsl, look for_OSIvalues, along withWindowsandLinux
sudo dnf install 'acpica-tools'
sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat'
cd ~ && iasl -d ~/'dsdt.dat'
gio open ~/'dsdt.dsl'
sudo dnf remove 'acpica-tools' && sync
Display EDID Info
Custom Resolutions
Generate Modeline
- Use--reducedonly for LCD/Non-CRT displays, and only as-needed 8)
- Syntax ishorizontal(width),vertical(height) andrefresh rate
cvt '3840' '2160' '60'
cvt --reduced '3840' '2160' '60'
--reduced
Temporarily Apply
- Changes are lost after reboot
- Values after--newmodeare from the above generate command, and is everything afterModeline
xrandr --newmode "3840x2160R" 533.00 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync
xrandr --addmode 'HDMI-A-0' '3840x2160R'
xrandr --output 'HDMI-A-0' --mode '3840x2160R'
Verify
xrandr --verbose | grep *current
Permanently Apply
- Identifieris the name of the port on the GPU the display is connected to
- Modelineis from the above generate command, including the text- Modeline
- PreferredModeis the custom resolution name generated
Section "Monitor"
    Identifier  "HDMI-A-0"
    Modeline x
    Option      "PreferredMode" "3840x2160R"
EndSection
Backlight
Notes
- The following commands with an asterisk expect only one backlight controller at/sys/class/backlight
- This was only tested on one laptop withintel_backlight
- See Power Management notes on how to add backlight changes to a udev script
- See backlight for more details
Controller Name
ls '/sys/class/backlight'
Query Current Brightness
cat '/sys/class/backlight/'*'/brightness'
Query Max Brightness
cat '/sys/class/backlight/'*'/max_brightness'
Set Custom Brightness
- Change376to desired brightness
- Desired brightness must be undermax_brightnessvalue
echo "376" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Set Max Brightness
echo "$(cat '/sys/class/backlight/'*'/max_brightness')" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Intel GuC Firmware
sudo cat '/sys/kernel/debug/dri/0/i915_guc_info'
sudo cat '/sys/kernel/debug/dri/0/i915_guc_load_status'
Hyper-threading Information
grep -e "processor" -e "core id" -e "^$" /proc/cpuinfo
Optimal GCC compiler flags
gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1 | perl -pe 's/ -mno-\S+//g; s/^.* - //g;'
Privacy
Clear Terminal History
history -cw
Create 7z Password Archive
- Change7ZIPNAMEin7ZIPNAME.7zto the desired archive name
- ChangePASSin-pPASSto the desired password
- Changexto the file or folder to add to the archive
7za a '7ZIPNAME.7z' -p'PASS' 'x'
7za a 'x.7z' -p'x' 'x'
oathtool
- xis a secret without- &digits=6
sudo dnf install 'oathtool'
oathtool --totp -b 'x'
Remove EXIF data
sudo dnf install 'perl-Image-ExifTool'
exiftool -all= *.* -overwrite_original
3) 
EFI file to boot and in the case of (quirky) InsydeH2O UEFI implementations, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
4) 
defaults,discard
7) 
personally tested fine on several Acer and Dell computers
8) 
useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups
/usr/local/www/wiki/data/attic/distros/fedora_workstation_gnome.1585144466.txt.gz · Last modified:  by Sean Rhone
                
                