From 9720dece3e52e3f5a5b9e79476d111ff3ece79ca Mon Sep 17 00:00:00 2001 From: "committer@tuxwarrior" Date: Wed, 1 Apr 2026 07:39:08 -0500 Subject: [PATCH] docs moved from trillium / vikujna to repo --- docs/automount.md | 59 ++++ docs/installsInfo.md | 2 + docs/moveNiftyHere.maybe | 1 - docs/nifty.md | 627 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 688 insertions(+), 1 deletion(-) create mode 100644 docs/automount.md create mode 100644 docs/installsInfo.md delete mode 100644 docs/moveNiftyHere.maybe create mode 100644 docs/nifty.md diff --git a/docs/automount.md b/docs/automount.md new file mode 100644 index 0000000..53de4cb --- /dev/null +++ b/docs/automount.md @@ -0,0 +1,59 @@ +# automount +## auto mount storage hdds on startup + +## alternative one + +``` +$ su - +# echo "UUID=$(lsblk -no UUID /dev/sdb1) /run/media/klevstul/backupDrive $(lsblk -no FSTYPE /dev/sdb1) nofail,defaults,noatime 0 2" >> /etc/fstab +# echo "UUID=$(lsblk -no UUID /dev/sdc1) /run/media/klevstul/dataDrive $(lsblk -no FSTYPE /dev/sdc1) nofail,defaults,noatime 0 2" >> /etc/fstab +# echo "UUID=$(lsblk -no UUID /dev/sdd1) /run/media/klevstul/cacheDrive $(lsblk -no FSTYPE /dev/sdd1) nofail,defaults,noatime 0 2" >> /etc/fstab +# mount -a +``` + +## alternative two + +## part one + +``` +$ lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 223.6G 0 disk +├─sda1 8:1 0 189.1G 0 part / +└─sda2 8:2 0 34.5G 0 part [SWAP] +sdb 8:16 0 1.8T 0 disk +└─sdb1 8:17 0 1.8T 0 part +sdc 8:32 0 1.8T 0 disk +└─sdc1 8:33 0 1.8T 0 part +sdd 8:48 0 1.8T 0 disk +└─sdd1 8:49 0 1.8T 0 part +sr0 11:0 1 1024M 0 rom + + +$ sudo mkdir /media +[sudo] password for klevstul: +$ echo $USER +klevstul +$ sudo chown $USER /media +$ mkdir /media/backupDrive +$ mkdir /media/cacheDrive +$ mkdir /media/dataDrive +$ sudo mount /dev/sdb1 /media/backupDrive +$ sudo mount /dev/sdd1 /media/cacheDrive +$ sudo mount /dev/sdc1 /media/dataDrive +``` + +## part two + +``` +$ su - +# echo "UUID=$(lsblk -no UUID /dev/sdb1) /media/backupDrive $(lsblk -no FSTYPE /dev/sdb1) nofail,defaults,noatime 0 2" >> /etc/fstab +# echo "UUID=$(lsblk -no UUID /dev/sdd1) /media/cacheDrive $(lsblk -no FSTYPE /dev/sdc1) nofail,defaults,noatime 0 2" >> /etc/fstab +# echo "UUID=$(lsblk -no UUID /dev/sdc1) /media/dataDrive $(lsblk -no FSTYPE /dev/sdd1) nofail,defaults,noatime 0 2" >> /etc/fstab +# mount -a +``` + +## src (sources) + +* [https://gitlab.com/klevstul/privateIssues/issues/288#note\_103576450](https://gitlab.com/klevstul/privateIssues/issues/288#note_103576450) +* [https://forum.manjaro.org/t/wiki-howto-permanent-mount-for-partition/26187](https://forum.manjaro.org/t/wiki-howto-permanent-mount-for-partition/26187) \ No newline at end of file diff --git a/docs/installsInfo.md b/docs/installsInfo.md new file mode 100644 index 0000000..e9a363e --- /dev/null +++ b/docs/installsInfo.md @@ -0,0 +1,2 @@ +install documents are found at: +`/pNotes.2/lnx/install_2510_weba_hetzner.md` diff --git a/docs/moveNiftyHere.maybe b/docs/moveNiftyHere.maybe deleted file mode 100644 index 0d758c9..0000000 --- a/docs/moveNiftyHere.maybe +++ /dev/null @@ -1 +0,0 @@ -? \ No newline at end of file diff --git a/docs/nifty.md b/docs/nifty.md new file mode 100644 index 0000000..0a0867b --- /dev/null +++ b/docs/nifty.md @@ -0,0 +1,627 @@ +# nifty +## ant (garmin) + +* `antfs-cli --pair` - pair watch to pc +* `antfs-cli --upload` - upload data to pc + * files are transferred to `~/.config/antfs-cli/[device_id]/activities` + +**src:** + +* [https://gitlab.com/klevstul/privateIssues/issues/400#note\_255420822](https://gitlab.com/klevstul/privateIssues/issues/400#note_255420822) + +--- + +## batch resize and compress images + +`mkdir converted;for photos in *.jpg;do convert -verbose "$photos" -quality 90% -resize 1920x1080 ./converted/"reduced_$photos"; done` + +**src:** + +* [https://linuxsuperuser.com/batch-resize-compress-photos-linux/](https://linuxsuperuser.com/batch-resize-compress-photos-linux/) + +--- + +## 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:** + * [automount harddrive on startup](docs/automount.md) +* **partitioning:** + * using gparted, create new partition table of type `gpt`, then create a new `ext4` partition. +* **access rights** + * `$ sudo chown 1000:100 /run/media/klevstul/cacheDrive/` + * `$ sudo chmod 755 /run/media/klevstul/cacheDrive/` +* **iso checking** + * download both the `.iso` and the related `.md5` file + * `md5sum -c filename.iso.md5` +* **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 -hr` + * `du -sh .[!.]* * | sort -hr` (calculating current dir, standing in ~/home dir - includes hidden system folders) + * `du -h --max-depth=1` + * `du -h --max-depth=1 /media/drive2/cloud-drive/Dropbox/` + * ref: [https://linuxconfig.org/list-all-directories-and-sort-by-size](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](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 + 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`) +* decrypt: `$ gpg --output out.txt --decrypt test.txt.gpg` + +### backup + +* simple: + * make a backup of the folder `~/.gnupg` + +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/.gnupg` +* `gpg --armor --export frode@klevstul.com > /home/poq/.local/share/Cryptomator/mnt/cryptLocal/content/keys/openPgp/.gnupg/251110_frodeKlevstul_publicKey.asc` +* `gpg --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](https://stackoverflow.com/questions/65033357/git-init-new-from-existing-repository) + +--- + +## hard drive + +* use `gnome-disk-utility` + +**src:** + +* [https://forum.manjaro.org/t/solved-how-to-encrypt-an-external-hard-drive-in-manjaro/120058](https://forum.manjaro.org/t/solved-how-to-encrypt-an-external-hard-drive-in-manjaro/120058) + +--- + +## feh (image viewer) + +`feh -d --draw-exif --draw-tinted --recursive` + +* [https://feh.finalrewind.org/](https://feh.finalrewind.org/) +* [man feh](https://man.finalrewind.org/1/feh/) + +--- + +## 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](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](https://www.linuxjournal.com/content/how-search-and-find-files-text-strings-linux) + +--- + +## ffmpeg commands + +* [webm to mp4 conversion using ffmpeg](https://stackoverflow.com/questions/18123376/webm-to-mp4-conversion-using-ffmpeg) + * `ffmpeg -fflags +genpts -i 1.webm -r 24 1.mp4` | +* [Converting mkv to h264 FFmpeg](https://stackoverflow.com/questions/30898671/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?](https://unix.stackexchange.com/questions/28803/how-can-i-reduce-a-videos-size-with-ffmpeg) + * `ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4` +* [Scaling](https://trac.ffmpeg.org/wiki/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) or `ttf-`) +* alt 2: add fonts to `~/.local/share/fonts` or `/usr/share/fonts` + * maybe: restart application or run `fc-cache` + +--- + +## 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/saving-changes/git-commit) [https://www.atlassian.com/git/tutorials/syncing/git-push](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 wifi +* `nm-connection-editor` - network manager gui applet +* `nm-applet` - toolbar applet +* `sudo 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 upd +* `sudo pacman -Syuu` - sync, update and allow downgrades +* `sudo pacman -Rns ` - uninstall +* `sudo 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-mirrors` and updating of `mirrorlist` +* use web + * [https://archlinux.org/mirrorlist/](https://archlinux.org/mirrorlist/) + +### 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.gz` + * `cd /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 `.git` + * `cd /tmp` + * `git clone https://aur.archlinux.org/yay.git` + * `cd yay` + * `makepkg -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](http://localhost:631/admin) (admin) - login: poq/poq.L1 + * [http://localhost:631/printers/Brother\_HL-L2310D\_series](http://localhost:631/printers/Brother_HL-L2310D_series) (manage brother) + +--- + +## processes + +* `ps aux` + * `ps aux | grep 'pulse'` +* `top` +* `htop` +* `pstree` +* **kill:** + * `pstree -p` + * `kill [PID]` or `kill -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] ... + +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 + +* [atom](https://github.com/nwinkler/atom-keyboard-shortcuts) +* [shotcut](https://www.shotcut.org/howtos/keyboard-shortcuts/) + +--- + +## verify files using signature + +* `signify -Cqp factory.pub -x crosshatch-factory-2020.05.05.02.zip.sig && echo verified` +* requires [signify](https://github.com/aperezdc/signify) (comminity tool) +* ref: [https://grapheneos.org/install](https://grapheneos.org/install) + +--- + +## sound + +## list sound cards + +* `cat /proc/asound/cards` +* `aplay -L` or `arecord -L` (list cards and devices) + +## set default sound card + +* `asoundconf set-default-card [card_name]` + * example: `asoundconf set-default-card R14PM` +* `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` +* `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 to `STAMP` in 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](https://wiki.archlinux.org/index.php/Swap) + +--- + +## 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: + * [https://www.gnome-look.org/p/1253385](https://www.gnome-look.org/p/1253385) +* extract theme to `/home/poq/.themes` +* same thing for icons: + * [https://www.opendesktop.org/p/1305251](https://www.opendesktop.org/p/1305251) +* extract to `/home/poq/.icons` +* run `lxappearance` and update widget and icon theme +* `$ export GTK_THEME=Sweet-Dark-v40:dark` + * (or, this might be sufficient: `$ export GTK_THEME=Sweet-Dark-v40`) +* `$ sudo nano /etc/environment` + * set: `GTK_THEME=Sweet-Dark-v40:dark` + +src: [https://gitlab.com/pqq/pIssues.2/-/issues/113](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](https://www.devdungeon.com/content/setting-tor-proxy-and-hidden-services-linux) + +--- + +## vpn + +## protonvpn + +* download config file from [https://account.protonvpn.com/downloads](https://account.protonvpn.com/downloads) (gnu/linux, udp) +* locate username and password at [https://account.protonvpn.com/account#passwords](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:** + +* [https://protonvpn.com/support/linux-vpn-setup/](https://protonvpn.com/support/linux-vpn-setup/) + +### 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` + +``` +[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://wiki.archlinux.org/index.php/Wacom_tablet) +* [https://hitsim.com/hub/linux-xfce-configure-wacom-tablet-dual-monitor-setup/](https://hitsim.com/hub/linux-xfce-configure-wacom-tablet-dual-monitor-setup/) + +--- + +## x11 keyboard key names + +> `xev` lets you find the keycode / keysym of a key. + +src: + +* [http://xahlee.info/linux/linux\_show\_keycode\_keysym.html](http://xahlee.info/linux/linux_show_keycode_keysym.html) + +example of mediakeys (when pressing `fn`): + +``` +XF86AudioRaiseVolume +XF86AudioLowerVolume +XF86AudioPlay +XF86AudioPrev +XF86AudioNext +XF86AudioStop +``` \ No newline at end of file