Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
distros:fedora_workstation_gnome [2020/08/16 14:02] – Sean Rhone | distros:fedora_workstation_gnome [2024/04/07 15:21] – Sean Rhone |
---|
| |
* Fedora Workstation ((https://getfedora.org/en/workstation)) | * Fedora Workstation ((https://getfedora.org/en/workstation)) |
* 32 | * 39 |
| |
====== Issues ====== | ====== Download ====== |
| |
* KeePassXC loads databases slower specifically on Fedora vs other distros ((https://bugzilla.redhat.com/show_bug.cgi?id=1653435)) | ===== Fedora Media Writer ===== |
| |
====== TODO ====== | * https://github.com/FedoraQt/MediaWriter/releases |
| |
* https://github.com/intel/gvt-linux/issues/107 | |
| |
====== Download ====== | |
| |
===== Workstation ===== | ===== Workstation ===== |
| |
===== Updated Live Images ===== | ===== Updated Live Images ===== |
| |
| * [[https://fedoraproject.org/wiki/Respins-SIG|Respins-SIG]] |
| |
* https://dl.fedoraproject.org/pub/alt/live-respins | * https://dl.fedoraproject.org/pub/alt/live-respins |
====== Installation Notes ====== | ====== Installation Notes ====== |
| |
* ''EFI/fedora/shimx64.efi'' ((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)) | ===== Partitioning ===== |
* Remove ''/home'', set ''/boot'' and ''/'' to use XFS, expand ''/'' | |
| - :!: Delete ''/home'' |
| - :!: Delete ''/'' |
| - Set ''/boot'' to XFS ((Fedora Server and RHEL do it)) |
| - Re-create ''/'' without specifying a size ((this uses all available remaining space)) |
| - Set ''/'' to XFS ((can also use F2FS with F39+ or by installing ''f2fs-tools'' on F38 and older before starting Anaconda)) |
| - :!: See [[notes:misc_linux#create_software_raid|Software RAID]] notes if software RAID across multiple drives is wanted |
| |
====== HOSTS ====== | ====== HOSTS ====== |
| |
* https://github.com/StevenBlack/hosts/ | * https://github.com/StevenBlack/hosts/ |
* Using ''Unified hosts + fakenews + gambling'' | * Unified hosts + fakenews + gambling |
| |
wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts' && sudo cp '/etc/hosts' '/etc/hosts-bak' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sync | ===== Initial ===== |
| |
cat '/etc/hosts' | grep 'Date:' | * Only run once |
| |
sudo -e '/etc/hosts' | 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 |
| |
===== RoE LAN ===== | ===== Update ===== |
| |
* 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' | 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 |
| |
====== DNF ====== | ===== Restore Backup ===== |
| |
* Disables Delta RPMs with ''deltarpm=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' | ls '/etc/hosts~' && sudo restorecon -F -I -R '/etc/hosts~' && sudo mv --force '/etc/hosts~' '/etc/hosts' && sync |
| |
====== Repositories ====== | ====== DNF ====== |
| |
===== su ===== | * Disables Delta RPMs with ''deltarpm=false'' |
| |
* Useful for fresh installations where repo(s) can be added, and then package updates can be ran afterwards unattended without having ''sudo'' timeout and re-prompt for the password | echo 'deltarpm=false' | sudo tee --append '/etc/dnf/dnf.conf' > '/dev/null' && cat '/etc/dnf/dnf.conf' | grep 'deltarpm=false' |
| |
sudo su | sudo -e '/etc/dnf/dnf.conf' |
| |
| ====== Repositories ====== |
| |
===== RPM Fusion ===== | ===== RPM Fusion ===== |
| |
* https://rpmfusion.org | * https://rpmfusion.org |
| * See [[notes:fedora_rpm_fusion|RPM Fusion]] notes |
| |
==== free ==== | ==== free ==== |
* https://download1.rpmfusion.org/free/fedora | * https://download1.rpmfusion.org/free/fedora |
| |
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 | 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 ==== | ==== nonfree ==== |
* https://download1.rpmfusion.org/nonfree/fedora | * https://download1.rpmfusion.org/nonfree/fedora |
| |
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 | 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 |
| |
===== RawhideKernelNodebug ===== | ==== tainted ==== |
| |
* https://fedoraproject.org/wiki/RawhideKernelNodebug | * Provides interesting firmware files |
* https://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug | |
| |
sudo dnf config-manager --add-repo='http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo' | sudo dnf install 'rpmfusion-free-release-tainted' 'rpmfusion-nonfree-release-tainted' |
| |
====== Software ====== | ====== Software ====== |
==== System ==== | ==== System ==== |
| |
* The initial ''dnf clean all'' was removed from here since on a fresh install, there's nothing to remove, and fresh repo data is pulled-in | * See [[notes:misc_linux#dnf_autoremove_fix]] if ''dnf autoremove'' fails |
| |
sudo dnf distro-sync -y && sync | sudo dnf autoremove -y && 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 ==== | ==== Firmware ==== |
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' | 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 ===== | ==== Multimedia ==== |
| |
* https://rpmfusion.org/Configuration | * https://rpmfusion.org/Howto/Multimedia |
* Covers AppStream data and missing Multimedia packages | |
| |
sudo dnf groupupdate core multimedia sound-and-video && sync | <code>sudo dnf swap 'ffmpeg-free' 'ffmpeg' --allowerasing</code> |
| |
| <code>sudo dnf groupupdate 'core' 'multimedia' 'sound-and-video' --setop='install_weak_deps=False' --exclude='PackageKit-gstreamer-plugin' --allowerasing && sync</code> |
| |
===== General ===== | ===== General ===== |
| |
* ''p7zip-plugins'' provides ''7z'' which 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 | 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 |
| |
===== RPM Fusion ===== | ===== Google Chrome ===== |
| |
==== free ==== | **** |
| |
* ''ffmpeg'' is for ''youtube-dl'' to correct DASH containers | google-chrome-stable |
| |
ffmpeg mpv | ===== OBS Studio ===== |
| |
==== nonfree ==== | * ''obs-studio'' is in Fedora repos and works fine by itself, but pulls in interesting dependencies from [[notes:fedora_rpm_fusion#free|RPM Fusion's free repo]] |
| |
steam | obs-studio |
| |
akmod-nvidia | ===== RPM Fusion ===== |
| |
===== Keybase ===== | ==== free ==== |
| |
* https://keybase.io | **** |
| |
'https://prerelease.keybase.io/keybase_amd64.rpm' | ffmpeg-libs |
| |
===== Game Controllers ===== | ==== nonfree ==== |
| |
* Necessary for Xbox 360 controllers | steam |
* Not necessary for a Steam Controller | |
| |
kernel-modules-extra | |
| |
===== VA-API ===== | |
| |
* ''libva-intel-driver'' requires the [[#free1|RPM Fusion free repo]] | |
* :!: ''intel-media-driver'' requires the [[#nonfree|RPM Fusion nonfree repo]] | |
* ''intel-media-driver'' is the newer VA-API solution for Intel HD graphics | |
* ''libva-utils'' provides ''vainfo'' | |
| |
libva-intel-driver | |
| |
intel-media-driver | intel-media-driver |
| |
libva-utils | ==== Tainted ==== |
| |
===== VDPAU ===== | **** |
| |
libva-vdpau-driver | libdvdcss *'-firmware' |
| |
vdpauinfo | |
| |
vdpauinfo | grep 'Information' | |
| |
===== ckb-next ===== | |
| |
* https://github.com/ckb-next/ckb-next | |
| |
ckb-next | |
| |
===== Wine ===== | ===== Wine ===== |
| |
**** | <code>wine winetricks openssl1.1.i686</code> |
| |
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' | <code>mesa-libd3d mesa-libd3d.i686</code> |
| |
====== Settings ====== | ====== Settings ====== |
===== Keyboard Shortcuts ===== | ===== Keyboard Shortcuts ===== |
| |
gnome-terminal | <code>gnome-terminal</code> |
| |
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'" | <code>bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"</code> |
| |
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-porn-social/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''" | <code>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''"</code> |
| |
==== Keys ==== | ==== Keys ==== |
* Ctrl + Alt + T | * Ctrl + Alt + T |
* Ctrl + Alt + Z | * Ctrl + Alt + Z |
* Pause or F7 | * Menu or F6 |
| |
===== Printer ===== | ===== Printer ===== |
* http://localhost:631/admin | * http://localhost:631/admin |
| |
* :!: Select the ''en, en'' printer driver | * Printer name can be ''Ctrl + F'''d |
* Output Mode: Black Only Grayscale | * :!: AppSocket/HP JetDirect -> HP -> HP Officejet Pro 8710, hpcups (en) ((single ''en'' **not** ''en, en'')) |
* Print Quality: High-Resolution Photo | * Color Mode: Device Gray |
* Administration -> Set As Server Default | * Administration -> Set As Server Default |
| |
socket://192.168.1.164:9100 | socket://192.168.1.164:9100 |
| |
===== gedit ===== | HP Officejet Pro 8710 |
| |
* 4 Tab width | ==== Info ==== |
* Insert Spaces for Tab mode | |
| * ''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 ===== | ===== Network ===== |
| |
==== DNS ==== | ==== systemd-resolved ==== |
| |
=== Cloudflare === | * systemd-resolved caches DNS |
| * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses |
| |
* https://1.1.1.1/dns/ | sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf' |
| |
1.1.1.1,1.0.0.1 | <code> |
| [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</code> |
| |
2606:4700:4700::1111,2606:4700:4700::1001 | === NetworkManager === |
| |
=== UncensoredDNS === | <code>127.0.0.1</code> |
| |
* https://blog.uncensoreddns.org/ | <code>::1</code> |
| |
89.233.43.71,91.239.100.100 | |
| |
2a01:3a0:53:53::,2001:67c:28a4:: | |
| |
=== OpenNIC Anycast === | |
| |
* https://wiki.opennic.org/start#anycast_tier_2_dns_resolvers | |
| |
185.121.177.177,169.239.202.202 | |
| |
2a05:dfc7:5::53,2a05:dfc7:5::5353 | |
| |
==== VPN.AC ==== | |
| |
* See [[information:vpn.ac|VPN.AC]] | |
* :!: If using this VPN, disable IPv6 from NetworkManager | |
| |
===== Nautilus ===== | ===== Nautilus ===== |
| |
* Sort folders before files | * Sort Folders Before Files |
* 4096 MB File Previews | |
| |
===== Rhythmbox ===== | ===== Rhythmbox ===== |
| |
* 10-notch Transparency | * 10-notch Transparency |
| |
| ===== Fan Profile ===== |
| |
| * https://www.dell.com/support/kbdoc/en-us/000177768/guide-to-dell-power-manager |
| |
| sudo dnf install 'smbios-utils-python' -y && sudo smbios-thermal-ctl --set-thermal-mode='performance' && sudo dnf remove 'smbios-utils-python' -y |
| |
===== Kernel Options ===== | ===== Kernel Options ===== |
| |
* https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html | * https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html |
| * ''kernel.sysrq = 1'' |
| |
echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf' | echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf' |
| |
==== Swap ==== | sysctl 'kernel.sysrq' |
| |
* https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.htm | |
| |
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 === | |
| |
* ''swappiness'' should be ''1'' | |
* ''vfs_cache_pressure'' should be ''50'' | |
| |
sysctl 'vm.swappiness' 'vm.vfs_cache_pressure' | |
| |
===== GRUB ===== | ===== GRUB ===== |
==== Config ==== | ==== Config ==== |
| |
=== UEFI === | * :!: [[notes:kernel_parameters|More Kernel Parameters]] |
| |
**** | |
| |
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 within ''args'' | * Add commands within ''args'' |
* :!: For whatever reason, ''grubby'' sometimes exists on F31, where other times it doesn't | |
| |
sudo grubby --update-kernel='ALL' --args='' | sudo grubby --update-kernel='ALL' --args='' |
| |
==== Kernel Parameters ==== | sudo grubby --update-kernel='ALL' --remove-args='' |
| |
=== Other Parameters === | sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' |
| |
* See [[notes:kernel_parameters|Kernel Parameters]] for other options | ==== Spinesnap ==== |
| |
=== Spinesnap === | * Last updated: 2024/04/01 |
| * ''GRUB_CMDLINE_LINUX='' |
| |
* Last updated: 2020/06/02 | sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' |
| |
i915.enable_fbc=1 i915.fastboot=1 i915.enable_guc=3 intel_iommu=on | <code>pci='pcie_bus_perf' video='HDMI-A-1:1920x1080@74'</code> |
| |
===== GNOME ===== | ===== GNOME ===== |
| |
==== Extensions ==== | ==== Dynamic Wallpaper ==== |
| |
=== Top Panel Workspace Scroll === | **** |
| |
* https://github.com/timbertson/gnome-shell-scroll-workspaces | gsettings set 'org.gnome.desktop.background' 'picture-uri' '/usr/share/backgrounds/f'*'/default/f'*'.xml' |
| |
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 | ==== Extensions ==== |
| |
== Uninstall == | === Hide Top Bar === |
| |
**** | * https://extensions.gnome.org/extension/545/hide-top-bar/ |
| |
gnome-extensions disable 'scroll-workspaces@gfxmonk.net' && rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && sync | ==== External Monitor Settings ==== |
| |
==== Disable Wayland ==== | * 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 |
| |
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 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' |
| |
sudo -e '/etc/gdm/custom.conf' | === Undo === |
| |
==== Root GUI Apps in Wayland ==== | **** |
| |
* Run this before running GUI applications requiring root | sudo rm ~gdm/'.config/monitors.xml' && sync |
* This needs re-ran after session restart | |
* TODO: Is this even needed anymore? | |
| |
xhost +LOCAL: | |
| |
==== Settings ==== | ==== Settings ==== |
=== All-in-one === | === All-in-one === |
| |
* Last updated: 2019/12/23 | * Last updated: 2024/04/01 |
| |
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' | 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.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' |
| |
=== Individual === | === Individual === |
| |
* Last updated: 2019/12/23 | * Last updated: 2024/04/01 |
| |
| gsettings reset 'org.gnome.shell' 'app-picker-layout' |
| |
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' | gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' |
| |
gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' | gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' |
| |
| gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' |
| |
gsettings set 'org.gnome.software' 'download-updates' 'false' | gsettings set 'org.gnome.software' 'download-updates' 'false' |
| |
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' | gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' |
| |
| ==== Weather ==== |
| |
| === Location Fork === |
| |
| * https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/247#note_1819885 |
| |
| * Last tested: 2024/03/31 |
| |
| 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 ===== | ===== Hostname ===== |
===== lm_sensors ===== | ===== lm_sensors ===== |
| |
**** | sudo sensors-detect --auto |
| |
sudo sensors-detect --auto | sudo -e '/etc/sysconfig/lm_sensors' |
| |
===== mpv ===== | ===== mpv ===== |
| |
* Change ''hwdec'' to ''nvdec'' if using NVIDIA GPU primarily | mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf' |
* :!: TODO: Why is ''vaapi-copy'' being used here? | |
| |
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.powersave'' can be ''2'' for disabled, or ''3'' for enabled | |
* :!: ''ethernet.cloned-mac-address=random'' breaks USB Tethering with iOS/iPhones | |
| |
sudo -e '/etc/NetworkManager/conf.d/99-custom.conf' | |
| |
<code> | <code> |
[device-mac-randomization] | save-position-on-quit |
wifi.scan-rand-mac-address=yes | sub-auto=fuzzy |
| force-window=yes |
[connection-mac-randomization] | profile=gpu-hq |
wifi.cloned-mac-address=random | scale=ewa_lanczossharp |
| cscale=ewa_lanczossharp |
[connection] | video-sync=display-resample |
wifi.powersave=2</code> | interpolation |
| tscale=oversample</code> |
| |
<code> | <code> |
[connection-mac-randomization] | hwdec=vaapi |
ethernet.cloned-mac-address=random</code> | hwdec-codecs=all |
| vo=dmabuf-wayland</code> |
===== Laptop Power Management ===== | |
| |
* See [[notes:laptop_power_management|Laptop Power Management]] | |
| |
===== Secure Shell ===== | ===== Secure Shell ===== |
* See [[clients:secure_shell|Client]] notes to generate/restore public key | * See [[clients:secure_shell|Client]] notes to generate/restore public key |
| |
===== TRIM ===== | ===== Drive Maintenance ===== |
| |
==== Swap ==== | ==== XFS Scrub ==== |
| |
* Add ''discard'' after ''defaults'' for the ''swap'' mountpoint ((defaults,discard)) | * [[https://wiki.archlinux.org/title/XFS#Online_metadata_checking_(scrub)|XFS - ArchWiki]] |
* According to the ''swapon'' man page, setting this in ''fstab'' is acceptable | |
| |
sudo -e '/etc/fstab' | sudo dnf install 'xfsprogs-xfs_scrub' -y && sync |
| |
,discard | sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l |
| |
==== Service ==== | ==== Trim ==== |
| |
**** | **** |
===== UTC ===== | ===== UTC ===== |
| |
* [[https://wiki.archlinux.org/index.php/System_time#Time_standard|ArchWiki]] | * [[https://wiki.archlinux.org/index.php/System_time#Time_standard|System time - ArchWiki]] |
* Set RTC to UTC | * Set RTC to UTC |
* :!: Needed if Windows is installed first | * :!: Likely needed if Windows was installed first for dual-boot |
* :!: Windows should also be set to UTC | * :!: Windows should also be set to UTC |
| |
* See [[notes:wine|Wine]] | * See [[notes:wine|Wine]] |
| |
====== Xorg ====== | ===== Xorg/Wayland ===== |
| |
* See [[notes:xorg.conf_snippets|xorg.conf Snippets]] | |
* :!: Ideally ''modesetting'' should be used | |
| |
====== Mozilla Firefox ====== | |
| |
===== Settings ===== | |
| |
==== Environment Variables ==== | |
| |
* Enables hardware acceleration, use of WebRenderer, and smooth-scrolling | |
* :!: WebRenderer requires the previous ''MOZ_ACCELERATED'' variable 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' | ==== Full RGB HDMI ==== |
| |
==== Default Profile ==== | * See [[notes: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 ((the current values are specific to a Dell Latitude 5591 and its onboard HDMI port)) |
| |
rm -fv '/tmp/profiles.ini' && nano '/tmp/profiles.ini' && sed -i 's/'CHANGEME'/'$USER'/g' '/tmp/profiles.ini' | 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 |
| |
<code> | <code> |
[General] | #!/bin/bash |
StartWithLastProfile=1 | proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1' |
| proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'</code> |
| |
[Profile0] | ====== Firefox ====== |
Name=default | |
IsRelative=1 | |
Path=CHANGEME | |
Default=1</code> | |
| |
==== user.js ==== | * See [[notes:firefox|Firefox]] if old configuration is needed, otherwise use Firefox Sync |
| * https://wiki.archlinux.org/title/Firefox/Privacy |
| |
* Last updated: 2020/04/15 | ===== about:config ===== |
| |
* :!: IPv6 is disabled in order to prevent WebRTC from grabbing an IPv6 address even though NetworkManager has it disabled... | * See [[notes:firefox#aboutconfig|about:config]] for more info |
* :!: ''media.peerconnection.enabled'' disables WebRTC | * :!: ''layout.frame_rate'' ideally needs set if using Wayland and above 60Hz |
| |
rm -fv '/tmp/user.js' && nano '/tmp/user.js' | layout.frame_rate |
| |
<code> | extensions.screenshots.disabled |
/********************* | |
* Hardware-specific * | |
*********************/ | |
| |
user_pref("layout.frame_rate", 144); | extensions.pocket.enabled |
| |
/*********** | |
* 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("media.av1.enabled", false); | |
user_pref("media.hardware-video-decoding.force-enabled", true); | |
user_pref("widget.wayland-dmabuf-vaapi.enabled", true); | |
| |
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("geo.enabled", false); | |
user_pref("network.http.sendRefererHeader", false); | |
user_pref("privacy.donottrackheader.enabled", true); | |
| |
user_pref("browser.safebrowsing.malware.enabled", false); | |
user_pref("browser.safebrowsing.phishing.enabled", false); | |
user_pref("browser.safebrowsing.downloads.enabled", false); | |
| |
user_pref("network.security.esni.enabled", true); | |
| |
user_pref("privacy.resistFingerprinting", true); | |
user_pref("privacy.trackingprotection.enabled", true); | |
user_pref("toolkit.telemetry.enabled", false); | |
| |
/******* | |
* U2F * | |
*******/ | |
| |
user_pref("security.webauth.u2f", true); | |
| |
/********** | |
* Tweaks * | |
**********/ | |
| |
user_pref("browser.cache.disk.enable", false); | |
user_pref("browser.cache.memory.enable", true); | |
user_pref("browser.cache.memory.enable", true); | |
| |
/******* | |
* VPN * | |
*******/ | |
| |
user_pref("network.dns.disableIPv6", true); | |
user_pref("media.peerconnection.enabled", false); | |
| |
/******* | |
* END * | |
*******/</code> | |
| |
==== Apply Settings ==== | |
| |
* ''Path'' should report the current user's username, and the text ''Custom Stuff'' should be visible | |
* :!: If Firefox doesn't open automatically, ''firefox -p default'' must be ran the first time Firefox is started after this command | |
| |
ls '/tmp/profiles.ini' '/tmp/user.js' && pkill -f '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 ===== | ===== Extensions ===== |
| |
==== Download ==== | * [[https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/|uBlock Origin]] |
| * [[https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/|Decentraleyes]] |
* Decentraleyes | * [[https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/|Privacy Badger]] |
* 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 ==== | ==== uBlock Origin ==== |
| |
=== Settings === | ==== Filters list ==== |
| |
* [x] Prevent WebRTC from leaking local IP addresses | **** |
| |
=== Filter lists === | |
| |
* [ ] Ads -> EasyList ((uncheck; included in ''Fanboy Ultimate List'')) | |
* [ ] Privacy -> EasyPrivacy ((uncheck; included in ''Fanboy Ultimate List'')) | |
| |
* Multipurpose -> [x] Dan Pollock's hosts file | |
* Multipurpose -> [x] MVPS HOSTS | |
| |
* Custom -> [x] Import | |
| |
=== Custom 3rd-party filters === | |
| |
* Last updated: 2018/11/23 | |
| |
<code> | <code> |
https://www.fanboy.co.nz/fanboy-problematic-sites.txt | https://www.fanboy.co.nz/fanboy-problematic-sites.txt |
https://www.fanboy.co.nz/r/fanboy-ultimate.txt | https://www.fanboy.co.nz/r/fanboy-ultimate.txt |
https://www.fanboy.co.nz/fanboy-antifacebook.txt | https://www.fanboy.co.nz/fanboy-cookiemonster_ubo.txt |
https://www.fanboy.co.nz/fanboy-antifonts.txt | https://www.fanboy.co.nz/enhancedstats.txt</code> |
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</code> | |
| |
===== Testing Sites ===== | ==== My filters ==== |
| |
* https://www.youtube.com/html5 | |
* https://ipx.ac | |
* https://decentraleyes.org/test/ | |
* https://panopticlick.eff.org/ | |
* https://browserleaks.com/ | |
* https://speedof.me/ | |
* https://www.cloudflare.com/ssl/encrypted-sni/ | |
* https://1.1.1.1/help | |
| |
====== Notable Folders and Commands ====== | |
| |
===== Extract ISO ===== | |
| |
* ''D'' is the destination you want the extracted files to go | |
* ''x'' is the ISO you want to extract files from | |
* No space after the ''-o'' flag 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 ===== | |
| |
* https://ytdl-org.github.io/youtube-dl/index.html | |
| |
==== Download ==== | |
| |
**** | **** |
| |
rm -f '/tmp/youtube-dl' && wget -O '/tmp/youtube-dl' 'https://yt-dl.org/downloads/latest/youtube-dl' && chmod +x '/tmp/youtube-dl' | <code> |
| ! 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 |
| |
==== Show Formats ==== | ! End</code> |
| |
* Change ''x'' to a URL | ===== DNS over HTTPS ===== |
| |
'/tmp/youtube-dl' --list-formats x | * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses |
| |
==== Download Media ==== | <code>https://dns.quad9.net/dns-query</code> |
| |
* Change ''x'' to a URL | ====== Server ====== |
* ''bestaudio'' can be changed to ''bestvideo'' for just video, or ''best'' for best video with audio | |
| |
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' x | * For workstations that run servers as a secondary directive |
| * For headless servers, see [[distros:fedora_server|Fedora Server]] |
| |
=== M4A Audio === | ===== Enable SSH ===== |
| |
* 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 | sudo systemctl enable --now 'sshd' |
| |
===== Shortcuts ===== | ===== Automatic Updates ===== |
| |
/usr/share/applications | ==== Service ==== |
| |
~/.local/share/applications | sudo -e '/etc/systemd/system/fedora-up.service' |
| |
===== Icons ===== | <code> |
| [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</code> |
| |
/usr/share/icons/hicolor | ===== Timer ===== |
| |
~/.local/share/icons/hicolor | * 03:00 Oak |
| |
===== Anaconda Module Blacklists ===== | sudo -e '/etc/systemd/system/fedora-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'fedora-up.timer' --now |
| |
**** | |
| |
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 ==== | |
| |
* Change ''x'' to 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 ===== | |
| |
* Change ''x'' to 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 ===== | |
| |
* https://www.geeks3d.com/gputest/ | |
| |
==== Execute ==== | |
| |
=== HDTV === | |
| |
* 1280x720 | |
| |
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 === | |
| |
* 1920x1080 | |
| |
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 === | |
| |
* 3840x2160 | |
| |
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 ''hdparm'' commands 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 the ''apt'' command | |
| |
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 ((personally tested fine on several Acer and Dell computers)) | |
* Safer way is to use ''efibootmgr'' to remove boot entries individually | |
| |
sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v | |
| |
===== RAID ===== | |
| |
==== Controller Details ==== | |
| |
* This can be used to get the Oprom version for Intel RST | |
| |
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 ===== | |
| |
* https://nouveau.freedesktop.org/wiki/Optimus | |
| |
sudo cat '/sys/kernel/debug/vgaswitcheroo/switch' | |
| |
===== ACPI Tables ===== | |
| |
* In ''dsdt.dsl'', look for ''_OSI'' values, along with ''Windows'' and ''Linux'' | |
| |
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 ===== | |
| |
* https://unix.stackexchange.com/a/114398 | |
| |
sudo dnf install 'monitor-edid' | |
| |
monitor-edid | |
| |
===== Custom Resolutions ===== | |
| |
==== Generate Modeline ==== | |
| |
* Use ''--reduced'' only for LCD/Non-CRT displays, and only as-needed ((useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups)) | |
* Syntax is ''horizontal'' (width), ''vertical'' (height) and ''refresh rate'' | |
| |
cvt '3840' '2160' '60' | |
| |
cvt --reduced '3840' '2160' '60' | |
| |
<code>--reduced</code> | |
| |
==== Temporarily Apply ==== | |
| |
* Changes are lost after reboot | |
* Values after ''--newmode'' are from the above generate command, and is everything after ''Modeline'' | |
| |
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 ==== | |
| |
* ''Identifier'' is the name of the port on the GPU the display is connected to | |
* ''Modeline'' is from the above generate command, including the text ''Modeline'' | |
* ''PreferredMode'' is the custom resolution name generated | |
| |
<code> | <code> |
Section "Monitor" | [Unit] |
Identifier "HDMI-A-0" | Description=Software Package Maintenance and Updater |
Modeline x | After=network-online.target |
Option "PreferredMode" "3840x2160R" | Wants=network-online.target |
EndSection</code> | |
| |
===== Backlight ===== | [Timer] |
| OnCalendar=*-*-* 03:00:00 |
| Persistent=true |
| |
==== Notes ==== | [Install] |
| WantedBy=timers.target</code> |
| |
* The following commands with an asterisk expect only one backlight controller at ''/sys/class/backlight'' | ====== Notable Folders and Commands ====== |
* This was only tested on one laptop with ''intel_backlight'' | |
* See [[#power_management|Power Management notes]] on how to add backlight changes to a udev script | |
* See [[https://wiki.archlinux.org/index.php/backlight|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 ==== | |
| |
* Change ''376'' to desired brightness | |
* Desired brightness **must** be under ''max_brightness'' value | |
| |
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 ===== | |
| |
* Change ''7ZIPNAME'' in ''7ZIPNAME.7z'' to the desired archive name | |
* Change ''PASS'' in ''-pPASS'' to the desired password | |
* Change ''x'' to the file or folder to add to the archive | |
| |
7za a '7ZIPNAME.7z' -p'PASS' 'x' | |
| |
7za a 'x.7z' -p'x' 'x' | |
| |
===== oathtool ===== | |
| |
* ''x'' is a secret without ''&digits=6'' | |
| |
sudo dnf install 'oathtool' | |
| |
oathtool --totp -b 'x' | |
| |
===== Remove EXIF data ===== | |
| |
sudo dnf install 'perl-Image-ExifTool' | * See [[notes:misc_linux]] |
| |
exiftool -all= *.* -overwrite_original | |