Giter VIP home page Giter VIP logo

termux-api-package's Introduction

termux-api-package

Termux package containing scripts to call exposed API methods in the Termux:API app.

termux-api-package's People

Contributors

abdullahm0hamed avatar aeolwyr avatar agentcondier avatar agnostic-apollo avatar benjamin-loison avatar benmoran avatar bndeff avatar bsg avatar canadahonk avatar cyprienflx avatar danog avatar dkramer95 avatar epictek avatar fornwall avatar gburch avatar grimler91 avatar gxlg avatar kittinan avatar landfillbaby avatar monking avatar neo-oli avatar pawamoy avatar pimsierhuis avatar rsanjuan87 avatar svyatoslav2 avatar tareksander avatar tomty89 avatar wendelscardua avatar xalexalex avatar yurimataev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

termux-api-package's Issues

termux-dialog not working

Hi,

the termux-dialog is not working on my andoird p device. when I used android 8 it works perfectly and now I am using android 9. termux-dialog is just frozen after entering any dialog option.
with termux-dialog I created a small utility to download media files. now the utility is totally useless without termux-dialog tool.

My Device Info:
Updatable packages: All packages up to date
System information: Linux localhost 4.4.153-perf+ #1 SMP PREEMPT Tue Jan 15 18:34:25 WIB 2019 aarch64 Android
Termux-packages arch: aarch64
Android version: 9
Device manufacturer: Xiaomi
Device model: Mi A2

am binary location moved

Hello!
Since this commit termux/termux-packages@0b47089 the am executable has been moved to $TERMUX_PREFIX/bin/applets/am. This breaks for example termux-clipboard-set:

execv("/data/data/com.termux/files/usr/bin/am"): No such file or directory

Can we do termux-camera-photo with flash?

Is it possible to capture a photo using termux-camera-photo with flash? Do we need to change termux-camera-info, if possible? Or helplessly learn and implement Java?

termux-api features hangs on Android 11 when executed from ssh session

Problem description
Termux-API implementations hang on execution under Android 11 and do not complete when executed from ssh process

Steps to reproduce
start ssh service:

#!/data/data/com.termux/files/usr/bin/bash
termux-wake-lock
/data/data/com.termux/files/usr/bin/sshd &

ssh to termux device
execute on remote remote host

ssh -p 8022 [email protected]

from within ssh session
Execute any termux-api command:

$ termux-wifi-connectioninfo
>> no output
$ termux-battery-status
>> no output
$ termux-call-log
>> no output
$ termux-battery-status -h
Usage: termux-battery-status
Get the status of the device battery.

The executables do appear to work when executed from the ssh session and do not crash -- executing them with the -h option produces output as expected.

Expected behavior
Expect to see output from API process

Additional information

$ termux-info                                                       (master) ✗
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://main.termux-mirror.ml/ stable main
# game-repo (sources.list.d/game.list)
deb https://dl.bintray.com/grimler/game-packages-24 games stable
# science-repo (sources.list.d/science.list)
deb https://dl.bintray.com/grimler/science-packages-24 science stable
Updatable packages:
All packages up to date
Android version:
11
Kernel build information:
Linux localhost 4.9.223-g5bded8e40b62-ab6647920 #0 SMP PREEMPT Thu Jul 2 03:22:48 UTC 2020 aarch64 Android

If you are rooted or have access to adb then capture a logcat with logcat -d "*:W", from a adb or root shell.
I am not rooted - Stock android 11 on a Google Pixel 3

termux-sensor -s "TMD4906 RGB IR Sensor" on dreamlte: corrupted values (float instead of integer)

Problem description
@dreamLTE:~/ termux-sensor -s "TMD4906 RGB IR Sensor"

In bright sunshine, the first (sommetimes the fifth) value seems to be misinterpreted as a floating point number.

Example sequence (compressed format):

1614328328 2021-02-26T09:32:08 { "ired": { "values": [ 16267, 423, 560, 610, 1551, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } }
1614329228 2021-02-26T09:47:08 { "ired": { "values": [ 20404, 252, 334, 361, 1864, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } }
1614330128 2021-02-26T10:02:08 { "ired": { "values": [ 27463, 322, 417, 448, 2271, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } }
1614331029 2021-02-26T10:17:09 { "ired": { "values": [ 1.8446744073709552E19, 183, 237, 258, 2513, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } }
1614331929 2021-02-26T10:32:09 { "ired": { "values": [ 1.8446744073709552E19, 205, 271, 291, 2737, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } }

Steps to reproduce
Put an S8 / dreamlte into bright sunshine, and execute the command.

Expected behavior
The first value probably should be interpreted as unsigned integer value, and maybe I4 instead of I2.

Additional information

@dreamlte:~/ termux-info

  Packages CPU architecture:
  aarch64
  Subscribed repositories:
  # sources.list
  deb https://termux.org/packages/ stable main
  # game-repo (sources.list.d/game.list)
  deb https://grimler.se/game-packages-24 games stable
  # science-repo (sources.list.d/science.list)
  deb https://grimler.se/science-packages-24 science stable
  Updatable packages:
  All packages up to date
  Android version:
  9
  Kernel build information:
  Linux dreamlte 4.4.111 #1 SMP PREEMPT Thu Feb 11 22:46:43 CET 2021 aarch64 Android
  Device manufacturer:
  samsung
  Device model:
  SM-G950F

logcat only shows this:

  02-26 11:17:52.128  5754  5754 I termux-api: Delay set to: 1000
  02-26 11:17:52.128  5754  5754 I termux-api: SensorOutput limit set to: 2147483647

*/app_process and multiple shell management

Hey Fredrik Fornwall
I sent you in November an email and did not receive an answer. In the meantime, I received an instruction from xeffyr (thanks) and also extent my own Termux experience. My dialogue with xeffyr mainly refers to x11/xorg, which probably have nothing to do with you - or?!
But I have another problem where you can hopefully help me.

First, what I've done:
the API base functions include xdg-open (termux-open), this calls */bin/am (all scripts) and this at the end execute /app_process. To the mc package belong .config/mc/mc.ext (corrected open by me), which refer to libexec/mc/ext.d/.sh and this at the end to /app_process too.

That worked well until Nov. 2018. Unfortunately, today I get an open problem (nicht geladen=not loaded).
In my issue https://github.com/termux/x11-packages/issues/49 I've explain it to xeffyr without solution. Insite is "The video: https://www.dropbox.com/s/lsyylstr9nsq3ml/Termux_mc.mp4?dl=0 - was created with an older Termux installation" - see from second: 45 to 1:07
To narrow that down, I've created and run a test script (~/t in 1+2. picture):
grafik

The used app (photos/gallery) is chosen "randomly" and the alternative (photos when v=EDIT) could not be used successfully even before Nov.2018. What is wrong? Where can I find a log file?

The next question (3. picture) relates to the management of several bash displays. Is this an API function? Is it possible to edit and change the navigation drawer (white) via a script e.g. in .bashrc or another (here I did it by hand) and how?

[REQUEST] ON/OFF WIFI HOTSPOT

I would like to thank you all the developers of Termux, it is very useful to me.

If there is a chance you can add a new function to enable wifi tethering, I would be really thankful and would appreciate it so much!

Thank you!

How to read and list sms using termux v0.31?

Problem description
Unable to open JSON output of termux-sms-list

Steps to reproduce
If I run termux-sms-list, the output is '[]'
I am using v0.31 which supports accessing SMS.

Expected behavior
List of SMS threads

Additional information
How to get sms list or how can I parse the json output?
This problem occurs for all api implementations which provides JSOn output instead of simple text output.

Why does termux-api needs two abstract sockets?

Sockets, unlike pipes, can transmit data in two directions i.e. can be used both for input and for output data.

We can call am ... --es socket %UUID0% ... instead of am ... --es socket_input %UUID0% --es socket_output %UUID1%.

Android TV app

Hi,

I'm just curious, do you have any plan to release also an app for Android TV?
Most of the time, my Mi Box S4 just sitting there and doing nothing :/ . With termux-api-package that could be much useful.

termux-job-scheduler hangs without any message

Hi,

I'm trying to schedule a job as follows: termux-job-scheduler --period-ms 86400000 --script /storage/emulated/0/Backup/rsync.sh --network any

The script is simply a small rsync job to sync some photos.
When I issue the command, nothing happens.

I thought it might be related to #78 or termux/termux-api#276 but it doesn't seem so.

Thanks

Setting event handlers to termux-download

Feature description
Pooling the FS is not the best way to wait for a file or discover when the download fails.

Would be nice if termux-download had a --onerror and --onsuccess parameters to set a command to run on background, like --action from termux-notification.

Background information
Have you checked if the feature is accessible through the android API?
I believe this means yes.

Do you know of other open-source apps that has a similar feature as the one you want? (Provide links)
Node.js's standard HTTP client and other unblocking implementations.

Using termux api inside a linux distro

Hi. termux api works great out of the box from inside the termux terminal.
I want to use termux api commands from inside a kali-linux distro that in in termux (anLinux)
specifically i wanted to do this from inside python running in the distro.
is this possible?

thanks

Sujit

Hashtag on Telephony Call

Hi,
i'm trying to schedule the change of the call-forwarding of my phone using Termux-Api Telephony Call.
The problem i'm facing is that i want to call a number composed by hashtag, here is an example:

termux-telephony-call **21*+391234567890#

When i try to use this command, the phone call the number **21*+391234567890 and loses the hashtag.
Can anyone help me?
Thanks

termux-battery-status shows incorrect percentage

Hi,
I'm on a pixelbook.

Expected

termux-battery-status should show the correct percentage as the chromebook indicates.
screenshot 2018-06-17 at 10 39 11 pm

Actual

$ termux-battery-status | termux-clipboard-set
{
  "health": "UNKNOWN",
  "percentage": 71,
  "plugged": "PLUGGED_AC",
  "status": "CHARGING",
  "temperature": 0.0
}

Additional Info

$ termux-info
Updatable packages:
All packages up to date
System information:
Linux localhost 4.4.118-13213-gd81e1fa0bcfd #1 SMP PREEMPT Tue May 29 21:54:10 PDT 2018 x86_64 Android
Termux-packages arch:
x86_64
Android version:
7.1.1
Device manufacturer:
google
Device model:
Google Pixelbook

termux-job-scheduler always defaulting to 900000 milliseconds

when trying to schedule a job to run every 300000 milliseconds using the --period-ms flag, it always goes to 900000 milliseconds.

$ termux-job-scheduler --period-ms 300000 --script /data/data/com.termux/files/home/scripts/check-shell.sh --network any

Scheduling Job 0: /data/data/com.termux/files/home/scripts/check-shell.sh       (periodic: 900000ms) (battery not low) (network: NetworkRequest [ NONE id=0, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&VALIDATED Unwanted:  Uid: 10121] ]) - response 1

What am I doing wrong? Or is this a known issue?

termux-download silent fail when set a bad destination path

Problem description
When I try to save a downloaded file, using termux-download with -p to a Termux internal path, nothing happens. No error are throw to the console and no notification on the android interface.

It works to /storage/emulated/0/Download/ however it wont work to $HOME/storage/downloads, even with it pointing to the first path.

Steps to reproduce
Step 1 - Run:
termux-download -d 'some picture' -t 'hyperbola' -p $HOME/gnu.jpg http://www.gnu.org/distros/screenshots/hyperbola-i3-thumb.jpg
Step 2 - no step two... that fails without log

Expected behavior
It must show the download on the Android notification and save the file on the destination set with -p parameter.

If it really can't download to $HOME, it must throw an error. It must write to STDERR and exit with a non zero status.

Paths like $HOME/storage/downloads must be translated with realpath by termux-download itself.

Additional information
All tests were made in a emulated device.

Post output of command termux-info.

Packages CPU architecture:
i686
Subscribed repositories:
# sources.list
deb https://grimler.se/termux-packages-24/ stable main
# game-repo (sources.list.d/game.list)
deb https://dl.bintray.com/grimler/game-packages-24 games stable
# science-repo (sources.list.d/science.list)
deb https://dl.bintray.com/grimler/science-packages-24 science stable
# x11-repo (sources.list.d/x11.list)
deb https://dl.bintray.com/xeffyr/x11-packages x11 main
Updatable packages:
apt/stable 2.1.15 i686 [upgradable from: 2.1.11-2]
bash/stable 5.1.4 i686 [upgradable from: 5.0.18-4]
ca-certificates/stable 20201208 all [upgradable from: 20201027]
command-not-found/stable 1.60 i686 [upgradable from: 1.59]
coreutils/stable 8.32-7 i686 [upgradable from: 8.32-6]
curl/stable 7.74.0 i686 [upgradable from: 7.73.0]
dash/stable 0.5.11.3 i686 [upgradable from: 0.5.11.2-4]
dpkg/stable 1.20.5-5 i686 [upgradable from: 1.20.5-4]
gpgv/stable 2.2.26 i686 [upgradable from: 2.2.23]
libcurl/stable 7.74.0 i686 [upgradable from: 7.73.0]
libgmp/stable 6.2.1 i686 [upgradable from: 6.2.0-1]
libgpg-error/stable 1.41 i686 [upgradable from: 1.39]
liblz4/stable 1.9.3 i686 [upgradable from: 1.9.2]
libnettle/stable 3.7 i686 [upgradable from: 3.6]
libnghttp2/stable 1.42.0 i686 [upgradable from: 1.41.0-1]
libtirpc/stable 1.3.1 i686 [upgradable from: 1.2.6-1]
lsof/stable 4.94.0 i686 [upgradable from: 4.93.2]
nano/stable 5.4 i686 [upgradable from: 5.3]
net-tools/stable 2.10.0 i686 [upgradable from: 1.60.2017.02.21-3]
openssl/stable 1.1.1i i686 [upgradable from: 1.1.1h]
readline/stable 8.1.0 i686 [upgradable from: 8.0.4-1]
termux-am/stable 0.4 all [upgradable from: 0.3]
termux-tools/stable 0.104 all [upgradable from: 0.97]
tsu/stable 8.5.1-3 all [upgradable from: 8.5.1-2]
util-linux/stable 2.36.1 i686 [upgradable from: 2.36]
Android version:
8.0.0
Kernel build information:
Linux localhost 4.4.34-genymotion #1 SMP PREEMPT Fri Jan 31 08:31:47 UTC 2020 i686 Android
Device manufacturer:

Device model:
Google Pixel 2 API 8

If you are rooted or have access to adb then capture a logcat with logcat -d "*:W", from a adb or root shell.

01-14 00:20:24.387  3763 16209 E memtrack: Couldn't load memtrack module
01-14 00:20:24.387  3763 16209 W android.os.Debug: failed to get memory consumption info: -1
01-14 00:20:40.927  6605  6605 E DecorView[]: Destroying unexpected ActionMode instance of TYPE_FLOATING; com.android.internal.view.FloatingActionMode@202ff60 was not the current floating action mode! Expected null
01-14 00:20:41.154 16213 16213 W /system/bin/app_process: Unexpected CPU variant for X86 using defaults: x86
01-14 00:20:41.156 16213 16213 W /system/bin/app_process: Could not create mount namespace.
01-14 00:20:41.156 16213 16213 W nativebridge: Failed to bind-mount /system/lib/x86/cpuinfo as /proc/cpuinfo: Operation not permitted
01-14 00:20:41.185 13608 13626 W DownloadManager: Path appears to be invalid: /data/data/com.termux/files/home/storage/downloads/gnu.jpg
01-14 00:20:41.185 13608 13626 W DownloadManager: Path appears to be invalid: /data/data/com.termux/files/home/storage/downloads/gnu.jpg
01-14 00:20:41.185 13608 13626 E DatabaseUtils: Writing exception to parcel
01-14 00:20:41.185 13608 13626 E DatabaseUtils: java.lang.SecurityException: Unsupported path /data/data/com.termux/files/home/storage/downloads/gnu.jpg
01-14 00:20:41.185 13608 13626 E DatabaseUtils: 	at com.android.providers.downloads.DownloadProvider.checkFileUriDestination(DownloadProvider.java:808)
01-14 00:20:41.185 13608 13626 E DatabaseUtils: 	at com.android.providers.downloads.DownloadProvider.insert(DownloadProvider.java:599)
01-14 00:20:41.185 13608 13626 E DatabaseUtils: 	at android.content.ContentProvider$Transport.insert(ContentProvider.java:267)
01-14 00:20:41.185 13608 13626 E DatabaseUtils: 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:152)
01-14 00:20:41.185 13608 13626 E DatabaseUtils: 	at android.os.Binder.execTransact(Binder.java:674)
01-14 00:20:41.186 12485 16222 E termux-api: Error in ResultReturner
01-14 00:20:41.186 12485 16222 E termux-api: java.lang.SecurityException: Unsupported path /data/data/com.termux/files/home/storage/downloads/gnu.jpg
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.os.Parcel.readException(Parcel.java:1942)
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.content.ContentResolver.insert(ContentResolver.java:1539)
01-14 00:20:41.186 12485 16222 E termux-api: 	at android.app.DownloadManager.enqueue(DownloadManager.java:1041)
01-14 00:20:41.186 12485 16222 E termux-api: 	at com.termux.api.DownloadAPI.lambda$onReceive$0(DownloadAPI.java:41)
01-14 00:20:41.186 12485 16222 E termux-api: 	at com.termux.api.-$$Lambda$DownloadAPI$4YhREMVDJjtX4lY26y4bbDIrLiw.writeResult(Unknown Source:4)
01-14 00:20:41.186 12485 16222 E termux-api: 	at com.termux.api.util.ResultReturner.lambda$returnData$0(ResultReturner.java:133)
01-14 00:20:41.186 12485 16222 E termux-api: 	at com.termux.api.util.-$$Lambda$ResultReturner$oCU8JqHW5HLMrNZa40ThjAWcwzo.run(Unknown Source:8)
01-14 00:20:41.186 12485 16222 E termux-api: 	at java.lang.Thread.run(Thread.java:764)
01-14 00:20:45.441   656  6451 W MessageQueue: Handler (android.media.MediaPlayer$EventHandler) {24659ce} sending message to a Handler on a dead thread
01-14 00:20:45.441   656  6451 W MessageQueue: java.lang.IllegalStateException: Handler (android.media.MediaPlayer$EventHandler) {24659ce} sending message to a Handler on a dead thread
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.os.MessageQueue.enqueueMessage(MessageQueue.java:545)
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.os.Handler.enqueueMessage(Handler.java:661)
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.os.Handler.sendMessageAtTime(Handler.java:630)
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.os.Handler.sendMessageDelayed(Handler.java:600)
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.os.Handler.sendMessage(Handler.java:537)
01-14 00:20:45.441   656  6451 W MessageQueue: 	at android.media.MediaPlayer.postEventFromNative(MediaPlayer.java:3436)

Add calendar api

It would be cool to add calendar entries using a script. I often parse dates and appointments out of files and email using a script. Would be nice if I could do this on the go with my phone.

dialog confirm - Too many arguments!

$ termux-dialog confirm "Simple Test"
ERROR: Too many arguments!
Usage: termux-dialog widget [options]
Get user input w/ different widgets! Default: text
   -h, help   Show this help
   -l, list   List all widgets and their options
   -t, title  Set title of input dialog (optional)

Or am I using it wrong?

termux-sensor: no sensors found

Hi there!
I'd love to see some temperatures / whatever hardware state info I can get my hands on on my android hardware media player. Can I help this somehow?

$ termux-sensor -a
No valid sensors were registered!
$ termux-sensor -l
{
  "sensors": []
}

I stumbled upon a bug report of someone trying to build lm-sensors, should I try that instead?
termux/termux-packages#1309

termux-notification: what are actions?

I had difficulty to understand how I'm suppose to use termux-notification actions. Are they commands I can run in the shell? Like a full command? Or only an executable name, available on the PATH?

I tried running

  • echo hello | termux-notification --action "echo hi"
  • echo hello | termux-notification --action echo
  • echo hello | termux-notification --action ls

...with no luck, but finally got it with

echo hello | termux-notification --action "touch f"

...and f was touched if I tapped on the notification.

A note explaining actions before options would be great! I can open a PR but english is not my native language, so others might phrase it better.

termux-clipboard-get not working after long uptime

hi,

my phone (with linageos) is now up quite a long time (31 days) and i guess termux is running at least 7 days without interruption (sometimes it gets killed if if someone overdone the javascript stuff on a i am forced to open...). But now it looks like the the inter process communication of termux-clipboard-get has somehow hung. Normaly it dose not take more then 10 secounds to get the clipboard, but now i was still waiting for it a lot longer. Here is some output i can give from my perspective without knowing exactly what is happening behind:

-bash-4.4$ termux-clipboard-get 
^C
-bash-4.4$ strace termux-clipboard-get 
The program 'strace' is not installed. Install it by executing:
 pkg install strace
-bash-4.4$  pkg install strace
Get:1 http://termux.net stable InRelease [1666 B]
Get:2 http://termux.net stable/main all Packages [3828 B]
Get:3 http://termux.net stable/main arm Packages [54.7 kB]
Fetched 60.2 kB in 1s (35.3 kB/s) 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
23 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  strace
0 upgraded, 1 newly installed, 0 to remove and 23 not upgraded.
Need to get 141 kB of archives.
After this operation, 496 kB of additional disk space will be used.
Get:1 http://termux.net stable/main arm strace arm 4.16 [141 kB]
Fetched 141 kB in 0s (565 kB/s)
Selecting previously unselected package strace.
(Reading database ... 5121 files and directories currently installed.)
Preparing to unpack .../archives/strace_4.16_arm.deb ...
Unpacking strace (4.16) ...
Processing triggers for man (1.14.1-1) ...
^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[ASetting up strace (4.16) ...
-bash-4.4$ strace termux-clipboard-get 
execve("/data/data/com.termux/files/usr/bin/termux-clipboard-get", ["termux-clipboard-get"], [/* 19 vars */]) = 0
set_tls(0xb6f86584, 0xb6f8432c, 0xb6f22440, 0xb6f83594, 0xbe92fbd4) = 0
set_tid_address(0xb6f8653c)             = 31155
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f1d000
madvise(0xb6f1d000, 12288, MADV_MERGEABLE) = -1 EINVAL (Invalid argument)
mprotect(0xb6f1d000, 4096, PROT_NONE)   = 0
sigaltstack({ss_sp=0xb6f1e000, ss_flags=0, ss_size=8192}, NULL) = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f1e000, 8192, "thread signal stack") = -1 EINVAL (Invalid argument)
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f1d000, 4096, "thread signal stack guard page") = -1 EINVAL (Invalid argument)
mprotect(0xb6f80000, 8192, PROT_READ)   = 0
mprotect(0xb6f85000, 4096, PROT_READ)   = 0
mprotect(0xb6f85000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f85000, 4096, PROT_READ)   = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f1c000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f1c000, 4096, "atexit handlers") = -1 EINVAL (Invalid argument)
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
ioctl(3, RNDGETENTCNT, 0xbe92f8ec)      = 0
read(3, "\231S\357\201f\203}\10:\263\5\2704\16\tj\221\306I\25\337xh>D\304\330y\362\362\n\33"..., 40) = 40
close(3)                                = 0
mmap2(NULL, 8, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f1b000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f1b000, 8, "arc4random _rs structure") = -1 EINVAL (Invalid argument)
mmap2(NULL, 1088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f1a000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f1a000, 1088, "arc4random _rsx structure") = -1 EINVAL (Invalid argument)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f19000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f19000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f18000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f18000, 12, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f17000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f17000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f16000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f16000, 12, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f15000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f15000, 4096, "linker_alloc") = -1 EINVAL (Invalid argument)
personality(0xffffffff)                 = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT)
personality(PER_LINUX32|ADDR_LIMIT_32BIT) = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT)
fstatat64(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0755, st_size=1460, ...}, 0) = 0
openat(AT_FDCWD, "/property_contexts", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f14000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f14000, 4096, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
fstat64(3, {st_mode=S_IFREG|0644, st_size=10337, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
read(3, "#line 1 \"system/sepolicy/propert"..., 4096) = 4096
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f11000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f11000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f10000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f10000, 12, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f0f000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f0f000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f0e000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f0e000, 12, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
read(3, ":config_prop:s0\nro.config.      "..., 4096) = 4096
read(3, "oresight.cfg_file     u:object_r"..., 4096) = 2145
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f0d000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f0d000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 24, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f0c000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f0c000, 24, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
munmap(0xb6f18000, 12)                  = 0
read(3, "", 4096)                       = 0
munmap(0xb6f11000, 4096)                = 0
close(3)                                = 0
munmap(0xb6f12000, 8192)                = 0
openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0
mmap2(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0xb6eec000
close(3)                                = 0
sigaction(SIGABRT, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGBUS, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGFPE, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGILL, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGSEGV, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGSTKFLT, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
sigaction(SIGTRAP, {sa_handler=0xb6f2283d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO|SA_ONSTACK, sa_restorer=0xb6f68bac}, NULL) = 0
fstatat64(AT_FDCWD, "/proc/self/exe", {st_mode=S_IFREG|0700, st_size=95944, ...}, 0) = 0
mprotect(0xb6f1c000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f1c000, 4096, PROT_READ)   = 0
futex(0xb6f83788, FUTEX_WAKE_PRIVATE, 2147483647) = 0
readlinkat(AT_FDCWD, "/proc/self/exe", "/data/data/com.termux/files/usr/"..., 4096) = 40
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f7f000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f7f000, 4096, "linker_alloc") = -1 EINVAL (Invalid argument)
fstatat64(AT_FDCWD, "/data", {st_mode=S_IFDIR|0771, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data", {st_mode=S_IFDIR|0771, st_size=20480, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data/com.termux", {st_mode=S_IFDIR|0700, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data/com.termux/files", {st_mode=S_IFDIR|0700, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data/com.termux/files/usr", {st_mode=S_IFDIR|0700, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data/com.termux/files/usr/lib", {st_mode=S_IFDIR|0700, st_size=20480, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/data/data/com.termux/files/usr/lib", {st_mode=S_IFDIR|0700, st_size=20480, ...}, 0) = 0
fstatat64(AT_FDCWD, "/system", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/system/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/vendor", {st_mode=S_IFLNK|0777, st_size=14, ...}, AT_SYMLINK_NOFOLLOW) = 0
readlinkat(AT_FDCWD, "/vendor", "/system/vendor", 4095) = 14
fstatat64(AT_FDCWD, "/system", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/system/vendor", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/system/vendor/lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}, AT_SYMLINK_NOFOLLOW) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f18000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f18000, 4096, "linker_alloc") = -1 EINVAL (Invalid argument)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f13000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f13000, 4096, "linker_alloc") = -1 EINVAL (Invalid argument)
openat(AT_FDCWD, "/data/data/com.termux/files/usr/lib/libc.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/system/lib/libc.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f11000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f11000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6eea000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6eea000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19
munmap(0xb6eea000, 8192)                = 0
munmap(0xb6f11000, 8192)                = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=766588, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f11000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f11000, 12, "linker_alloc_vector") = -1 EINVAL (Invalid argument)
pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52
mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6eeb000
mmap2(NULL, 8104, PROT_READ, MAP_PRIVATE, 3, 0xba000) = 0xb6ee9000
mmap2(NULL, 1904, PROT_READ, MAP_PRIVATE, 3, 0x84000) = 0xb6ee8000
mmap2(NULL, 25140, PROT_READ, MAP_PRIVATE, 3, 0x5000) = 0xb6ee1000
mmap2(NULL, 589824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e51000
mmap2(0xb6e51000, 529576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb6e51000
mmap2(0xb6ed3000, 22952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x81000) = 0xb6ed3000
mmap2(0xb6ed9000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6ed9000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6ed9000, 32768, ".bss") = -1 EINVAL (Invalid argument)
mprotect(0xb6f9f000, 4096, PROT_READ)   = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6e50000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6e50000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
munmap(0xb6e50000, 4096)                = 0
mprotect(0xb6ed3000, 16384, PROT_READ)  = 0
close(3)                                = 0
munmap(0xb6ee1000, 25140)               = 0
munmap(0xb6ee8000, 1904)                = 0
munmap(0xb6ee9000, 8104)                = 0
munmap(0xb6eeb000, 424)                 = 0
munmap(0xb6f12000, 4096)                = 0
mprotect(0xb6f7f000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f15000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6eda000, 4096, PROT_READ)   = 0
mprotect(0xb6eda000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6eda000, 4096, PROT_READ)   = 0
fstatat64(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0755, st_size=1460, ...}, 0) = 0
openat(AT_FDCWD, "/property_contexts", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
brk(NULL)                               = 0xb7eaa000
mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dd1000
madvise(0xb6dd1000, 524288, MADV_MERGEABLE) = -1 EINVAL (Invalid argument)
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6dd1000, 524288, "libc_malloc") = -1 EINVAL (Invalid argument)
munmap(0xb6dd1000, 524288)              = 0
mmap2(NULL, 1044480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d52000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6d52000, 1044480, "libc_malloc") = -1 EINVAL (Invalid argument)
munmap(0xb6d52000, 188416)              = 0
munmap(0xb6e00000, 331776)              = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=636693208}) = 0
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4
mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d00000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6d00000, 524288, "libc_malloc") = -1 EINVAL (Invalid argument)
fstat64(4, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
read(4, "0-1\n", 4096)                  = 4
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=638051437}) = 0
close(4)                                = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=638434615}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=10337, ...}) = 0
read(3, "#line 1 \"system/sepolicy/propert"..., 4096) = 4096
read(3, ":config_prop:s0\nro.config.      "..., 4096) = 4096
read(3, "oresight.cfg_file     u:object_r"..., 4096) = 2145
read(3, "", 4096)                       = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=641030188}) = 0
close(3)                                = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=641331907}) = 0
openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0
mmap2(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0xb6ce0000
close(3)                                = 0
mprotect(0xb6eda000, 4096, PROT_READ|PROT_WRITE) = 0
openat(AT_FDCWD, "/dev/__properties__/u:object_r:default_prop:s0", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0
mmap2(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0xb6cc0000
close(3)                                = 0
mprotect(0xb6eda000, 4096, PROT_READ)   = 0
openat(AT_FDCWD, "/data/data/com.termux/files/usr/lib/libnetd_client.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/system/lib/libnetd_client.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6cbe000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6cbe000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6cbc000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6cbc000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libnetd_client.so", 4096) = 29
munmap(0xb6cbc000, 8192)                = 0
munmap(0xb6cbe000, 8192)                = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=18016, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6cbf000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6cbf000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52
mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6cbe000
mmap2(NULL, 2144, PROT_READ, MAP_PRIVATE, 3, 0x4000) = 0xb6cbd000
mmap2(NULL, 7624, PROT_READ, MAP_PRIVATE, 3, 0x3000) = 0xb6cbb000
mmap2(NULL, 3829, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6cba000
openat(AT_FDCWD, "/data/data/com.termux/files/usr/lib/libc++.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/system/lib/libc++.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6cb8000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6cb8000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6cb6000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6cb6000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
readlinkat(AT_FDCWD, "/proc/self/fd/4", "/system/lib/libc++.so", 4096) = 21
munmap(0xb6cb6000, 8192)                = 0
munmap(0xb6cb8000, 8192)                = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=579232, ...}) = 0
pread64(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52
mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb6cb9000
mmap2(NULL, 2232, PROT_READ, MAP_PRIVATE, 4, 0x8d000) = 0xb6cb8000
mmap2(NULL, 6432, PROT_READ, MAP_PRIVATE, 4, 0x8b000) = 0xb6cb6000
mmap2(NULL, 110556, PROT_READ, MAP_PRIVATE, 4, 0x9000) = 0xb6c9b000
openat(AT_FDCWD, "/data/data/com.termux/files/usr/lib/libm.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/system/lib/libm.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6c99000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6c99000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6c97000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6c97000, 8192, "linker_alloc_lob") = -1 EINVAL (Invalid argument)
readlinkat(AT_FDCWD, "/proc/self/fd/5", "/system/lib/libm.so", 4096) = 19
munmap(0xb6c97000, 8192)                = 0
munmap(0xb6c99000, 8192)                = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=128792, ...}) = 0
pread64(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52
mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 5, 0) = 0xb6c9a000
mmap2(NULL, 2432, PROT_READ, MAP_PRIVATE, 5, 0x1f000) = 0xb6c99000
mmap2(NULL, 6600, PROT_READ, MAP_PRIVATE, 5, 0x1e000) = 0xb6c97000
mmap2(NULL, 8839, PROT_READ, MAP_PRIVATE, 5, 0x1000) = 0xb6c94000
mmap2(NULL, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6c8e000
mmap2(0xb6c8e000, 14616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb6c8e000
mmap2(0xb6c92000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0xb6c92000
mmap2(NULL, 589824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6bfe000
mmap2(0xb6bfe000, 558224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0xb6bfe000
mmap2(0xb6c88000, 16409, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x89000) = 0xb6c88000
mmap2(0xb6c8d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6c8d000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6c8d000, 4096, ".bss") = -1 EINVAL (Invalid argument)
mmap2(NULL, 135168, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e30000
mmap2(0xb6e30000, 124428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0xb6e30000
mmap2(0xb6e4f000, 4204, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x1e000) = 0xb6e4f000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mprotect(0xb6c92000, 4096, PROT_READ)   = 0
munmap(0xb6f12000, 4096)                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mprotect(0xb6c88000, 16384, PROT_READ)  = 0
munmap(0xb6f12000, 4096)                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 4096, "linker_alloc_small_objects") = -1 EINVAL (Invalid argument)
mprotect(0xb6e4f000, 4096, PROT_READ)   = 0
munmap(0xb6f12000, 4096)                = 0
close(3)                                = 0
close(4)                                = 0
close(5)                                = 0
munmap(0xb6c9b000, 110556)              = 0
munmap(0xb6cb6000, 6432)                = 0
munmap(0xb6cb8000, 2232)                = 0
munmap(0xb6cb9000, 392)                 = 0
munmap(0xb6c94000, 8839)                = 0
munmap(0xb6c97000, 6600)                = 0
munmap(0xb6c99000, 2432)                = 0
munmap(0xb6c9a000, 424)                 = 0
munmap(0xb6cba000, 3829)                = 0
munmap(0xb6cbb000, 7624)                = 0
munmap(0xb6cbd000, 2144)                = 0
munmap(0xb6cbe000, 392)                 = 0
munmap(0xb6cbf000, 4096)                = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8c234, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8da48, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8c234, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6c8c234, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb6edb078, FUTEX_WAKE_PRIVATE, 2147483647) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f12000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xb6f12000, 4096, "atexit handlers") = -1 EINVAL (Invalid argument)
mprotect(0xb6f12000, 4096, PROT_READ)   = 0
futex(0xb6ed9018, FUTEX_WAKE_PRIVATE, 2147483647) = 0
mprotect(0xb6f7f000, 4096, PROT_READ)   = 0
mprotect(0xb6f15000, 4096, PROT_READ)   = 0
mprotect(0xb6f12000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f12000, 4096, PROT_READ)   = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
sigaction(SIGCHLD, {sa_handler=0xb6f977fc, sa_mask=~[], sa_flags=SA_RESTORER, sa_restorer=0xb6e681e0}, NULL) = 0
geteuid32()                             = 10078
getppid()                               = 31153
fstatat64(AT_FDCWD, "/data/data/com.termux/files/home", {st_mode=S_IFDIR|0700, st_size=4096, ...}, 0) = 0
fstatat64(AT_FDCWD, ".", {st_mode=S_IFDIR|0700, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/data/data/com.termux/files/usr/bin/termux-clipboard-get", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}) = 0
sigaction(SIGINT, {sa_handler=0xb6f977fc, sa_mask=~[], sa_flags=SA_RESTORER, sa_restorer=0xb6e681e0}, NULL) = 0
sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}) = 0
sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[], sa_flags=SA_RESTORER, sa_restorer=0xb6e681e0}, NULL) = 0
sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}) = 0
sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[], sa_flags=SA_RESTORER, sa_restorer=0xb6e681e0}, NULL) = 0
read(10, "#!/data/data/com.termux/files/us"..., 1024) = 479
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=676147952}) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1384498, tv_nsec=676740087}) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6f8653c) = 31156
wait4(-1, ^Cstrace: Process 31155 detached
 <detached ...>
-bash-4.4$ termux-clipboard-get 
^C
-bash-4.4$ uptime
 01:46:28 up 31 days, 13:23,  load average: 12.54, 12.85, 13.31
-bash-4.4$ termux-clipboard-get 
^C
-bash-4.4$ time termux-clipboard-get 
^C

real	2m3.263s
user	0m0.037s
sys	0m0.023s
-bash-4.4$  

if you answer this in the next 2 days its possible that there hasnt be a reboot yet so i can give you some more debug information if you tell me how...

thanks for the fix in advance and keep up the good work

Bash shebang

Hello!

I'm not sure whether this issue goes here or to termux-packages.

Some of the scripts here (e.g. termux-brightness) have a bash shebang.
Bash package is not marked as essential in termux-packages, neither it is located in the bootstrap. This package does not depend on the bash package either.

Running such scripts from dash (which is, IIRC, the default shell, since it is "essential") produces an error.

I see two possible solutions to this problem:

  • replace bash shebang with sh, modify affected scripts if needed (i.e. if they use "bash-only" features)

  • in termux-packages add bash as a dependency for this package (though that seems excessive) DONE

UPD: I was wrong and bash is actually included in the bootstrap, and is actually used as a login shell.
However, it is still possible to remove the bash package (which can be removed since termux-api does not depend on it), which makes some scripts (e.g. termux-dialog) unusable.

UPD2: termux-api now depends on bash, which is now also an essential package. Feel free to close this and the corresponding PR, if you feel that it is not necessary to remove the bash dependency

termux-job-scheduler not running jobs

Trying to run a script with the job-scheduler and it doesn't seem to run every 15 minutes (despite it showing up in termux-job-scheduler --pending).

Aside from installing the termux-api package, is there something I need to do to ensure the job is runs?

Here is my command to schedule the job:

$ termux-job-scheduler --period-ms 900000 --script /data/data/com.termux/files/home/scripts/check-shell.sh --network any

Scheduling Job 0: /data/data/com.termux/files/home/scripts/check-shell.sh       (periodic: 900000ms) (battery not low) (network: NetworkRequest [ NONE id=0, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&VALIDATED Unwanted:  Uid: 10121] ]) - response 1

Here is the pending job:

$ termux-job-scheduler --pending

Pending Job 0: /data/data/com.termux/files/home/scripts/check-shell.sh  (periodic: 900000ms) (battery not low) (network: NetworkRequest [ NONE id=0, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&VALIDATED Unwanted:  Uid: 10121] ])

Again, is there some other step I am missing to ensure that my job runs?

termux-battery-status does not give all the information it could.

BatteryBotPro gives some of extra information including the voltage of the battery, and includes several hacks to get mA (which do not apparently work on all phones, but may still be useful on a number of them). It also includes access to predictions of how much time is left until the battery runs out or finishes recharging, etc. It would be useful to add these features to termux-battery-status for scripts to make use of.

For convenience, here is the mA code, and here is the general battery info code. And here is some battery prediction stuff.

Remove other app specific notification

Description

It would be nice if we had a command to remove a specific app notification. Something like `termux-notification-remove -key 1234

Why

I want to consume notifications from other apps, send to my computer if I find a specific word in the message and remove the notification so I don't have to read them again.

Example: Someone sends a message with "asap". I want to get this message, send to my pc and remove the notification.

Background information

Termux already have termux-notification-remove, but only works for termux notifications.
Also, there is termux-notification-list, so the permission is already there.
I don't know of other open-source apps with this feature, but I know that this is possible in this Stackoverflow link and in this

Android developpers

Send MMS

It would be nice to add MMS support.

I cant install termux-api

I've dowload the App on playstore, but i cant install using pkg or apt on termux

~ $ pkg install termux-api
Checking availability of current mirror: ok
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package termux-api is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'termux-api' has no installation candidate

termux-telephony-call not working.

Hi,

Im trying to perform a call from termux to a phone number, i did install termux-api-package in termux terminal, and then installed termux api from the app store (add on for termux), when i execute termux-telephony-call [phone number] in termux terminal, no feedback is provided, command seems to keep working but the other phone did not receive call.

package termux-api 0.28 installed (stable) in termux.

error make

Got this error when i compile:

cc -std=c11 -Wall -Wextra -pedantic -Werror termux-api.c -o termux-api termux-api.c: In function ‘generate_uuid’: termux-api.c:71:13: error: implicit declaration of function ‘arc4random’; did you mean ‘srandom’? [-Werror=implicit-function-declaration] arc4random(), arc4random(), // Generates a 64-bit Hex number ^~~~~~~~~~ srandom cc1: all warnings being treated as errors make: *** [<builtin>: termux-api] Error 1

How to develop speech to text with Python in termux

I want to make speech to text with Python in termux so I used SpeechRecognition library of Python it installed correctly but it's can't get the record audio so is there any way or any changes I have to do to #access the microphones of phone using termux python

Not working Properly

Problem description
A clear and concise description of what the problem with termux-api-package is. You may post screenshots or paste error messages in addition to description.

Steps to reproduce
Please post all steps that are needed to reproduce the issue.

Expected behavior
A clear and concise description of what you expected to happen.

Additional information
Post output of command termux-info.
If you are rooted or have access to adb then capture a logcat with logcat -d "*:W", from a adb or root shell.

termux-call-log hangs

I ran last version of termux-call-log on rooted galaxy s8+ and termux-call-log just hands without any output. Is there any fix?

Feature request: support external volumes

It'd be nice to have a way to unmount external drives connected through OTG, for instance. I've already tried /system/bin/sm, but it complains about lack of android.permission.MOUNT_UNMOUNT_FILESYSTEMS.

termux-notification not showing full message!

Hey guys! I'm doing a simple .py file to run some os.system("termux-notification ..."). Anyway, I'm using something like this:

"termux-notification -t 'This is a huge test so you guys can understand my situation with the notification'".

So, when I execute it, my notification comes like this:

"This is a huge test so you guys ..."

It doesn't show the FULL notification. Is there anyway I could solve it? Thanks

Extend: termux-camera-photo

It would be very useful if you could extend the termux-camera-photo to have:

  • DNG export
  • Setting the exposure
  • Setting the focus

How can I fix this case?

Hi, I used it via Termux-tts-speak and found it extremely slow, luckily I found it and followed it, which is the same method Termux suggested.

But I had a problem like this, I copied and pasted exactly the same, then came out like this ...

mkfifo ~ / .tts
$ while true; do cat ~ / .tts; done | termux-tts-speak

edks
djx
^ X
^ S
^ [d
^ [OP
yes

I have no way to get out of the command, I can only exit the App that can handle it.

To tell the truth, I hope you guys help me out with this puzzling problem.

Sincerely thank!!!

termux-sensors doesn't accept sensor names with spaces

It accidentally splits sensor names with spaces in them, and then complains about the number of arguments.

Example:

$ termux-sensors -s "Rear Proximity Sensor"
ERROR: Sensor arg should be a comma delimited string!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.