User Tools

Site Tools


distros:opensuse_tumbleweed_desktop

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
distros:opensuse_tumbleweed_desktop [2017/10/03 01:10] Sean Rhonedistros:opensuse_tumbleweed_desktop [2017/10/03 01:51] Sean Rhone
Line 1: Line 1:
 +====== Information ======
  
 +  * openSUSE ((https://www.opensuse.org))
 +  * Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed))
 +  * GNOME ((https://www.gnome.org))
 +  * KDE ((https://www.kde.org))
 +
 +====== Download ======
 +
 +===== DVD-x86_64-Current.iso =====
 +
 +  * http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
 +
 +===== Hashes =====
 +
 +  * http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.mirrorlist
 +
 +====== Installation Notes ======
 +
 +  * ''\EFI\opensuse\grubx64.efi'' ((Acer Trust))
 +
 +====== Repositories ======
 +
 +===== VideoLAN =====
 +
 +  * http://download.videolan.org/pub/vlc/SuSE/Tumbleweed/
 +  * Repository Priority: 98
 +
 +  * Provides extended multimedia support
 +
 +  sudo rpm --import 'http://download.videolan.org/pub/vlc/SuSE/Tumbleweed/repodata/repomd.xml.key' && sudo zypper ar -f 'http://download.videolan.org/pub/vlc/SuSE/Tumbleweed/SuSE.repo' && sudo zypper mr -p 98 'VideoLAN repo (Tumbleweed)'
 +
 +  sudo zypper dup --from 'VideoLAN repo (Tumbleweed)'
 +
 +===== namtrac:subpixel =====
 +
 +  * http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_Factory/x86_64/
 +  * Repository Priority: 97
 +
 +  * Provides patented subpixel rendering for fonts
 +
 +  sudo rpm --import 'http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_Factory/repodata/repomd.xml.key' && sudo zypper ar -f 'http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_Factory/home:namtrac:subpixel.repo' && sudo zypper mr -p 97 'subpixel (openSUSE_Factory)'
 +
 +  sudo zypper dup --from 'subpixel (openSUSE_Factory)'
 +
 +===== Wine =====
 +
 +  * http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed
 +  * Repository Priority: 96
 +
 +  * Provides Wine Staging
 +
 +  sudo rpm --import 'http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper ar -f 'http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/Emulators:Wine.repo' && sudo zypper mr -p 96 'Wine (openSUSE_Tumbleweed)'
 +
 +  sudo zypper dup --from 'Wine (openSUSE_Tumbleweed)'
 +
 +====== Software ======
 +
 +===== Disable USB Source =====
 +
 +****
 +
 +  sudo zypper modifyrepo -d -m 'hd'
 +
 +===== Update =====
 +
 +  * If any extra repositories are being used, be sure to dup from the repo first
 +
 +  sudo zypper clean --all && sudo zypper refresh -f && sudo zypper dup && sync
 +
 +===== GNU nano =====
 +
 +  * Installs ''nano''
 +  * Sets as system-wide default editor
 +  * Sets ''nowrap'' and ''nonewlines'' for current user
 +
 +  sudo zypper --non-interactive install 'nano' && export 'EDITOR=nano' && echo 'Defaults editor = /usr/bin/nano' | sudo tee '/etc/sudoers.d/nano' > '/dev/null' && echo 'set nowrap' | tee --append ~/'.nanorc' > '/dev/null' && echo 'set nonewlines' | tee --append ~/'.nanorc' > '/dev/null'
 +
 +===== General =====
 +
 +****
 +
 +  sudo zypper install keepassxc android-tools android-tools-udev filezilla aria2 p7zip perl-Image-ExifTool htop unar gdouros-symbola-fonts Mesa-demo-x gstreamer-plugins-libav
 +
 +===== GNOME =====
 +
 +****
 +
 +  rhythmbox gnome-session-wayland
 +
 +===== KDE =====
 +
 +****
 +
 +  transmission-qt
 +
 +===== VideoLAN =====
 +
 +****
 +
 +  vlc vlc-codec-gstreamer
 +
 +==== KDE ====
 +
 +  * Add these along with the above packages
 +
 +  phonon4qt5-backend-vlc phonon-backend-vlc vlc-qt
 +
 +===== Wine =====
 +
 +****
 +
 +  wine-staging
 +
 +===== VA-API =====
 +
 +****
 +
 +  intel-vaapi-driver gstreamer-plugins-vaapi
 +
 +===== VDPAU =====
 +
 +  * Also requires a driver depending on the GPU used
 +
 +  zypper search -s 'libvdpau_'
 +
 +  libgstvdpau libvdpau1
 +
 +===== Google Chrome =====
 +
 +****
 +
 +  sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo zypper install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'
 +
 +====== Settings ======
 +
 +===== Keyboard Shortcuts =====
 +
 +==== GNOME ====
 +
 +  * ''gnome-shell --replace'' doesn't work on Wayland session
 +
 +  gnome-terminal
 +
 +  gnome-shell --replace
 +
 +  keepassxc
 +
 +==== KDE ====
 +
 +  * ''konsole -e'' is an update command that can be assigned to the **Break** key ((TODO: Adapt this for ''gnome-terminal''))
 +
 +  konsole
 +
 +  keepassxc
 +
 +  konsole -e "bash -c 'sudo zypper clean --all && sudo zypper refresh -f && sudo zypper dup && sudo zypper ps -s && sync && read -n1'"
 +
 +===== gedit =====
 +
 +  * 4 Tab width
 +  * Insert Spaces for Tab mode
 +
 +===== Network =====
 +
 +==== VPN.AC ====
 +
 +  * See [[information:vpn.ac | VPN.AC]]
 +
 +==== DNS.WATCH DNS ===
 +
 +=== IPv4 ===
 +
 +  84.200.69.80
 +
 +  84.200.70.40
 +
 +  84.200.69.80,84.200.70.40
 +
 +=== IPv6 ==
 +
 +  2001:1608:10:25::1c04:b12f
 +
 +  2001:1608:10:25::9249:d69b
 +
 +  2001:1608:10:25::1c04:b12f,2001:1608:10:25::9249:d69b
 +
 +===== Nautilus =====
 +
 +  * Sort folders before files
 +  * 2GB File Previews
 +
 +===== Rhythmbox =====
 +
 +  * See [[Information:Internet Radio]]
 +
 +===== Terminal =====
 +
 +  * 10-notch Transparency
 +
 +===== YaST =====
 +
 +==== Boot Loader ====
 +
 +=== blk_mq ===
 +
 +  * See [[#i_o_schedulers | I/O Schedulers]] in order to select an I/O scheduler
 +
 +  scsi_mod.use_blk_mq='y'
 +
 +=== Linux ===
 +
 +****
 +
 +  acpi_osi='Linux'
 +
 +=== i915 ===
 +
 +****
 +
 +  i915.enable_guc_loading='2' i915.enable_guc_submission='2'
 +
 +=== Disable HT ===
 +
 +  * Set to half of total cores if Intel HT is enabled
 +
 +  maxcpus='4'
 +
 +=== Blacklist ===
 +
 +  * ''btusb,hci_uart'' control Bluetooth
 +  * ''uvcvideo'' controls Webcams
 +  * ''iTCO_wdt'' controls Intel's Hardware Watchdog
 +  * ''nowatchdog'' disables both soft and hard generic watchdogs
 +
 +  modprobe.blacklist='btusb,hci_uart,uvcvideo,iTCO_wdt' nowatchdog
 +
 +=== DRM Debug ===
 +
 +****
 +
 +  drm.debug='0xe'
 +
 +=== Corsair Gaming HARPOON RGB Mouse Quirk ===
 +
 +****
 +
 +  usbhid.quirks=0x1B1C:0x1B3C:0x20000000
 +
 +==== Fonts ====
 +
 +  * Requires [[#namtracsubpixel | namtrac:subpixel]] repo for Subpixel Rendering to function
 +
 +  * Font Antialiasing
 +  * Force Autohinting On
 +  * Force Hint Style: hintslight
 +  * Subpixel Rendering: rgb
 +  * LCD Filter: lcddefault
 +
 +===== GDM =====
 +
 +==== Disable Wayland ====
 +
 +  * TODO: Change this to a sed command
 +
 +  sudo -e '/etc/gdm/custom.conf'
 +
 +  WaylandEnable=false
 +
 +===== GNOME =====
 +
 +==== Notes ====
 +
 +  * If using external monitor primarily, monitor configuration must be complete before copying config to GDM
 +  * If keyboard shortcuts were set in Xorg session, they may not work in the Wayland session; remove the shortcuts in the Xorg session and then re-set them in Wayland ((https://bugzilla.redhat.com/show_bug.cgi?id=1367544))
 +
 +==== Root GUI Apps in Wayland ====
 +
 +  * Run this before running GUI applications requiring root
 +  * This needs re-ran after session restart
 +
 +  xhost +LOCAL:
 +
 +==== Input ====
 +
 +  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'
 +
 +==== Extensions ====
 +
 +=== Top Panel Workspace Scroll ===
 +
 +  * https://extensions.gnome.org/extension/701/top-panel-workspace-scroll
 +  * https://github.com/timbertson/gnome-shell-scroll-workspaces
 +
 +  * Requires ''gnome-shell-extension-tool'' provided by ''gnome-shell-devel''
 +
 +  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' && rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && 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' && rm -R '/tmp/gnome-shell-scroll-workspaces-master.zip' '/tmp/gnome-shell-scroll-workspaces-master' && gnome-shell-extension-tool -e 'scroll-workspaces@gfxmonk.net' && sync
 +
 +===== KDE =====
 +
 +==== Settings ====
 +
 +=== Desktop Behavior ===
 +
 +  * Desktop Effects -> Wobbly Windows
 +  * Desktop Effects -> Dim Inactive
 +  * Desktop Effects -> Dim Screen for Administrator Mode
 +  * Desktop Effects -> Slide Back
 +  * Screen Edges -> Switch desktop on edge: Only When Moving Windows
 +  * Virtual Desktops -> Number of rows: 1
 +
 +==== KDE Connect ====
 +
 +  * Allows KDE Connect through the firewall
 +
 +  sudo -e '/etc/sysconfig/SuSEfirewall2' && sudo systemctl restart 'SuSEfirewall2'
 +
 +  FW_CONFIGURATIONS_EXT="kdeconnect-kde"
 +
 +==== Input ====
 +
 +  sudo -e '/etc/X11/xorg.conf.d/99-libinput-custom.conf'
 +
 +  Section "InputClass"
 +      Identifier          "libinput pointer custom"
 +      Driver              "libinput"
 +      MatchIsPointer      "yes"
 +      Option              "AccelProfile"                  "flat"
 +  EndSection
 +  
 +  Section "InputClass"
 +      Identifier          "libinput touchpad custom"
 +      Driver              "libinput"
 +      MatchIsTouchpad     "yes"
 +      Option              "AccelProfile"                  "flat"
 +      Option              "DisableWhileTyping"            "0"
 +      Option              "MiddleEmulation"               "0"
 +      Option              "NaturalScrolling"              "0"
 +      Option              "ScrollMethod"                  "twofinger"
 +      Option              "SendEventsMode"                "disabled-on-external-mouse"
 +      Option              "Tapping"                       "0"
 +  EndSection
 +  
 +  Section "InputClass"
 +      Identifier          "libinput touchscreen custom"
 +      Driver              "libinput"
 +      MatchIsTouchscreen  "yes"
 +      Option              "AccelProfile"                  "flat"
 +  EndSection
 +
 +===== I/O Schedulers =====
 +
 +==== Check ====
 +
 +  * Replace ''sda'' if necessary
 +  * If using ''blk-mq'', non-mq schedulers aren't present ((no ''noop'', ''cfq'' nor ''deadline''))
 +
 +  cat '/sys/block/sda/queue/scheduler'
 +
 +==== BFQ ====
 +
 +  * Good for average workloads and responsiveness
 +  * Requires [[distros:opensuse_tumbleweed_gnome#blk_mq | blk_mq]] and kernel 4.12+
 +
 +  echo 'ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="bfq"' | sudo tee '/etc/udev/rules.d/60-scheduler.rules' > '/dev/null' && sudo udevadm control --reload && sudo udevadm trigger
 +
 +==== mq-deadline ====
 +
 +  * Requires [[distros:opensuse_tumbleweed_gnome#blk_mq | blk_mq]]
 +
 +  echo 'ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="mq-deadline"' | sudo tee '/etc/udev/rules.d/60-scheduler.rules' > '/dev/null' && sudo udevadm control --reload && sudo udevadm trigger
 +
 +==== none ====
 +
 +  * If I/O load causes hitching/stuttering, this should not be used
 +  * Requires [[distros:opensuse_tumbleweed_gnome#blk_mq | blk_mq]] ((use ''noop'' if not using blk_mq))
 +
 +  echo 'ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="none"' | sudo tee '/etc/udev/rules.d/60-scheduler.rules' > '/dev/null' && sudo udevadm control --reload && sudo udevadm trigger
 +
 +===== Kernel Options =====
 +
 +  sudo -e '/etc/sysctl.d/99-custom.conf'
 +
 +  kernel.dmesg_restrict = 1
 +  kernel.kptr_restrict = 1
 +  kernel.sysrq = 1
 +
 +===== NetworkManager =====
 +
 +  sudo mkdir -p '/etc/NetworkManager/conf.d' && sudo -e '/etc/NetworkManager/conf.d/99-custom.conf'
 +
 +  [device-mac-randomization]
 +  wifi.scan-rand-mac-address=yes
 +  
 +  [connection-mac-randomization]
 +  ethernet.cloned-mac-address=random
 +  wifi.cloned-mac-address=random
 +  
 +  [connection]
 +  wifi.powersave=2
 +
 +===== Printer =====
 +
 +  * http://localhost:631/
 +
 +===== PulseAudio =====
 +
 +  nano ~/'.config/pulse/daemon.conf'
 +
 +  resample-method = soxr-vhq
 +  flat-volumes = no
 +
 +===== Secure Shell =====
 +
 +  * See [[Clients:Secure Shell]]
 +
 +===== systemd Journal =====
 +
 +  sudo mkdir -p '/etc/systemd/journald.conf.d' && sudo -e '/etc/systemd/journald.conf.d/logging.conf'
 +
 +  [Journal]
 +  SystemMaxUse=50M
 +  RuntimeMaxUse=50M
 +
 +===== TRIM =====
 +
 +==== Swap ====
 +
 +  * Add ''discard'' after ''defaults'' for the ''swap'' mountpoint
 +
 +  sudo -e '/etc/fstab'
 +
 +  discard
 +
 +==== Service ====
 +
 +****
 +
 +  sudo systemctl enable 'fstrim.timer' && sudo systemctl start 'fstrim.timer' 'fstrim' --now && sync && sudo systemctl status 'fstrim' -l
 +
 +===== Environment Variables =====
 +
 +==== Mutter ====
 +
 +  * This allows use of Wayland session on multi-graphics computers (like Optimus)
 +
 +  echo 'export MUTTER_ALLOW_HYBRID_GPUS=1' | sudo tee --append '/etc/environment' > '/dev/null'
 +
 +==== Wine Staging ====
 +
 +****
 +
 +  echo 'export STAGING_SHARED_MEMORY=1' | sudo tee --append '/etc/profile.d/wine-staging.sh' > '/dev/null' && echo 'export STAGING_WRITECOPY=1' | sudo tee --append '/etc/profile.d/wine-staging.sh' > '/dev/null'
 +
 +==== Timezone ====
 +
 +  * https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls
 +
 +  echo 'export TZ=:/etc/localtime' | sudo tee '/etc/profile.d/tz.sh' > '/dev/null'
 +
 +===== Zypper =====
 +
 +==== Allow Vendor Changes ====
 +
 +  * This sets both ''allowVendorChange'' and ''dupAllowVendorChange'' to ''true''
 +
 +  sudo sed -i 's/# solver.allowVendorChange = false/solver.allowVendorChange = true/g' '/etc/zypp/zypp.conf' && sudo sed -i 's/# solver.dupAllowVendorChange = false/solver.dupAllowVendorChange = true/g' '/etc/zypp/zypp.conf'
 +
 +====== Computer-specific ======
 +
 +===== Spinesnap =====
 +
 +==== Internal Speakers ====
 +
 +  * https://bugzilla.kernel.org/show_bug.cgi?id=195049
 +
 +=== Service ===
 +
 +  sudo zypper --non-interactive install 'hda-verb' && sudo -e '/etc/systemd/system/acer-speakers.service' && sudo systemctl daemon-reload && sudo systemctl enable 'acer-speakers' --now && sudo systemctl status 'acer-speakers' -l
 +
 +  [Unit]
 +  Description=Acer Predator G9-791 Internal Speaker Fix
 +  After=sound.target
 +  Wants=sound.target
 +  
 +  [Service]
 +  Type=oneshot
 +  ExecStart='/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x300' '0x9000'
 +  ExecStart='/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x300' '0xa000'
 +  ExecStart='/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x707' '0x60'
 +  
 +  [Install]
 +  WantedBy=sound.target
 +
 +=== Sleep Script ===
 +
 +  sudo -e '/usr/lib/systemd/system-sleep/acer-speakers.sleep' && sudo chmod +x '/usr/lib/systemd/system-sleep/acer-speakers.sleep'
 +
 +  #!/bin/sh
 +  '/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x300' '0x9000'
 +  '/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x300' '0xa000'
 +  '/usr/bin/hda-verb' '/dev/snd/hwC0D0' '0x1b' '0x707' '0x60'
 +
 +==== Open-Source Graphics ====
 +
 +=== intel + nouveau ===
 +
 +  * This supposedly gives better performance over ''modesetting''
 +  * ''TearFree'' was enabled; the man pages say it's disabled by-default though
 +
 +  sudo zypper --non-interactive install 'xf86-video-intel' 'xf86-video-nouveau' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
 +
 +<code>
 +Section "Device"
 +    Identifier      "Skylake GT2"
 +    Driver          "intel"
 +    BusID           "PCI:0:2:0"
 +    Option          "DRI"       "3"
 +    Option          "TearFree"  "0"
 +EndSection
 +
 +Section "Device"
 +    Identifier      "NV124"
 +    Driver          "nouveau"
 +    BusID           "PCI:1:0:0"
 +    Option          "DRI"       "3"
 +EndSection</code>
 +
 +=== modesetting ===
 +
 +  sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
 +
 +  Section "Device"
 +      Identifier      "Optimus"
 +      Driver          "modesetting"
 +  EndSection
 +
 +==== Proprietary Graphics ====
 +
 +  * TODO: Fix
 +
 +==== MSR ====
 +
 +  * Not necessary to be ran, only here for reference
 +  * Requires ''msr-tools''
 +
 +=== Enable Intel Speed Shift Technology ===
 +
 +  * ''0x770'' needs to report ''1''
 +
 +  sudo rdmsr --all --decimal '0x770'
 +
 +  sudo wrmsr --all '0x770' '1'
 +
 +=== Disable BD-PROCHOT ===
 +
 +  * ''0x1FC'' needs to be set to whatever it reports
 +
 +  sudo rdmsr --all --decimal '0x1FC'
 +
 +  sudo wrmsr --all '0x1FC' 'x'
 +
 +====== Steven Black's Unified Hosts File ======
 +
 +===== Service =====
 +
 +  sudo -e '/etc/systemd/system/hosts-up.service'
 +
 +  [Service]
 +  Type=oneshot
 +  WorkingDirectory=/tmp
 +  ExecStartPre='/usr/bin/rm' -Rf '/tmp/master.zip' '/tmp/hosts-master'
 +  ExecStartPre='/usr/bin/wget' 'https://github.com/StevenBlack/hosts/archive/master.zip' -O '/tmp/master.zip'
 +  ExecStartPre='/usr/bin/unzip' '/tmp/master.zip' -d '/tmp'
 +  ExecStart='/usr/bin/python3' '/tmp/hosts-master/updateHostsFile.py' --auto --replace --flush-dns-cache --extensions 'gambling' 'fakenews'
 +  ExecStartPost='/usr/bin/rm' -Rf '/tmp/master.zip' '/tmp/hosts-master'
 +  ExecStartPost='/usr/bin/sync'
 +
 +===== Timer =====
 +
 +  sudo -e '/etc/systemd/system/hosts-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'hosts-up.timer' --now && sudo systemctl start 'hosts-up' && sudo systemctl status 'hosts-up' -l
 +
 +  [Unit]
 +  Description=Steven Black's Unified Hosts File Sources Updater
 +  After=network-online.target
 +  Wants=network-online.target
 +  
 +  [Timer]
 +  OnCalendar=weekly
 +  Persistent=true
 +  
 +  [Install]
 +  WantedBy=timers.target
 +
 +====== Mozilla Firefox ======
 +
 +  * Use Disconnect.me strict protection Block List
 +
 +===== StartPage =====
 +
 +  * https://www.startpage.com
 +
 +===== user.js =====
 +
 +  cd ~/'.mozilla/firefox/'*'.default' && nano 'user.js' && cd ~
 +
 +<code>
 +user_pref("layout.frame_rate.precise", true);
 +user_pref("mousewheel.min_line_scroll_amount", 40);
 +user_pref("browser.sessionstore.interval", 300000);
 +user_pref("extensions.pocket.enabled", false);
 +user_pref("loop.enabled", false);
 +user_pref("reader.parse-on-load.enabled", false);
 +user_pref("network.captive-portal-service.enabled", false);
 +user_pref("network.cookie.cookieBehavior", 1);
 +user_pref("browser.sessionstore.privacy_level", 2);
 +user_pref("browser.cache.disk.enable", false);
 +user_pref("privacy.popups.disable_from_plugins", 3);
 +user_pref("dom.battery.enabled", false);
 +user_pref("media.peerconnection.ice.default_address_only", true);
 +user_pref("toolkit.telemetry.enabled", false);
 +user_pref("privacy.donottrackheader.enabled", true);
 +user_pref("geo.enabled", false);
 +user_pref("browser.safebrowsing.malware.enabled", false);
 +user_pref("browser.safebrowsing.phishing.enabled", false);
 +user_pref("browser.safebrowsing.downloads.enabled", false);
 +user_pref("webgl.disabled", true);
 +user_pref("network.cookie.lifetimePolicy", 2);
 +user_pref("browser.display.use_document_fonts", 0);
 +user_pref("network.http.referer.userControlPolicy", 2);
 +user_pref("dom.webaudio.enabled", false);
 +user_pref("dom.webnotifications.enabled", false);
 +user_pref("gfx.canvas.azure.accelerated", true);
 +user_pref("layers.acceleration.force-enabled", true);
 +user_pref("browser.tabs.remote.autostart", true);
 +user_pref("browser.tabs.remote.force-enable", true);
 +user_pref("media.mediasource.ignore_codecs", true);
 +user_pref("security.ssl.require_safe_negotiation", false);
 +user_pref("extensions.jid1-BoFifL9Vbdl2zQ@jetpack.showReleaseNotes", false);
 +user_pref("dom.storage.enabled", true);
 +user_pref("dom.event.clipboardevents.enabled", true);</code>
 +
 +===== Extensions =====
 +
 +==== Download ====
 +
 +  * 8 extensions
 +
 +  gio open 'https://addons.mozilla.org/en-US/firefox/addon/privacy-settings/versions' && 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/cookie-autodelete/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/https-by-default/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/no-resource-uri-leak/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/canvasblocker/versions'
 +
 +==== Cookie AutoDelete ====
 +
 +  * Enable Active Mode
 +  * Don't Log Total Number Of Cookies Deleted
 +  * Don't Show Notification After Cookie CleanUp
 +  * Clean Cookies from Open Tabs on StartUp
 +
 +==== No Resource URI Leak ====
 +
 +  * Block Web-exposed subset of chrome URIs
 +  * Update the policy
 +
 +==== uBlock Origin ====
 +
 +  * Enable Advanced Mode
 +
 +  * Uncheck EasyPrivacy
 +  * Uncheck EasyList
 +  * Check MVPS HOSTS
 +  * Check hpHost's Ad and tracking servers
 +  * Check Dan Pollock's hosts file
 +  * Add the following custom filters
 +
 +<code>
 +https://secure.fanboy.co.nz/fanboy-problematic-sites.txt
 +https://secure.fanboy.co.nz/r/fanboy-ultimate.txt
 +https://secure.fanboy.co.nz/fanboy-antifacebook.txt
 +https://secure.fanboy.co.nz/fanboy-antifonts.txt
 +https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/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>
 +
 +====== Notable Folders and Commands ======
 +
 +===== GPG Keys =====
 +
 +==== Check Keys ====
 +
 +****
 +
 +  rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
 +
 +==== Remove Keys ====
 +
 +****
 +
 +  sudo rpm -e gpg-pubkey-x
 +
 +===== Zypper =====
 +
 +==== List Repos and Priority ====
 +
 +****
 +
 +  zypper lr -p
 +
 +===== Shortcuts =====
 +
 +  /usr/share/applications
 +
 +  ~/.local/share/applications
 +
 +===== Icons =====
 +
 +  /usr/share/icons/hicolor
 +
 +  ~/.local/share/icons/hicolor
 +
 +===== 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 -v --all
 +
 +===== GPU Info =====
 +
 +****
 +
 +  sudo zypper --non-interactive install 'inxi' 'xdpyinfo' && inxi -G
 +
 +===== Xorg Debug =====
 +
 +  journalctl -e _COMM='gdm-x-session'
 +
 +  gio open '/var/log/Xorg.0.log'
 +
 +===== Verify DRI3 =====
 +
 +****
 +
 +  LIBGL_DEBUG='verbose' glxinfo | grep 'libgl'
 +
 +===== Show CPU Frequency =====
 +
 +  grep 'MHz' '/proc/cpuinfo'
 +
 +  watch -n 0.1 grep \'cpu MHz\' '/proc/cpuinfo'
 +
 +===== Partition Information =====
 +
 +****
 +
 +  df -hT
 +
 +===== Encryption Information =====
 +
 +****
 +
 +  sudo cryptsetup -v status '/dev/dm-0'
 +
 +===== hdparm Secure Erase =====
 +
 +  * The suspend is needed to release frozen drive state ((Spinesnap))
 +
 +  systemctl suspend
 +
 +  lsblk
 +
 +  sudo hdparm -I '/dev/sda' | grep 'not'
 +
 +  sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda'
 +
 +  sudo hdparm --user-master u --security-erase 'x' '/dev/sda'
 +
 +  sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda'
 +
 +==== Quick Commands ====
 +
 +  * Performs ''security-erase'' followed by ''security-erase-enhanced''
 +
 +=== sda ===
 +
 +****
 +
 +  sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/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
 +
 +=== sdb ===
 +
 +****
 +
 +  sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdb' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb' && sync
 +
 +===== Clean EFI Variables =====
 +
 +  * This is only verified on Spinesnap, other computers beware as this can cause a brick apparently
 +  * This is an easier way of clearing boot entries outside of ''efibootmgr'' and manually deleting each entry
 +
 +  sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v
 +
 +==== EFI Variables R/W ====
 +
 +  * This wasn't necessary on openSUSE TW, but should ''efivars'' need to be ''rw'', the following command does that
 +
 +  sudo mount -o 'remount' '/sys/firmware/efi/efivars' -o 'rw,nosuid,nodev,noexec,noatime'
 +
 +===== RAID Controller Details =====
 +
 +****
 +
 +  sudo mdadm --detail-platform
 +
 +===== VGA Switcheroo Power States =====
 +
 +  * https://nouveau.freedesktop.org/wiki/Optimus
 +  * DIS: Discrete GPU
 +  * IGD: Integrated Graphics
 +  * DIS-Audio: The audio device exported by your discrete GPU for HDMI sound playback
 +  * +: This device is connected to graphics connectors
 +  * OFF: The device is powered off
 +  * ON: The device is powered on
 +  * DynOff: The device is currently powered off but will be powered on when needed
 +  * DynPwr: The device is currently powered on but will be powered off when not needed
 +
 +  sudo cat '/sys/kernel/debug/vgaswitcheroo/switch'
 +
 +===== i915 GuC Firmware =====
 +
 +  sudo cat '/sys/kernel/debug/dri/0/i915_guc_info'
 +
 +  sudo cat '/sys/kernel/debug/dri/0/i915_guc_load_status'
 +
 +===== 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 ======
 +
 +===== Remove EXIF data =====
 +
 +****
 +
 +  exiftool -all= *.* -overwrite_original