User Tools

Site Tools


distros:opensuse_tumbleweed_plasma

Information

  • openSUSE 1)
  • Tumbleweed 2)
  • Plasma 3)

Download

DVD-x86_64-Current.iso

http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

Hashes

Installation Notes

  • EFI/opensuse/grubx64.efi 4)
  • XFS, no separate /home, separate swap partition enlarged to RAM for suspend

Software Settings

Zypper Settings

  • Allow packages to change vendor if needed
  • Disable delta RPMs
  • Cleanup unused dependencies on package remove
sudo sed -i 's/solver.dupAllowVendorChange = false/solver.dupAllowVendorChange = true/g' '/etc/zypp/zypp.conf' && echo -e 'solver.allowVendorChange = true\ndownload.use_deltarpm = false\nsolver.cleandepsOnRemove = true' | sudo tee --append '/etc/zypp/zypp.conf' > '/dev/null' && echo 'Current Settings:' && cat '/etc/zypp/zypp.conf' | grep -e 'solver.allowVendorChange = true' -e 'solver.dupAllowVendorChange = true' -e 'download.use_deltarpm = false' -e 'solver.cleandepsOnRemove = true'

Repositories

Wine

  • Repo priority 98
  • Provides Wine Staging
sudo rpm --import 'http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed//repodata/repomd.xml.key' && sudo systemctl stop 'packagekit' && sudo zypper ar -f 'http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/Emulators:Wine.repo' && sudo zypper mr -p 98 'Wine (openSUSE_Tumbleweed)'

Packman

  • Repo priority 97
  • Provides functional multimedia support
sudo rpm --import 'http://packman.inode.at/suse/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo systemctl stop 'packagekit' && sudo zypper ar -f 'http://packman.inode.at/suse/openSUSE_Tumbleweed/packman.repo' && sudo zypper mr -p 97 'Packman repository (openSUSE_Tumbleweed)'

Software

Disable USB Source

sudo zypper modifyrepo -d -m 'hd'

Update

  • The second dup is needed to pick up a few more packages
sudo systemctl stop 'packagekit' && sudo zypper refresh -f && sudo zypper dup && sudo zypper dup && sync

Remove

  • The 64-bit s2tc should be removed upon adding Packman repo 5)
sudo systemctl stop 'packagekit' && sudo zypper remove 's2tc-32bit'

nano

sudo zypper install 'nano'
export 'EDITOR=nano' && echo 'Defaults editor = /usr/bin/nano' | sudo tee --append '/etc/sudoers.d/nano' > '/dev/null'
echo 'set nowrap' | sudo tee --append '/etc/nanorc' > '/dev/null'

General

sudo zypper install transmission-qt nano aria2 htop gdouros-symbola-fonts ffmpeg kffmpegthumbnailer gstreamer-plugins-libav filezilla keepassx perl-Image-ExifTool android-tools android-tools-udev p7zip vlc phonon-backend-vlc phonon4qt5-backend-vlc

Wine

wine-staging libtxc_dxtn-32bit

Google Chrome

sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo systemctl stop 'packagekit' && sudo zypper install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'  && sync

Settings

Keyboard Shortcuts

konsole
keepassx

Network

VPN.AC

Pi-hole DNS

192.168.1.158

DNS.WATCH DNS

84.200.69.80
84.200.70.40

Nautilus

  • Sort folders before files
  • 1GB File Previews

Amarok

Transmission

  • Blocklist
http://john.bitsurge.net/public/biglist.p2p.gz

GRUB

sudo -e '/etc/default/grub'

Timeout

GRUB_TIMEOUT=1

I/O Scheduler

  • Choose one

Deadline

  • Rotational disks
elevator='deadline'

blk_mq

  • SSDs
scsi_mod.use_blk_mq='y' dm_mod.use_blk_mq='y'

PCI-E

pcie_aspm='off' pcie_port_pm='off'

Intel IOMMU

intel_iommu='on' intremap='no_x2apic_optout'

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

Corsair Gaming HARPOON RGB Mouse Quirk

usbhid.quirks='0x1B1C:0x1B3C:0x20000000'

Firewall

KDE Connect

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

Kernel Options

General

sudo -e '/etc/sysctl.d/99-custom.conf'
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 1

PulseAudio

nano ~/'.config/pulse/daemon.conf'
resample-method = soxr-vhq
flat-volumes = no

Secure Shell

systemd Journal

sudo mkdir -p '/etc/systemd/journald.conf.d' && sudo -e '/etc/systemd/journald.conf.d/logging.conf'
[Journal]
SystemMaxUse=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

Wine Staging

sudo -e '/etc/profile.d/wine-staging.sh'
# Tweaks
export STAGING_SHARED_MEMORY=1
export STAGING_WRITECOPY=1

Timezone

Computer-specific

Spinesnap

Open-Source Graphics

  • Intel Corporation Sky Lake Integrated Graphics (rev 07)
  • NVIDIA Corporation Device 1399 (rev a2)
sudo -e '/etc/X11/xorg.conf.d/99-nvidia-optimus.conf'
Section "Device"
    Identifier      "Optimus"
    Driver          "modesetting"
EndSection

Proprietary Graphics

  • Don't even try it 6)

Cache Cleanup

Service

sudo -e '/etc/systemd/system/cache-cleanup.service' && sudo sed -i 's/'CHANGEME'/'$USER'/g' '/etc/systemd/system/cache-cleanup.service'
[Service]
Type=oneshot
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.bash_history'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.cache'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.thumbnails'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.nv'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.local/share/recently-used.xbel'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.local/share/Trash/expunged'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.local/share/Trash/files'
ExecStart='/usr/bin/rm' -Rf '/home/CHANGEME/.local/share/Trash/info'
ExecStart='/usr/bin/sync'

Timer

sudo -e '/etc/systemd/system/cache-cleanup.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'cache-cleanup.timer' --now && sudo systemctl start 'cache-cleanup' && sudo systemctl status 'cache-cleanup' -l
[Unit]
Description=Temporary File and Cache Cleanup

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

Automatic Updates

Service

sudo -e '/etc/systemd/system/suse-up.service'
[Service]
Type=oneshot
ExecStart='/usr/bin/systemctl' stop 'packagekit'
ExecStart='/usr/bin/zypper' clean --all
ExecStart='/usr/bin/zypper' --non-interactive refresh -f
ExecStart='/usr/bin/zypper' --non-interactive dup --auto-agree-with-licenses
ExecStart='/usr/bin/sync'

Timer

sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' 'NetworkManager-wait-online.service' --now && sudo systemctl start 'suse-up' && sudo systemctl status 'suse-up' -l
[Unit]
Description=Software Updater and Sources Refresher
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 05:10:00
Persistent=true

[Install]
WantedBy=timers.target

Steven Black's Unified Hosts File

  • You will not be able to enter YaST2's Network Settings in a timely manner after doing this

Service

sudo -e '/etc/systemd/system/hosts-up.service'
[Service]
Type=oneshot
ExecStart='/usr/bin/rm' -Rf '/tmp/master.zip' '/tmp/hosts-master'
ExecStart='/usr/bin/wget' 'https://github.com/StevenBlack/hosts/archive/master.zip' -O '/tmp/master.zip'
ExecStart='/usr/bin/unzip' '/tmp/master.zip' -d '/tmp'
ExecStart='/usr/bin/python2' '/tmp/hosts-master/updateHostsFile.py' --auto --replace
ExecStart='/usr/bin/systemctl' restart 'NetworkManager'
ExecStart='/usr/bin/rm' -Rf '/tmp/master.zip' '/tmp/hosts-master'
ExecStart='/usr/bin/sync'

Timer

sudo -e '/etc/systemd/system/hosts-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'hosts-up.timer' 'NetworkManager-wait-online.service' --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

user.js

cd ~/'.mozilla/firefox/'*'.default' && nano 'user.js' && cd ~
user_pref("layout.frame_rate.precise", true);
user_pref("mousewheel.min_line_scroll_amount", 40);
user_pref("browser.sessionstore.interval", 300000);
user_pref("extensions.jid1-BoFifL9Vbdl2zQ@jetpack.showReleaseNotes", false);
user_pref("dom.storage.enabled", true);
user_pref("dom.event.clipboardevents.enabled", true);
user_pref("extensions.pocket.enabled", false);
user_pref("loop.enabled", false);
user_pref("reader.parse-on-load.enabled", false);
user_pref("media.peerconnection.enabled", false);
user_pref("security.ssl.require_safe_negotiation", false);
user_pref("browser.tabs.remote.force-enable", true);
user_pref("network.captive-portal-service.enabled", false);

Extensions

  • 9 Extensions
xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/privacy-settings/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/gnotifier/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions' && xdg-open 'https://www.eff.org/https-everywhere' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/umatrix/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/self-destructing-cookies/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/https-by-default/versions' && xdg-open 'https://addons.mozilla.org/en-US/firefox/addon/no-resource-uri-leak/versions'

uBlock Origin

  • Enable Adblock Warning Removal List‎
  • Enable Anti-Adblock Killer | Reek
  • Disable everything else below
  • Enable Fanboy+Easylist-Merged Ultimate List‎

uMatrix

  • Auto-update hosts files

Privacy Settings

  • Full Privacy

Notable Folders and Commands

Shortcuts

/usr/share/applications
~/.local/share/applications

Icons

/usr/share/icons/hicolor
~/.local/share/icons/hicolor

fstrim

sudo fstrim -v --all

Xorg Debug

xdg-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 8)
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

sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync

RAID Controller Details

  • Only applicable when using FakeRAID/Intel RST
sudo mdadm --detail-platform

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
4)
EFI file to boot and in the case of Acer laptops, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
5)
dxtn supersedes s2tc
6)
use another distro or check if there's a repo for NVIDIA proprietary graphics
7)
5:10 Spinesnap, 6:00 Oak
8)
Spinesnap
distros/opensuse_tumbleweed_plasma.txt · Last modified: 2018/09/16 11:16 by Sean Rhone