distros:ubuntu_desktop_test
This is an old revision of the document!
Table of Contents
Information
Download
HOSTS
- Using
Unified 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'
Software
Update
System
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean && sync
Firmware
sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose
Snaps
sudo snap refresh
General
sudo apt install evolution filezilla gimp keepassxc mpv transmission-gtk aria2 htop unar p7zip-full mesa-utils ffmpeg libsecret-tools libreoffice rhythmbox
OpenVPN
network-manager-openvpn-gnome
ckb-next
ckb-next
Keybase
- This needs ran as a separate command and not combined with the above package installations
rm -Rf '/tmp/keybase_amd64.deb' && wget -O '/tmp/keybase_amd64.deb' 'https://prerelease.keybase.io/keybase_amd64.deb' && sudo apt install '/tmp/keybase_amd64.deb' && rm '/tmp/keybase_amd64.deb' && sync && run_keybase
Google Chrome
- TODO: This may need updated to run with
apt
instead ofdpkg
wget -O '/tmp/google-chrome-stable_current_amd64.deb' 'https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb' && sudo dpkg --install '/tmp/google-chrome-stable_current_amd64.deb' || sudo apt install -f && rm '/tmp/google-chrome-stable_current_amd64.deb' && sync
Settings
Keyboard Shortcuts
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'apt update && apt full-upgrade -y && apt clean && apt autoremove -y && sync && snap refresh && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && sleep '5''"
Keys
- Listed respectively to above
- Ctrl + Alt + Z
- Pause or F7
Printer
- Log-in as
root
- 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
Quad9 DNS
- Secured w/ECS
- See DNS servers for other DNS servers
9.9.9.11,149.112.112.11
2620:fe::11,2620:fe::fe:11
VPN.AC
- See VPN.AC
- If using this VPN, disable IPv6 from NetworkManager
Nautilus
- Sort folders before files
Rhythmbox
- See Internet Radio
ckb-next
- May have to disable automatic firmware update check from ckb-next settings in order to prevent it from crashing on profile switch?
sudo systemctl enable 'ckb-next-daemon' --now
GRUB
- See Kernel Parameters for other options
Config
sudo -e '/etc/default/grub' && sudo update-grub
IOMMU
- On Ryzen, this should be left enabled in the firmware settings in all cases, but if not directly used for virtualization, should be disabled from the OS (note)
iommu=pt
amdgpu
- Allows use of Overdrive options for overclocking and notably increasing the Power Limit
- See Power Limit
amdgpu.ppfeaturemask=0xffffffff
cat '/sys/module/amdgpu/parameters/ppfeaturemask' | grep '4294967295'
GNOME
Settings
All-in-one
- Last updated: 2021/09/26
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.interface' 'clock-show-weekday' 'true' && gsettings set 'org.gnome.software' 'download-updates' 'false'
Individual
- Last updated: 2021/09/26
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.interface' 'clock-show-weekday' 'true'
gsettings set 'org.gnome.software' 'download-updates' 'false'
KeePassXC
Settings
- General → [ ] Load previous databases on startup
- Security → [x] Use DuckDuckGo service to download website icons
Add Database Password to GNOME Keyring
secret-tool store --label='KeePass' 'keepass' 'default'
lm_sensors
--auto
is quicker, but more things are detected by doing the full scan
sudo sensors-detect
sudo sensors-detect --auto
mpv
mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf'
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp video-sync=display-resample interpolation tscale=oversample
NetworkManager
wifi.powersave
can be2
for disabled, or3
for enabledethernet.cloned-mac-address=random
breaks USB Tethering with iOS/iPhones
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] wifi.cloned-mac-address=random [connection] wifi.powersave=2
[connection-mac-randomization] ethernet.cloned-mac-address=random
Secure Shell
- See Client notes to generate/restore public key
Uncomplicated Firewall
sudo ufw reset && sudo ufw default deny && sudo ufw logging off && sudo ufw enable && sudo systemctl enable 'ufw'
sudo ufw allow 'ssh'
Drive Maintenance
Trim
- Enable only if a SSD is being used for Linux
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
XFS Scrub
- Enable only if a persistent drive exists formatted with XFS
- TODO: Test this on Ubuntu
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l
UTC
- Set RTC to UTC
- Needed if Windows is installed first
- Windows should also be set to UTC
sudo timedatectl set-local-rtc '0'
Verify
timedatectl | grep local
Wine
- See Wine
Xorg
- Ideally
modesetting
should be used
Mozilla Firefox
- See Firefox if old configuration is needed, otherwise use Firefox Sync
Server
- For workstations that run servers as a secondary directive
- For headless servers, use openSUSE TW (Server)
Automatic Updates
Service
sudo -e '/etc/systemd/system/suse-up.service'
[Service] Type=oneshot ExecStartPre='/usr/bin/zypper' clean --all ExecStart='/usr/bin/zypper' --non-interactive refresh --force --services ExecStart='/usr/bin/zypper' --non-interactive dist-upgrade --auto-agree-with-licenses --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change ExecStartPost='/usr/bin/sync' ExecStartPost='/usr/bin/systemctl' reboot
Timer
- 06:00 Oak
sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' --now
[Unit] Description=Software Package Maintenance and Updater After=network-online.target Wants=network-online.target [Timer] OnCalendar=*-*-* 06:00:00 Persistent=true [Install] WantedBy=timers.target
Notable Folders and Commands
Extract ISO
D
is the destination you want the extracted files to gox
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
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
- Change
x
to a URL
'/tmp/youtube-dl' --list-formats x
Download Media
- Change
x
to a URL bestaudio
can be changed tobestvideo
for just video, orbest
for 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
Zypper
Find Orphans
zypper packages --orphaned
Remove Package and Deps
sudo zypper remove --clean-deps 'x'
Show Installed Patterns
sudo zypper patterns --installed-only
Folder
ls '/etc/zypp/repos.d'
List
zypper repos --priority
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
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 zypper install -y 'sensors' && 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 present the same information
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 zypper install 'hdparm' && sync
sudo hdparm -I '/dev/sda'
sync && 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 zypper 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 3)
- 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
sudo cat '/sys/kernel/debug/vgaswitcheroo/switch'
ACPI Tables
- In
dsdt.dsl
, look for_OSI
values, along withWindows
andLinux
sudo zypper install 'acpica'
sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat'
cd ~ && iasl -d ~/'dsdt.dat'
gio open ~/'dsdt.dsl'
sudo zypper remove 'acpica' && sync
Custom Resolutions
Generate Modeline
- Use
--reduced
only for LCD/Non-CRT displays, and only as-needed 4) - Syntax is
horizontal
(width),vertical
(height) andrefresh rate
cvt '3840' '2160' '60'
cvt --reduced '3840' '2160' '60'
--reduced
Temporarily Apply
- Changes are lost after reboot
- Values after
--newmode
are 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
Identifier
is the name of the port on the GPU the display is connected toModeline
is from the above generate command, including the textModeline
PreferredMode
is 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 with
intel_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
- 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'
HT/SMT 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
in7ZIPNAME.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 zypper install 'oath-toolkit'
oathtool --totp -b 'x'
Remove EXIF data
sudo zypper install 'exiftool'
exiftool -all= *.* -overwrite_original
/var/www/wiki/data/attic/distros/ubuntu_desktop_test.1632672409.txt.gz · Last modified: 2021/09/26 12:06 by Sean Rhone