A near-exhaustive list of software I use, not an exhaustive list of the best software. There could very well exist superior alternatives. Feel free to point them out.
Latest update: 28 September 2024.
❦
Some arguments to consider financially supporting developers who share their work for free without ads: What if I paid for all my free software?
Model: 1. Samsung S10e (second-hand), 2. OnePlus One (2014).
OS: 1. Android 12, 2. LineageOS (18.1) + microG (No Google account needed!).
Neo Store app catalogue (F-Droid client):
Aurora Store app catalogue:
Installation checklist of my preferred Arch-based Linux operating system EndeavourOS. Need help? Read the EndeavourOS wiki, the Manjaro wiki, or use the remarkably extensive ArchWiki.
❦
I have certain set of software I install on every new machine. Here follows a list I copy-paste so I don't have to install everything individually each time.
pacman -Syu --needed vivaldi vivaldi-ffmpeg-codecs xscreensaver geany gnome-disk-utility yakuake btop catfish ffmpeg ffmpegthumbs ffmpegthumbnailer gufw hunspell hunspell-nl hunspell-en_GB hunspell-fr smplayer okular bash-completion fwupd tmux thunar gvfs gvfs-mtp tumbler thunar-media-tags-plugin thunar-volman zsh xdotool qt5-imageformats xournalpp grsync libreoffice-fresh calibre npm make automake base-devel texlive-basic texlive-latex texlive-latexextra remmina libvncserver x11vnc transmission-qt inotify-tools kdeconnect gparted dnsutils baobab peek redshift
yay autokey-gtk && yay sblock-git && yay input-remapper-git && yay vscodium-bin && yay simplescreenrecorder-bin && yay lyx && yay rustdesk-bin && yay rate-mirrors && yay schildichat-desktop-bin && yay crow-translate
npm install -g live-server
Direct download: Mega, Qalculate.
boinc opencl-nvidia python-requests
pacman -Syu --needed element-desktop shotcut rssguard discord bluez bluez-utils xsane seahorse noto-fonts-emoji playerctl xfce4-systemload-plugin xfce4-sensors-plugin gst-plugins-good geany-plugins android-tools
❦
Forest Clearing by Ironclad.
alias xyz="xdg-open path/to/file.ods"
alias xyz="cd path/to/folder/"
alias xyz="cd /path/to/scripts/ && ./script-name.sh $1"
alias upd="yes | sudo pacman -Syu"
alias gimps="cd .GIMPS/p95v308b17.linux64/ && ./mprime -m"
alias cync="cd /home/…/public/ && git pull && xdotool key ctrl+shift+t && live-server"
alias clean="sudo pacman -Sc && rm -rf ~/.cache/* && sudo pacman -Rns $(pacman -Qtdq)"
alias gitp="git push -u origin main"
sleep 1; xset dpms force off
To install Linux Manjaro's zsh config: yay manjaro-zsh-config
, copy-paste the text below into the .zshrc file in the home directory, within the terminal settings change /bin/bash
to /bin/zsh
, close and re-open the terminal.
# Use powerline
USE_POWERLINE="true"
# Has weird character width
# Example:
# is not a diamond
HAS_WIDECHARS="false"
# Source manjaro-zsh-configuration
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
source /usr/share/zsh/manjaro-zsh-config
fi
# Use manjaro zsh prompt
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
source /usr/share/zsh/manjaro-zsh-prompt
fi
If the font renders incorrectly after a KDE Plasma 6 upgrade, then use the following font in your Konsole profile: NotoSansM Nerd Font Mono
Globally block 3rd-party scripts and 3rd-party frames.
* * 3p-frame block
* * 3p-script block
mkdir /etc/sblock/ && sudo echo -e 'http://sbc.io/hosts/hosts\nhttp://sbc.io/hosts/alternates/porn-only/hosts' > /etc/sblock/sources.list
sblock
To whitelist a domain, add cynicusrex.com and www.cynicusrex.com to /etc/sblock/allow.list
and run sblock
again.
To change the minimap colors, etc. [source 1, 2, 3, 4], go to File → Preferences → Settings → in the search box, type: workbench.colorCustomizations
→ click “Edit in settings.json”
{
"editor.tabSize": 2,
"editor.wordWrap": "on",
"cSpell.language": "en-GB",
"editor.minimap.showSlider": "always",
"workbench.colorCustomizations": {
"editor.background": "#faebd7",
"editor.foreground": "#000000",
// "editor.lineHighlightBorder": "#ffffff",
"editor.lineHighlightBackground": "#f1fdff",
"editor.selectionBackground": "#7cffc2",
"editor.selectionHighlightBackground": "#d2e6d7",
"scrollbarSlider.activeBackground": "#95efff",
"scrollbarSlider.hoverBackground": "#c0ebff",
"scrollbarSlider.background": "#dfeeff",
},
"workbench.colorTheme": "Default Light Modern",
"editor.fontFamily": "'Droid Sans Mono', 'monospace', monospace",
"editor.fontSize": 16,
"editor.hover.above": false,
"editor.hover.delay": 700,
}
Frequently used shortcuts:
control + shift + L
control + shift + L
control + shift + P
and select “Emmet: Wrap with Abbreviation”.alt + click
and/or add more with: shift + alt + up/down
control + D
control + shift + A
control + /
sudo pacman -S inotify-tools
#!/bin/bash
while inotifywait -e modify,move_self -qq your_python_script.py; do
python3 your_python_script.py
done
Make sure the shell script is executable by right clicking it → “Properties” → “Permissions” → “Program: ☑ Allow this file to run as a program”, or by running the following command: chmod +x auto_execute.sh
auto_execute.sh
Now, whenever you save “your_python_script.py”, it will instantly throw the output in the VSCodium terminal, or whatever terminal you executed the shell script in. Source: ChatGPT.
To build LyX one needs packages make automake autoconf base-devel
, otherwise it throws the following error:
“configure: error: cannot compile a simple Qt executable. Check you have the right $QTDIR”
To configure Plasma search to open a browser with a query when entering “xyz example.com”, e.g., “viv example.com” that opens example.com in Vivaldi browser:
“create a symlink named "viv" in /usr/bin/ to the actual vivaldi binary” —Jan R..
Either there likely already is a symlink named “vivaldi” within /usr/bin/
, of which you can make another symlink with a more convenient shorter name: sudo ln -s vivaldi viv
Or go to the directory containing the vivaldi binary, in my case “/opt/vivaldi/”, and in that directory run the command: sudo ln -s vivaldi /usr/bin/viv
To back up all your custom websites added to the Web Search Keywords KRunner plugin, navigate to ~/.local/share/kf6/searchproviders/
and back up the containing files.
The upgrade from KDE Plasma 5 to 6 enables Wayland by default despite using X11 before, and it breaks tons of stuff, e.g., Vivaldi browser became unusable, XScreenSaver does not work, et cetera. To revert to X11 open SDDM → Behaviour… → Automatically log in…with session Plasma (X11)
.
Open kdewallet with kdewalletmanager and delete “akonadi_imap_resource_…” in “Contents” > “imap” > “Passwords”.
Go to “Settings” > “Plugins” > “Akonadi Agents”, and click the slider icon 🎚️ next to “Unified Mailbox Agent”.
To remove Vivaldi's header / title bar, first enable “☑ Allow CSS modifications” at vivaldi://experiments/, then open Vivaldi's settings → Appearance → CUSTOM UI MODIFICATIONS → select the folder with a .css file containing: #header {
display: none;
}
To hide the names of individual bookmarks and keep the names of folders while removing the folder icons in FireFox or derivatives like LibreWolf or Waterfox [I used ChatGPT for this, sorry]:
~/.librewolf/rqp0p3up.default-default/chrome/
/* Hide the names of individual bookmarks */
#personal-bookmarks .bookmark-item:not([type="menu"]) .toolbarbutton-text {
display: none !important;
}
/* Keep the names of bookmark folders visible */
#personal-bookmarks .bookmark-item[type="menu"] .toolbarbutton-text {
display: inline !important;
}
/* Remove the folder icon of bookmark folders */
#personal-bookmarks .bookmark-item[type="menu"] .toolbarbutton-icon {
display: none !important;
}
To simply hide the names of everything in the bookmarks bar, use: #personal-bookmarks .toolbarbutton-text {display:none!important}
To move the bookmarks and navigation bar to the bottom of the window in LibreWolf, place in the aforementioned userChrome.css file the following:
/* Move the bookmarks bar and navigation bar to the bottom of the window */
@-moz-document url(chrome://browser/content/browser.xhtml) {
:root:not([inFullscreen]) {
--uc-nav-bar-height: 36px; /* Adjust this value based on your navigation bar height */
--uc-bookmarks-bar-height: 30px; /* Adjust this value based on your bookmarks bar height */
}
/* Adjust the main browser layout to create space at the bottom */
#browser, #customization-container {
margin-bottom: calc(var(--uc-nav-bar-height) + var(--uc-bookmarks-bar-height));
}
/* Move the navigation bar to the bottom */
#nav-bar {
position: fixed !important;
bottom: 0 !important;
width: 100%;
z-index: 2;
}
/* Move the bookmarks bar above the navigation bar */
#PersonalToolbar {
position: fixed !important;
bottom: var(--uc-nav-bar-height) !important;
width: 100%;
z-index: 1;
}
/* Ensure each toolbar element grows appropriately */
#personal-bookmarks, #nav-bar {
display: flex;
flex-grow: 1;
}
}
#navigator-toolbox {
max-height: 0;
overflow: hidden;
transition: ease all 5s;
}
#main-window:hover #navigator-toolbox {
max-height: 100vh;
animation: 0s pop-in;
animation-fill-mode: both;
animation-delay: 5s;
}
@keyframes pop-in {
from {overflow: hidden}
to {overflow: unset}
}
To enable KeePassXC browser integration in LibreWolf:
~/.librewolf/native-messaging-hosts
{"version":"2.0.126","settings":{"blur":0,"brightness":100,"contrast":100,"grayscale":0,"huerotate":0,"invert":0,"saturate":100,"sepia":0,"applyvideofilters":false,"backgroundcolor":"#000000","backgroundopacity":100,"blackbars":false,"blockautoplay":true,"blockhfrformats":true,"blockwebmformats":false,"boostvolume":false,"cinemamode":false,"cinemamodewideplayer":false,"controlbar":{"active":true,"autohide":false,"centered":true,"position":"absolute"},"controls":["loop","volume-booster","size","pop-up-player","speed","screenshot","options"],"controlsvisible":false,"controlspeed":true,"controlspeedmousebutton":false,"controlvolume":false,"controlvolumemousebutton":true,"convertshorts":false,"customcolors":{"--dimmer-text":"#cccccc","--hover-background":"#232323","--main-background":"#111111","--main-color":"#00adee","--main-text":"#eff0f1","--second-background":"#181818","--shadow":"#000000"},"customcssrules":"","customscript":"","customtheme":false,"darktheme":true,"date":1687771133142,"defaultvolume":true,"disableautoplay":true,"executescript":false,"expanddescription":false,"filter":"none","hidecardsendscreens":false,"hidechat":false,"hidecomments":false,"hiderelated":false,"hideshorts":true,"ignoreplaylists":true,"ignorepopupplayer":false,"localecode":"en_GB","localedir":"ltr","message":false,"miniplayer":true,"miniplayerposition":"_top-left","miniplayersize":"_320x180","newestcomments":false,"overridespeeds":true,"pauseforegroundtab":true,"pausevideos":true,"popuplayersize":"960x540","qualityembeds":"medium","qualityembedsfullscreen":"hd1080","qualityplaylists":"large","qualityplaylistsfullscreen":"hd1080","qualityvideos":"large","qualityvideosfullscreen":"hd1080","reload":false,"reversemousewheeldirection":false,"selectquality":true,"selectqualityfullscreenoff":true,"selectqualityfullscreenon":true,"speed":1,"speedvariation":0.25,"stopvideos":true,"theatermode":true,"theme":"youtube-deep-dark","themevariant":"youtube-deep-dark-kde.css","update":1717776894743,"volume":75,"volumemultiplier":3,"volumevariation":5,"wideplayer":false,"wideplayerviewport":true}}
☑ “Hide All Child Comments”.
On the remote computer (server) to connect to:
libvncserver x11vnc
5900
in the firewall settings.x11vnc -usepw -forever -display :0
On the local computer:
remmina libvncserver
The desktop environment of the remote computer should now be visible. Don't forget to set a password in x11vnc when leaving the connection open indefinitely.
Install package boinc. Add your username to the boinc user group: gpasswd -a x boinc
. Start boinc: systemctl start boinc-client.service
.
Double-check if boinc causes log spam: journalctl --grep='Authorization required, but no authorization protocol specified'
If this log spam is present, create a “drop-in file” for boinc-client.service:
mkdir /etc/systemd/system/boinc-client.service.d/ && sudo echo -e '[Service]\nLogFilterPatterns=~no authorization protocol specified' > /etc/systemd/system/boinc-client.service.d/wayland-syslog-spam.conf
To use BOINC via the GUI, click the previous link. When creating the gui_rpc_auth.cfg file and launching boincmgr via commandline it will probably work, but when launching BOINC Manager via an application launcher I recall it throwing an “gui_rpc_auth.cfg exists but can't be read. Check the File permissions.” error message. Changing the file's permissions fixed this: chmod 640 ~/gui_rpc_auth.cfg
.
To make sure the mouse input suspends the tasks too—after startup/boot/login—and not only keyboard inputs: echo 'xhost si:localuser:boinc' > ~/.xprofile
. Or just run xhost si:localuser:boinc
in a terminal to not make it persistent.
It's possible to run GIMPS on the CPU (mprime) and GPU (GpuOwl) simultaneously. [Thanks to kriesel for the tip.]
git clone https://github.com/preda/gpuowl.git
python3 ~/gpuowl/tools/primenet.py -u GIMPSusername
~/gpuowl/build-release/gpuowl
Enable XScreenSaver in KDE Plasma.
xscreensaver-settings
xscreensaver-command -activate
xscreensaver-command -lock
# XScreenSaver Preferences File
# Written by xscreensaver-settings 6.08 for x on Sun Mar 24 19:38:42 2024.
# https://www.jwz.org/xscreensaver/
timeout: 0:03:00
cycle: 0:05:00
lock: False
lockTimeout: 0:03:00
passwdTimeout: 0:00:30
visualID: default
installColormap: True
verbose: False
splash: True
splashDuration: 0:00:05
demoCommand: xscreensaver-settings
nice: 10
fade: True
unfade: False
fadeSeconds: 0:00:01
ignoreUninstalledPrograms:False
dpmsEnabled: False
dpmsQuickOff: False
dpmsStandby: 0:30:00
dpmsSuspend: 0:30:00
dpmsOff: 0:30:00
grabDesktopImages: False
grabVideoFrames: False
chooseRandomImages: False
imageDirectory:
mode: random
selected: 142
textMode: url
textLiteral: XScreenSaver
textFile:
textProgram: fortune
textURL: https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
dialogTheme: greenblack
settingsGeom: 1,28 0,28
programs: \
- maze --root \n\
- GL: superquadrics --root \n\
- attraction --root \n\
- blitspin --root \n\
- greynetic --root \n\
- helix --root \n\
- hopalong --root \n\
- imsmap --root \n\
- noseguy --root \n\
- pyro --root \n\
- qix --root \n\
- rocks --root \n\
- rorschach --root \n\
- decayscreen --root \n\
- flame --root \n\
- halo --root \n\
- slidescreen --root \n\
- pedal --root \n\
- bouboule --root \n\
- braid --root \n\
- coral --root \n\
- deco --root \n\
- drift --root \n\
- fadeplot --root \n\
galaxy --root \n\
- goop --root \n\
- grav --root \n\
- ifs --root \n\
- GL: jigsaw --root \n\
- julia --root \n\
- kaleidescope --root \n\
- GL: moebius --root \n\
- moire --root \n\
- GL: morph3d --root \n\
- mountain --root \n\
- munch --root \n\
- penrose --root \n\
- GL: pipes --root \n\
- rdbomb --root \n\
- GL: rubik --root \n\
- sierpinski --root \n\
- slip --root \n\
- GL: sproingies --root \n\
- starfish --root \n\
- strange --root \n\
- swirl --root \n\
- triangle --root \n\
- xjack --root \n\
- xlyap --root \n\
- GL: atlantis --root \n\
- bsod --root \n\
- GL: bubble3d --root \n\
GL: cage --root \n\
- crystal --root \n\
- cynosure --root \n\
- discrete --root \n\
- distort --root \n\
- epicycle --root \n\
- flow --root --no-box \n\
- GL: glplanet --root \n\
- interference --root \n\
- kumppa --root \n\
- GL: lament --root \n\
- moire2 --root \n\
- GL: sonar --root \n\
- GL: stairs --root \n\
- truchet --root \n\
- vidwhacker --root \n\
- webcollage --root \n\
- blaster --root \n\
- bumps --root \n\
- ccurve --root \n\
- compass --root \n\
- deluxe --root \n\
- demon --root \n\
- GL: extrusion --root \n\
- loop --root \n\
- penetrate --root \n\
- petri --root \n\
- phosphor --root \n\
- GL: pulsar --root \n\
- ripples --root \n\
- shadebobs --root \n\
GL: sierpinski3d --root --delay 16935 --depth 4 \n\
- spotlight --root \n\
- squiral --root \n\
- wander --root \n\
- xflame --root \n\
- xmatrix --root \n\
- GL: gflux --root \n\
- nerverot --root \n\
xrayswarm --root \n\
- xspirograph --root \n\
- GL: circuit --root \n\
- GL: dangerball --root \n\
- GL: dnalogo --root \n\
- GL: engine --root \n\
- GL: flipscreen3d --root \n\
- GL: gltext --root \n\
- GL: menger --root --delay 32258 --speed 50 \n\
- GL: molecule --root \n\
- rotzoomer --root \n\
- scooter --root \n\
- speedmine --root \n\
- GL: starwars --root \n\
- GL: stonerview --root \n\
- vermiculate --root \n\
- whirlwindwarp --root \n\
- zoom --root \n\
- anemone --root \n\
- apollonian --root \n\
- GL: boxed --root \n\
- GL: cubenetic --root \n\
- GL: endgame --root \n\
- euler2d --root \n\
- fluidballs --root \n\
- GL: flurry --root \n\
- GL: glblur --root \n\
- GL: glsnake --root \n\
- halftone --root \n\
- GL: juggler3d --root \n\
- GL: lavalite --root \n\
- polyominoes --root \n\
- GL: queens --root \n\
- GL: sballs --root \n\
- GL: spheremonics --root \n\
- twang --root \n\
- GL: antspotlight --root \n\
- apple2 --root \n\
- GL: atunnel --root \n\
- barcode --root \n\
- GL: blinkbox --root \n\
- GL: blocktube --root \n\
- GL: bouncingcow --root \n\
- cloudlife --root \n\
- GL: cubestorm --root \n\
- eruption --root \n\
- GL: flipflop --root \n\
- GL: flyingtoasters --root \n\
- fontglide --root \n\
- GL: gleidescope --root \n\
- GL: glknots --root \n\
GL: glmatrix --root --no-rotate \n\
- GL: glslideshow --root \n\
GL: hypertorus --root \n\
- GL: jigglypuff --root \n\
- metaballs --root \n\
- GL: mirrorblob --root \n\
- piecewise --root \n\
- GL: polytopes --root \n\
- pong --root \n\
- popsquares --root \n\
GL: surfaces --root \n\
- xanalogtv --root \n\
- abstractile --root \n\
- anemotaxis --root \n\
- GL: antinspect --root \n\
- fireworkx --root \n\
- fuzzyflakes --root \n\
- interaggregate --root \n\
- intermomentary --root \n\
- memscroller --root \n\
- GL: noof --root \n\
- pacman --root \n\
- GL: pinion --root \n\
- GL: polyhedra --root \n\
- GL: providence --root \n\
- substrate --root \n\
- wormhole --root \n\
- GL: antmaze --root \n\
- GL: boing --root \n\
- boxfit --root \n\
- GL: carousel --root \n\
- celtic --root \n\
- GL: crackberg --root \n\
- GL: cube21 --root \n\
- fiberlamp --root \n\
- GL: fliptext --root \n\
- GL: glhanoi --root \n\
- GL: tangram --root \n\
- GL: timetunnel --root \n\
- GL: glschool --root \n\
- GL: topblock --root \n\
GL: cubicgrid --root \n\
- cwaves --root \n\
- GL: gears --root \n\
- GL: glcells --root \n\
- GL: lockward --root \n\
- m6502 --root \n\
- GL: moebiusgears --root \n\
- GL: voronoi --root \n\
- GL: hypnowheel --root \n\
- GL: klein --root \n\
- lcdscrub --root \n\
- GL: photopile --root \n\
- GL: skytentacles --root \n\
- GL: rubikblocks --root \n\
- GL: companioncube --root \n\
- GL: hilbert --root \n\
- GL: tronbit --root \n\
- GL: geodesic --root \n\
- hexadrop --root \n\
- GL: kaleidocycle --root \n\
- GL: quasicrystal --root \n\
- GL: unknownpleasures --root \n\
- binaryring --root \n\
- GL: cityflow --root \n\
- GL: geodesicgears --root \n\
- GL: projectiveplane --root \n\
GL: romanboy --root \n\
- tessellimage --root \n\
- GL: winduprobot --root \n\
- GL: splitflap --root \n\
- GL: cubestack --root \n\
- GL: cubetwist --root \n\
- GL: discoball --root \n\
- GL: dymaxionmap --root \n\
- GL: energystream --root \n\
- GL: hexstrut --root \n\
- GL: hydrostat --root \n\
- GL: raverhoop --root \n\
- GL: splodesic --root \n\
- GL: unicrud --root \n\
- GL: esper --root \n\
- GL: vigilance --root \n\
- GL: crumbler --root \n\
- filmleader --root \n\
- glitchpeg --root \n\
- GL: handsy --root \n\
- GL: maze3d --root \n\
- GL: peepers --root \n\
- GL: razzledazzle --root \n\
- vfeedback --root \n\
- GL: deepstars --root \n\
- GL: gravitywell --root \n\
- GL: beats --root \n\
- GL: covid19 --root \n\
- GL: etruscanvenus --root \n\
- GL: gibson --root \n\
- GL: headroom --root \n\
- GL: sphereeversion --root \n\
- binaryhorizon --root \n\
- marbling --root \n\
- GL: chompytower --root \n\
- GL: hextrail --root \n\
- GL: mapscroller --root \n\
- GL: nakagin --root \n\
- GL: squirtorus --root \n\
- GL: cubocteversion --root \n\
- droste --root \n\
- GL: papercube --root \n\
- GL: skulloop --root \n\
pointerHysteresis: 10
authWarningSlack: 20
MOBA “gaming” mice with lots of buttons might be preconfigured to output letters, numbers, etc. These preconfigurations need to be removed first so you can properly remap them with Input Remapper. Otherwise, let's say a button is preconfigured to output number 5, when trying to remap that button, it will remap number 5 on the keyboard is well.
Unfortunately, for my EVGA X15 mouse the Windows-only EVGA Unleash RGB Software is needed to undo the aforementioned default configurations.
Input: mouse → Output target: keyboard
KEY_LEFTCTRL + c
KEY_LEFTCTRL + v
KEY_LEFTCTRL + x
KEY_LEFTCTRL + Shift_L + v
Alt_L + d
Input: mouse → Output target: keyboard + mouse
Shift_L + BTN_MIDDLE
Input: keyboard → Output target: keyboard
BackSpace
Caps_Lock
Input: mouse → Output target: keyboard
Control_L + c
Prior
Home
Control_L + v
Next
End
Input: mouse → Output target: keyboard + mouse
Shift_L + BTN_MIDDLE
To start and indefinitely enable Input Remapper: systemctl enable input-remapper && systemctl restart input-remapper
tmux list-sessions
tmux attach -t 3
CTRL + b
and type d
.To remove websites from the search results, append the query with -site:pinterest.com -site:quora.com
.
Insert in the .bashrc
file: alias am="cd /path/to/scripts/ && ./search-amazon.sh"
Insert in a script, here search-amazon.sh:
xdg-open "https://amazon.fr/s?k=$*"
xdg-open "https://amazon.de/s?k=$*"
xdg-open "https://amazon.com.be/s?k=$*"
xdg-open "https://amazon.nl/s?k=$*"
To update bash execute: . ~/.bashrc
Now, within a terminal simply execute am foo bar
, and it will open all websites searching for “foo bar”.
sudo pacman -Sc && rm -rf ~/.cache/* && sudo pacman -Rns $(pacman -Qtdq)
sleep 1; xset dpms force off
watch -d grep -e Dirty: -e Writeback: /proc/meminfo
xset q | grep -q 'Scroll Lock: off' && xset led named 'Scroll Lock' || xset -led named 'Scroll Lock'
git config --global credential.helper 'cache --timeout=3600'
xdg-mime default vivaldi-stable.desktop x-scheme-handler/https x-scheme-handler/http
playerctl play-pause/next/previous
amixer set Master n%+/n%-
konsole -e btop
sed -i 's/original/new/g' file.txt
rate-mirrors --protocol https arch | sudo tee /etc/pacman.d/mirrorlist
rsync -auhP source destination
x-scheme-handler/magnet=transmission-qt.desktop
to ~/.config/mimeapps.list
How to uninstall a normally uninstallable Android system app, e.g. “Link to Windows”.
android-tools
adb devices
adb shell
pm list packages -s
, or a specific package: pm list packages -s | grep "microsoft"
pm uninstall -k --user 0 com.microsoft.appmanager
pm list packages -s | grep "microsoft"
To share a drive between Linux and Windows (11?) on a dual-boot setup and ensure the drives' files don't get deleted, disable Windows' enabled by default fast startup and hibernation:
powercfg /H off
Unplug the Ethernet cable and disable Wi-Fi. When prompted to enter an email address press Shift + F10
, and in cmd.exe type oobe\BypassNRO
and press enter to reboot. Then click “I don't have internet” → “Continue with limited setup”. When asked to enter your name type “Screw Microsoft”. Unethical bastards.
If Shift + F10
does not launch anything except for a split-second loading icon, then just use no@thankyou.com
as the email address and enter any arbitrary password; “Screw Microsoft” remains an appropriate choice.
Source: How to bypass the Microsoft Account requirement during Windows setup
- Launch the registry editor
regedit
- Navigate to
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows
- Create a new key called
Explorer
by right clicking “Windows” → “New” → “Key”- Create a DWORD value called
DisableSearchBoxSuggestions
by right clicking “Explorer” → “New” → “DWORD (32 bit) Value”- Assign the hexadecimal value of
1
to this newly created DWORD and click “OK”
Sources: (1) How to remove "Trending searches" in Windows 10 search? (2) How to: Disable search box suggestions in Windows 11.
Source: How to disable Copilot in Windows 11
❦
Search for https://fosstodon.org/@stardust/111603722034691744 (fosstodon invite) on your preferred Mastodon server while logged in, comments appear below.