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 |
#!/bin/sh | |
# add to .bashrc/.zshrc/... to wrap the cd command with a venv check | |
# NOTE: This assumes '.venv' is the virtual environment directory | |
# | |
function cd() { | |
builtin cd "$@" | |
if [[ -z "$VIRTUAL_ENV" ]] ; then | |
## If env folder is found then activate the vitualenv |
/** | |
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
#!/bin/sh | |
# Run from an ADB debugging connection | |
# | |
# Reference: | |
# https://android.stackexchange.com/questions/215638/how-to-determine-which-app-is-causing-vibration | |
package_name=$1 # VIBRATE | |
for pkg in $(pm list packages | sed 's/package://') | |
do |
#!/bin/sh | |
# WIP experiment | |
VM_NAME="$1" | |
$SSH_PUBLIC_KEY="Your Public SSH Key" | |
# The following method for handling temp files is adapted from | |
# | |
# https://unix.stackexchange.com/a/181938/458942 | |
# |