The Linux Thread - The Autist's OS of Choice

Which parts of it specifically? Personally, I never bothered with the plugins that add interfacing with other apps or expose Android APIs. The only thing that gave me initial trouble was finding a place to save videos to. By default, Termux saves everything to its application cache. Give it file permissions, then navigate to your SD card or internal storage using their full path. Android won't let you ls the intermediate directories because of its isolation policies, so aliasing that for future reference is useful.
It's those isolation policies that make navigating files a pain in the ass, and I guess I'm out of my depth considering I don't know what aliasing means in this context. Foolish of me to think it'd work like a terminal on a regular Linux distro, Google made Android their fucktoy.
Got youtubedr working so I'm no longer hating
 
  • Feels
Reactions: Marvin
Something I picked up a few years back from somewhere.

Install:
termux
termux:API
Only use F-Droid versions linked, Google Play versions are deprecated.
Inside termux
Update packages:
$ pkg upgrade

Setup termux local storage:
$ termux-setup-storage

Install required packages:
$ pkg install termux-api python ffmpeg

Install yt-dlp:
$ pip install yt-dlp

Save files to a subfolder of standard Android downloads:
$ mkdir "/data/data/com.termux/files/home/storage/shared/Download/ytdlp"

Create the directory for the download script:
$ mkdir "/data/data/com.termux/files/home/bin"

Create the download script:
$ touch "/data/data/com.termux/files/home/bin/termux-url-opener" && chmod +x "/data/data/com.termux/files/home/bin/termux-url-opener"
Code:
#!/data/data/com.termux/files/usr/bin/bash

clear
echo ""
echo " 1) YT Best"
echo " 2) YT MP3"
echo " 3) YT 1080p"
echo " 4) YT 720p"
echo " 5) YT 480p"
echo " 6) Twitter Video"
echo " 7) TikTok Video"
echo " 8) Archive.org/today"
echo " 9) Ghostarchive"
echo " 0) Exit"
echo ""
read -p 'Choose an option: ' option

case $option in
1)
clear
echo "Downloading: Best Quality Video"
yt-dlp --ignore-errors --check-formats --add-metadata --embed-thumbnail --console-title --restrict-filenames --write-info-json --concurrent-fragments 10 --merge-output-format mp4 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/youtube-%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(height)sp.%(ext)s" $1 ;;
2)
clear
echo "Downloading: MP3 Audio"
yt-dlp --ignore-errors --add-metadata --console-title --restrict-filenames --write-info-json -x --audio-format mp3 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/youtube-%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(ext)s" $1 ;;
3)
clear
echo "Downloading: 1080p Video"
yt-dlp --ignore-errors --add-metadata --embed-thumbnail --console-title --restrict-filenames --write-info-json --concurrent-fragments 10 --merge-output-format mp4 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/youtube-%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(height)sp.%(ext)s" -S 'res:1080' $1 ;;
4)
clear
echo "Downloading: 720p Video"
yt-dlp --ignore-errors --add-metadata --embed-thumbnail --console-title --restrict-filenames --write-info-json --concurrent-fragments 10 --merge-output-format mp4 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/youtube-%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(height)sp.%(ext)s" -S 'res:720' $1 ;;
5)
clear
echo "Downloading: 480p Video"
yt-dlp --ignore-errors --add-metadata --embed-thumbnail --console-title --restrict-filenames --write-info-json --concurrent-fragments 10 --merge-output-format mp4 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/youtube-%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(height)sp.%(ext)s" -S 'res:480' $1 ;;
6)
clear
echo "Downloading: Twitter Video"
yt-dlp --ignore-errors --add-metadata --console-title --restrict-filenames --write-info-json --concurrent-fragments 10 --merge-output-format mp4 --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/twitter-%(uploader_id)s-%(upload_date)s-%(display_id)s.%(height)sp.%(ext)s" $1 ;;
7)
clear
echo "Downloading: TikTok Video"
yt-dlp --ignore-errors --check-formats --parse-metadata "title:(?s)(?P<meta_title>.+)" --parse-metadata "uploader:(?s)(?P<meta_artist>.+)" --add-metadata --console-title --embed-thumbnail --restrict-filenames --output "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/tiktok-%(uploader)s-%(upload_date)s-%(id)s.%(height)sp.%(ext)s" $1 ;;
8)
clear
echo "Archiving Webpage at Archive.org/today"
termux-open-url "https://web.archive.org/save/$1" && termux-open-url "https://archive.today/?run=1&url=$1" ;;
88)
echo "Archiving Webpage at all archives"
termux-open-url "https://ghostarchive.org/save/$1" && termux-open-url "https://web.archive.org/save/$1" && termux-open-url "https://archive.today/?run=1&url=$1" ;;
9)
clear
echo "Archiving Webpage at ghoatarchive.org"
termux-open-url "https://ghostarchive.org/save/$1" ;;
0)
clear
echo "Exiting"
exit ;;
*)
clear
echo "Archiving Webpage at Archive.org/today"
termux-open-url "https://web.archive.org/save/$1" && termux-open-url "https://archive.today/?run=1&url=$1" ;;
esac
termux-media-scan -r "/data/data/com.termux/files/home/storage/shared/Download/ytdlp/"
termux-notification --title "Download Complete" --content "$1" --priority min --group ytdlp
Update yt-dlp regularly after install:
$ pip install yt-dlp --upgrade

Use the share menu of your browser, yt app, etc. and select the Termux option. Termux will load the script.
 

Linux 6.6 To Better Protect Against The Illicit Behavior Of NVIDIA's Proprietary Driver

"It has recently come to my attention that nvidia is circumventing the protection added in 262e6ae7081d ("modules: inherit TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary modules into an allegedly GPL licensed module and then re-exporting them.

Given that symbol_get was only ever intended for tightly cooperating modules using very internal symbols it is logical to restrict it to being used on EXPORY_SYMBOL_GPL and prevent nvidia from costly DMCA circumvention of access controls lawsuits.

All symbols except for four used through symbol_get were already exported as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in the preparation patches."
For those wondering why this is important, it prevents the existence of a proprietary Linux kernal via the loophole of "drivers".
1693374689489.png
 
Last edited:
Shifted back to Шindoшs lately because would love to give Publii a try, but the only form it seems to run properly in is .exe. :<
Deb, appimage or rpm don't do shit once you click the icon, and with AUR it either "can't reach getpublii.com" or stumbles and fails at building electron.

This and whatever office suites are being developed in Russia lately, don't yet have what I need the most in working with texts (replacing small shit like extra spaces and showing text borders) and I just so happened to get a work task to edit a bunch of them.
 
Shifted back to Шindoшs lately because would love to give Publii a try, but the only form it seems to run properly in is .exe. :<
Deb, appimage or rpm don't do shit once you click the icon, and with AUR it either "can't reach getpublii.com" or stumbles and fails at building electron.

This and whatever office suites are being developed in Russia lately, don't yet have what I need the most in working with texts (replacing small shit like extra spaces and showing text borders) and I just so happened to get a work task to edit a bunch of them.
Can't you just go FIND: '••' REPLACE: '•'?
 
Can't you just go FIND: '••' REPLACE: '•'?
Last time I tried it in MyOffice (speaking only about it; there's a couple more suites that I KNOW about but haven't poked around much), it didn't work with anything else than words/letters :/ But then again, back then it was more alpha and no proper manual. Reported a bug to the devs and am not touching it for editing texts so far (typing from scratch is fine, just can't get used to lack of text borders). Gotta check out if that's fixed in the current ver.

This and I just love how they're like "We aren't planning to copy stuff from MS, we're looking for our very own ways to code". Like- Who tf cares. Sounds like "we aren't going to copy 4 legs that any normal cat has, we'll find a way to add 6 ears instead and call it our very own species". When I shift from another editor I want to just open a new file and work, not waste 40 minutes googling where's which button/hotkey/option... 🙃
 
After EndeavourOS decided to an hero itself after an update, I switched to OpenSUSE Tumbleweed.

Not sure how long I'll stay or if I'll switch to another distro (I'm considering Nobara, Debian or Arch otherwise), but I'm liking it so far.
 
  • Like
Reactions: burntwater
After EndeavourOS decided to an hero itself after an update, I switched to OpenSUSE Tumbleweed.

Not sure how long I'll stay or if I'll switch to another distro (I'm considering Nobara, Debian or Arch otherwise), but I'm liking it so far.
Never heard of Nobara, but seeing as I've never used anything Fedora-based I might give it a try.
Why Nobara over Fedora? If it's the "user-friendly fixes" added for "typical point and click users" mentioned on their site, I'd avoid Arch for the moment
 
  • Like
Reactions: Haffhart
Never heard of Nobara, but seeing as I've never used anything Fedora-based I might give it a try.
Why Nobara over Fedora? If it's the "user-friendly fixes" added for "typical point and click users" mentioned on their site, I'd avoid Arch for the moment
I would use Fedora, it's just I don't like all the corpo shit going on with Red Hat
 
Back