https://www.reddit.com/r/tasker/comments/14e445n/comment/jozkd3t/
yes | pkg upgrade -y
pkg install -y tur-repo x11-repo python-pip
pkg install -y chromium
pip install selenium >
| #!/data/data/com.termux/files/usr/bin/bash | |
| am start -a android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS -d package:com.termux | |
| echo -ne "\n Checking if Termux has storage permission..." | |
| rm -r ~/storage >/dev/null 2>&1 | |
| if ! touch /storage/emulated/0/.tmp_check_termux >/dev/null 2>&1 | |
| then | |
| echo -e "\nGrant Termux storage permission and run the script again\n" | |
| termux-setup-storage |
| #!/data/data/com.termux/files/usr/bin/bash | |
| if [ -z "$1" ] | |
| then | |
| echo "No input file specified" | |
| exit 1 | |
| fi | |
| echo -ne "\n Checking if Termux has storage permission..." | |
| rm -r ~/storage &>/dev/null |
| #!/data/data/com.termux/files/usr/bin/bash | |
| echo "getting wake lock state" | |
| termux-notification-list | jq -r '.[] | select(.id == 1337).content' | grep -qF 'wake lock held' && locked="true" || locked="false" | |
| if [ "$locked" = "false" ]; then | |
| echo "wake lock not set, setting for duration of script" | |
| termux-wake-lock | |
| else | |
| echo "wake lock set, Will not alter wake lock state." | |
| fi |
| /** | |
| Create pagebreaks in exported Obsidian PDFs. | |
| Example: | |
| # Heading 1 | |
| Lorem Ipsum is simply dummy text of the printing and typesetting industry. | |
| Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, | |
| when an unknown printer took a galley of type and scrambled it to make a type |
| declare module "obsidian" { | |
| interface App { | |
| isMobile: boolean; | |
| } | |
| } | |
| // Call this method inside your plugin's `onLoad` function | |
| function monkeyPatchConsole(plugin: Plugin) { | |
| if (!plugin.app.isMobile) { | |
| return; |
Note
If you want to use Wayland in WSLg in a simpler setup, you can try the WSLg (Wayland) tutorial.
In this tutorial, we will setup GUI in WSL2. No additional software outside WSL (like VcXsrv or GWSL) is required. You will find this tutorial very similar to the one that replaces Xorg with Xvnc. Indeed, it's pretty much the same tutorial, with some few changes.
The key component we need to install is the desktop metapackage you want (GNOME, KDE, Xfce, Budgie, etc), and after that, replace the default Xorg by a script that calls Xwayland instead.
For this setup, I will use Ubuntu 24.04, and install GNOME Desktop. Unfortunately older versions of Ubuntu lack some fundamental things, so we cannot reproduce it in older versions (at least not fully). Since the key components aren't bound to Ubuntu or GNOME, you can use your favorite distro and GUI. Check the [Sample screenshot
| #!/usr/bin/env python | |
| """Use inotify to watch a directory and execute a command on file change. | |
| Watch for any file change below current directory (using inotify via pyinotify) | |
| and execute the given command on file change. | |
| Just using inotify-tools `while inotifywait -r -e close_write .; do something; done` | |
| has many issues which are fixed by this tools: | |
| * If your editor creates a backup before writing the file, it'll trigger multiple times. | |
| * If your directory structure is deep, it'll have to reinitialize inotify after each change. |
| :: ---- Lines beginning with :: are comments ---- | |
| :: This script is meant to make it easy to transcribe a video file using WhisperCPP. | |
| :: You can simply drag a video file into the cmd window, then it will use ffmpeg to extract the audio, then transcribe using WhisperCPP and output to a text file. | |
| :: | |
| @echo off | |
| set /p videopath="Enter the full path to the video file to transcribe: " | |
| :: Remove quotes from the input path | |
| set videopath=%videopath:"=% |