17 KiB
nifty
ant (garmin)
antfs-cli --pair- pair watch to pcantfs-cli --upload- upload data to pc- files are transferred to
~/.config/antfs-cli/[device_id]/activities
- files are transferred to
src:
batch resize and compress images
mkdir converted;for photos in *.jpg;do convert -verbose "$photos" -quality 90% -resize 1920x1080 ./converted/"reduced_$photos"; done
src:
bluetooth
$ sudo systemctl start bluetooth
$ bluetoothctl
[bluetooth]# power on
[bluetooth]# scan on
[bluetooth]# pair 40:C1:F6:7A:37:E6
[bluetooth]# connect 40:C1:F6:7A:37:E6
[JBL Go 3]#
...
[bluetooth]# devices
Device B8:D5:0B:D0:06:B0 HK Onyx Studio 3
[bluetooth]# connect B8:D5:0B:D0:06:B0
change cursor pointer theme
$ appearance-menu
chmod
The Octal digits used for assigning permissions are as follows:
| Octal Digit | Permissions |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r-- |
| 3 | -wx |
| 2 | -w- |
| 1 | --x |
| 0 | (none) |
dmenu - run mode & cache
update if app runs in background or using terminal
ls ~/.config/dmenu-recent/ [background* | terminal*] in these files the commands are defined or stored, and you can edit them.
edit / delete cahced entries, located in: ~/.cache/dmenu-recent/
drive and file management
- automount:
- partitioning:
- using gparted, create new partition table of type
gpt, then create a newext4partition.
- using gparted, create new partition table of type
- access rights
$ sudo chown 1000:100 /run/media/klevstul/cacheDrive/$ sudo chmod 755 /run/media/klevstul/cacheDrive/
- iso checking
- download both the
.isoand the related.md5file md5sum -c filename.iso.md5
- download both the
- iso burning: (to usb thumb drives)
lsblk(locate drive letter)sudo dd bs=4M if=/path/to/manjaro.iso of=/dev/sd[driveLetter] status=progress oflag=sync
- secure delete:
srm -i -v file.txt
- size of directories:
du -sh /home/klevstul/* | sort -hrdu -sh .[!.]* * | sort -hr(calculating current dir, standing in ~/home dir - includes hidden system folders)du -h --max-depth=1du -h --max-depth=1 /media/drive2/cloud-drive/Dropbox/- ref: https://linuxconfig.org/list-all-directories-and-sort-by-size
debugging
run sudo dmesg -w - then, plug in the usb and check the output messages
run lsusb to see if the usb is listed
run lsblk to see if the usb is listed
diff
diff --brief --recursive /media/nas/cb/cbdb /media/drive2/nass/cb/cbdb
src: https://www.baeldung.com/linux/compare-two-directories
encryption/decryption
symmetric
# zip and encrypt
$ 7za a archive.7z directory/
$ gpg -c archive.7z # `-c` is the same as `--symmetric`
# decrypt and unzip
$ gpg -d archive.7z.pgp > archive.7z
$ 7za x archive.7z
key
first time setup
gpg --gen-key
Real name: Frode Klevstul`
Email address: frode@klevstul.com`
gpg: revocation certificate stored as '/home/poq/.gnupg/openpgp-revocs.d/2C6781ED21DF77ADA325BB8F7B048108A509A75D.rev'
public and secret key created and signed.
pub ed25519 2025-11-10 [SC] [expires: 2028-11-09]
2C6781ED21DF77ADA325BB8F7B048108A509A75D
uid Frode Klevstul <frode@klevstul.com>
sub cv25519 2025-11-10 [E] [expires: 2028-11-09]
use existing key
encrypt/decrypt
- encrypt:
$ gpg --encrypt --sign --recipient frode@klevstul.com test.txt- (pre nov 25:
$ gpg --encrypt --sign --recipient frode@thisworld.is test.txt)
- (pre nov 25:
- decrypt:
$ gpg --output out.txt --decrypt test.txt.gpg
backup
- simple:
- make a backup of the folder
~/.gnupg
- make a backup of the folder
or, alternatively:
having opened the cryptLocal cryptomator vault, do the following to back up the key:
cp -r /home/poq/.gnupg/openpgp-revocs.d/2C6781ED21DF77ADA325BB8F7B048108A509A75D.rev /home/poq/.local/share/Cryptomator/mnt/cryptLocal/content/keys/openPgp/.gnupggpg --armor --export frode@klevstul.com > /home/poq/.local/share/Cryptomator/mnt/cryptLocal/content/keys/openPgp/.gnupg/251110_frodeKlevstul_publicKey.ascgpg --armor --export-secret-keys frode@klevstul.com > /home/poq/.local/share/Cryptomator/mnt/cryptLocal/content/keys/openPgp/.gnupg/251110_frodeKlevstul_privateKey.asc
git
initialise new repository
git init .
git add -A
git commit -am "Initial commit"
git push
ref: https://stackoverflow.com/questions/65033357/git-init-new-from-existing-repository
hard drive
- use
gnome-disk-utility
src:
feh (image viewer)
feh -d --draw-exif --draw-tinted --recursive
find/grep/search
find
example how to search in files, locating files of type .desktop containing gitkraken:
[klevstul@x270mjr ~]$ find / -name '*.desktop' -exec grep -H 'gitkraken' {} \; 2>/dev/null
another search, this time for a string in files:
root@humhub:~# find /var/www/humhub/ -type f -exec grep -l "initial_password" {} \;
grep -rniw
search for file containing pagan: [klevstul@silentGamerMjr ~]$ grep -rniw '/run/media/klevstul/raid/Dropbox/gitlab/myPlaylists/' -e 'pagan' src: https://unix.stackexchange.com/questions/524828/what-does-grep-w-do
grep -rni
grep -rni "text string" /path/to/directory src: https://www.linuxjournal.com/content/how-search-and-find-files-text-strings-linux
ffmpeg commands
- webm to mp4 conversion using ffmpeg
ffmpeg -fflags +genpts -i 1.webm -r 24 1.mp4|
- Converting mkv to h264 FFmpeg
ffmpeg -i input.mkv -c copy output.mp4(fast - no conversion)ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4(recompiling)
- How can I reduce a video's size with ffmpeg?
ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
- Scaling
ffmpeg -i input.mp4 -vf scale=320:240,setsar=1:1 output.mp4
fonts
- alt 1: install from aur (often starts with
otf-(preferred) orttf-) - alt 2: add fonts to
~/.local/share/fontsor/usr/share/fonts- maybe: restart application or run
fc-cache
- maybe: restart application or run
git
git commit -a -m "upd"git push origin master
touch README.md
git init
git checkout -b main
git add README.md
git commit -m "genesis"
git remote add origin ssh://git@gt.op.fo:2002/fro/hyprarco.git
git push -u origin main
src: https://www.atlassian.com/git/tutorials/saving-changes/git-commit https://www.atlassian.com/git/tutorials/syncing/git-push
networking (inc wifi)
ifconfig -a(alternative to windows'ipconfig -all)route -n(get info about gateway)nmtui- to open an interactive ui for connecting to wifinm-connection-editor- network manager gui appletnm-applet- toolbar appletsudo systemctl restart NetworkManager- restart network
openssh
generate keypair: $ ssh-keygen -t rsa -b 2048
view the public key: $ less /home/klevstul/.ssh/id_rsa.pub
copy this public key to .ssh/authorized_keys on the remote server.
pacman, aur & yay
misc commands
sudo pacman -Syyu- sync and updsudo pacman -Syuu- sync, update and allow downgradessudo pacman -Rns <name>- uninstallsudo pacman -Rs $(pacman -Qqdt)- remove unused packages (WARNING: can remove too much!)
-S: Sync packages
-y: refresh package database
-uu: sys upgrade all packages, repeated 'u' flag enables downgrades
updating mirrors
ct s mirrors- this command triggers
rate-mirrorsand updating ofmirrorlist
- this command triggers
- use web
cache clearing
- pacman
sudo trash-put /var/cache/pacman/pkg/*
- yay
trash-put .cache/yay/*
avoids errors like:
==> Validating source files with sha256sums...
tuxedo-drivers-dkms-4.13.1.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
aur: manual installation of packages
- if
.tar.gzcd /media/cacheDrive/buildDir/wget [link_to_aur_snapshot_tar_gz]tar -xvzf [package.tar.gz]cd [package/]makepkg -si PKGBUILD (-s syncdependencies, -i install)
- if
.gitcd /tmpgit clone https://aur.archlinux.org/yay.gitcd yaymakepkg -si
Troubleshooting: Error: FAILED (unknown public key 615D449FE6E6A235) Fix: gpg --recv-keys 615D449FE6E6A235
yay
Search for packages with:
yay search_term
Install the packages with:
yay -S package_name
Remove packages with:
yay -R package_name
To delete a package with its dependencies:
yay -Rns package_name
Upgrading (only) the AUR packages:
yay -Sua
ERROR: One or more files did not pass the validity check!
cd /tmp/
git clone https://aur.archlinux.org/microsoft-azure-vpn-client-bin.git
cd microsoft-azure-vpn-client-bin/
updpkgsums
makepkg -si
printers (cups)
- http://localhost:631/admin (admin) - login: poq/poq.L1
- http://localhost:631/printers/Brother_HL-L2310D_series (manage brother)
processes
ps auxps aux | grep 'pulse'
tophtoppstree- kill:
pstree -pkill [PID]orkill -9 [PID]
qt library
- error:
Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6) - fix:
pamac build qt5-styleplugins
$ rename -help
Usage:
rename [options] <expression> <replacement> <file>...
Rename files.
Options:
-v, --verbose explain what is being done
-s, --symlink act on the target of symlinks
-n, --no-act do not make any changes
-a, --all replace all occurrences
-l, --last replace only the last occurrence
-o, --no-overwrite don't overwrite existing files
-i, --interactive prompt before overwrite
-h, --help display this help
-V, --version display version
example, rename .265 to .265.mp4 for all files in a directory:
rename -n -v '.265' '.265.mp4' *
services
- list:
systemctl list-units --type service --all - enable:
sudo systemctl enable nohang-desktop - start:
sudo systemctl start nohang-desktop
shortcuts
verify files using signature
signify -Cqp factory.pub -x crosshatch-factory-2020.05.05.02.zip.sig && echo verified- requires signify (comminity tool)
- ref: https://grapheneos.org/install
sound
list sound cards
cat /proc/asound/cardsaplay -Lorarecord -L(list cards and devices)
set default sound card
asoundconf set-default-card [card_name]- example:
asoundconf set-default-card R14PM
- example:
speaker-test -c 2(test default card)
speaker test
speaker-test -Dfront:R14PM -c 2(test two channel front speakers on card R14PM)- example:
front:CARD=R14PM,DEV=0, R-14PM, USB Audio, Front speakers
- example:
pavucontrol- pulse audio volume control
ssh
$ ssh -l [username] -p [port] [ip]- on host machine:
$ export TERM=xterm
symbolic links
$ ln -s /path/to/original_source /path/to/link_target- eg:
$ ln -s /home/klevstul/.config/STAMP .(create a link toSTAMPin current folder)
swap
- status:
swapon - disable:
sudo swapoff /dev/dm-1 - enable:
sudo swapon /dev/dm-1 - turn off: comment out in
sudo nano /etc/fstab - change size: use GParted
src: archlinux.org
terminal
issue on remote machine
problem: Error opening terminal: xterm-kitty.
solution: # export TERM=xterm
theme change
- either find a theme in aur/arc, or download a theme, like:
- extract theme to
/home/poq/.themes - same thing for icons:
- extract to
/home/poq/.icons - run
lxappearanceand update widget and icon theme $ export GTK_THEME=Sweet-Dark-v40:dark- (or, this might be sufficient:
$ export GTK_THEME=Sweet-Dark-v40)
- (or, this might be sufficient:
$ sudo nano /etc/environment- set:
GTK_THEME=Sweet-Dark-v40:dark
- set:
src: https://gitlab.com/pqq/pIssues.2/-/issues/113
tor with firefox
$ systemctl start tor- foxyproxy:
socks5 w/ dns 127.0.0.1:9050 - test:
curl --socks5-hostname localhost:9050 https://check.torproject.org
src: devdungeon.com
vpn
protonvpn
- download config file from https://account.protonvpn.com/downloads (gnu/linux, udp)
- locate username and password at https://account.protonvpn.com/account#passwords
- left click connection icon in status bar, choose:
- vpn connection > add a vpn connection > import a saved vpn configuration
- navigate to the downloaded config > select it > enter your protonvpn username (OpenVPN / IKEv2 username) and password (OpenVPN / IKEv2 password)
src:
stuck / blocked connection
- (uninstall protonvpn client)
nmcli connection show --active- Remove any reference to protonvpn
nmcli connection delete [name-of-connection]- example:
nmcli connection delete pvpn-ipv6leak-protection
- example:
[poq@t470p ~]$ nmcli con
NAME UUID TYPE DEVICE
.TigoWiFi-370758465/0 aa456038-fcb0-4d1c-ad6d-18d7ad3dbadd wifi wlp3s0
lo 6105f6f5-49b6-4f52-9b9d-cee491d5ccdd loopback lo
-_- d7e4b5f1-7e74-4299-833c-7b7a37ea2ab2 wifi --
Proton VPN CO#20 509b5321-be73-4969-afec-e0a7c4de86d9 vpn --
Wired connection 1 4395f2d8-010b-3809-9a5b-b786b5447faa ethernet --
[poq@t470p ~]$ nmcli connection delete 509b5321-be73-4969-afec-e0a7c4de86d9
Connection 'Proton VPN CO#20' (509b5321-be73-4969-afec-e0a7c4de86d9) successfully deleted.
wacom configuration
use command xsetwacom list devices to find the id for type 'stylus' and map that to main monitor 'HEAD-0'.
example:
$ xsetwacom list devices
Wacom Intuos3 6x11 Pen stylus id: 9 type: STYLUS
Wacom Intuos3 6x11 Pad pad id: 10 type: PAD
Wacom Intuos3 6x11 Pen eraser id: 15 type: ERASER
Wacom Intuos3 6x11 Pen cursor id: 16 type: CURSOR
$ xsetwacom set "9" MapToOutput HEAD-0
requires:
xf86-input-wacom
src:
- https://wiki.archlinux.org/index.php/Wacom_tablet
- https://hitsim.com/hub/linux-xfce-configure-wacom-tablet-dual-monitor-setup/
x11 keyboard key names
xevlets you find the keycode / keysym of a key.
src:
example of mediakeys (when pressing fn):
XF86AudioRaiseVolume
XF86AudioLowerVolume
XF86AudioPlay
XF86AudioPrev
XF86AudioNext
XF86AudioStop