745 lines
22 KiB
Markdown
745 lines
22 KiB
Markdown
|
% TERMUX(1) As of application version 0.101 | Termux User Documentation
|
||
|
% By @xeffyr (Leonid Pliushch <leonid.pliushch@gmail.com>) and Termux Wiki contributors.
|
||
|
% October 2, 2020
|
||
|
|
||
|
NAME
|
||
|
====
|
||
|
|
||
|
**Termux** - a terminal emulator application for Android OS.
|
||
|
|
||
|
DESCRIPTION
|
||
|
===========
|
||
|
|
||
|
Termux is an Android terminal emulator and Linux environment application that
|
||
|
works directly with no rooting or setup required. A minimal base system is
|
||
|
installed automatically, additional packages are available using the package
|
||
|
manager.
|
||
|
|
||
|
Here is a just a brief list of things you can do with Termux:
|
||
|
|
||
|
- Data processing with Python.
|
||
|
- Programming in a development environment.
|
||
|
- Downloading and managing files and pages using time-established tools.
|
||
|
- Learning the basics of the Linux command line environment.
|
||
|
- Running an SSH client.
|
||
|
- Synchronizing and backing up your files.
|
||
|
|
||
|
Of course, usage is not limited to the topics listed above.
|
||
|
|
||
|
Note that it is expected that you have at least basic knowledge about
|
||
|
command line and shell scripting.
|
||
|
|
||
|
USER INTERFACE
|
||
|
==============
|
||
|
|
||
|
At launch Termux shows a terminal interface, whose text size can be adjusted
|
||
|
by pinch zooming or double tapping and pulling the content towards or from you.
|
||
|
|
||
|
Besides the terminal there are three additional interface elements available:
|
||
|
a context menu, navigation drawer and notification.
|
||
|
|
||
|
The context menu can be shown by long pressing anywhere on the terminal. It
|
||
|
provides menu entries for:
|
||
|
|
||
|
- Selecting and pasting text.
|
||
|
- Sharing text from the terminal to other apps (e.g. email or SMS)
|
||
|
- Resetting the terminal if it gets stuck.
|
||
|
- Hangup (exiting the current terminal session).
|
||
|
- Styling the terminal by selecting a font and a color scheme.
|
||
|
- Showing this help page.
|
||
|
|
||
|
The navigation drawer is revealed by swiping inwards from the left part of the
|
||
|
screen. It has three elements:
|
||
|
|
||
|
- A list of sessions. Clicking on a session shows it in the terminal while
|
||
|
long pressing allows you to specify a session title.
|
||
|
- A button to toggle visibility of the touch keyboard.
|
||
|
- A button to create new terminal sessions. Long press it for creating a named
|
||
|
session or a fail-safe one.
|
||
|
|
||
|
The notification, available when a terminal session is running, is available by
|
||
|
pulling down the notification menu. Pressing the notification leads to the most
|
||
|
current terminal session. It may also be expanded by pinch-zooming or performing
|
||
|
a single-finger glide to expose these actions:
|
||
|
|
||
|
- Exiting all running terminal sessions.
|
||
|
- Use a wake lock to avoid entering sleep mode.
|
||
|
- Use a high performance wifi lock to maximize wifi performance.
|
||
|
|
||
|
With a wake lock held the notification and Termux background processes will be
|
||
|
available even if no terminal session is running, which allows server and other
|
||
|
background processes to run more reliably.
|
||
|
|
||
|
Using wake-lock
|
||
|
---------------
|
||
|
|
||
|
If you are executing a long operation in Termux and want to turn off device
|
||
|
screen, you need to enable Wake Lock. You can do that through the notification,
|
||
|
by clicking on button "Acquire wakelock" or by executing this command:
|
||
|
|
||
|
termux-wake-lock
|
||
|
|
||
|
Wake locks are needed to prevent device from going into sleep mode. If you will
|
||
|
not do that, your tasks will run very slowly or even be paused. Acquired Wake
|
||
|
Lock implies a higher battery usage during standby.
|
||
|
|
||
|
Please note that Wake Lock does not affect network performance when screen is
|
||
|
off and you may observe a packet loss.
|
||
|
|
||
|
To release Wake Lock, you need to either run command
|
||
|
|
||
|
termux-wake-unlock
|
||
|
|
||
|
or click button "Release wakelock" in notification.
|
||
|
|
||
|
TOUCH KEYBOARD
|
||
|
==============
|
||
|
|
||
|
Use of keys like ALT, CTRL, ESC is necessary for working with a command line
|
||
|
programs. As Android touch keyboards usually do not include such keys, Termux
|
||
|
uses the Volume-Down button to emulate the CTRL key. For example, holding the
|
||
|
Volume-Down and "L" on touch keyboard will send the same input as pressing
|
||
|
key combination CTRL+L on a hardware keyboard.
|
||
|
|
||
|
The result of using CTRL (Volume-Down) in combination with a key depends on
|
||
|
which program is being used. See below for the list of common shortcuts usable
|
||
|
in most shells.
|
||
|
|
||
|
`CTRL+A`
|
||
|
: Move cursor to the beginning of line
|
||
|
|
||
|
`CTRL+C`
|
||
|
: Abort current process by sending SIGINT
|
||
|
|
||
|
`CTRL+D`
|
||
|
: Logout of a terminal session by sending EOF
|
||
|
|
||
|
`CTRL+E`
|
||
|
: Move cursor to the end of line
|
||
|
|
||
|
`CTRL+K`
|
||
|
: Delete from cursor to the end of line
|
||
|
|
||
|
`CTRL+U`
|
||
|
: Delete from cursor to the beginning of line
|
||
|
|
||
|
`CTRL+L`
|
||
|
: Clear the terminal
|
||
|
|
||
|
`CTRL+Z`
|
||
|
: Suspend current process by sending SIGTSTP
|
||
|
|
||
|
`CTRL+W`
|
||
|
: Clear prompt before word
|
||
|
|
||
|
The Volume-Up key also serves as a special key to produce certain input.
|
||
|
But please note that Volume-Up is not equivalent of the ALT key.
|
||
|
|
||
|
`Volume-Up+E`
|
||
|
: Escape key
|
||
|
|
||
|
`Volume-Up+T`
|
||
|
: Tab key
|
||
|
|
||
|
`Volume-Up+1`
|
||
|
: F1, Volume-Up+2 will produce F2, etc
|
||
|
|
||
|
`Volume-Up+0`
|
||
|
: F10 key
|
||
|
|
||
|
`Volume-Up+B`
|
||
|
: ALT+B, back a word when using Readline
|
||
|
|
||
|
`Volume-Up+F`
|
||
|
: ALT+F, forward a word when using Realine
|
||
|
|
||
|
`Volume-Up+X`
|
||
|
: ALT+X
|
||
|
|
||
|
`Volume-Up+W`
|
||
|
: Up arrow key
|
||
|
|
||
|
`Volume-Up+A`
|
||
|
: Left arrow key
|
||
|
|
||
|
`Volume-Up+S`
|
||
|
: Down arrow key
|
||
|
|
||
|
`Volume-Up+D`
|
||
|
: Right arrow key
|
||
|
|
||
|
`Volume-Up+L`
|
||
|
: **|**, the pipe character
|
||
|
|
||
|
`Volume-Up+H`
|
||
|
: **~**, the tilde character
|
||
|
|
||
|
`Volume-Up+U`
|
||
|
: **\_**, the underscore character
|
||
|
|
||
|
`Volume-Up+P`
|
||
|
: Page Up key
|
||
|
|
||
|
`Volume-Up+N`
|
||
|
: Page Down key
|
||
|
|
||
|
`Volume-Up+.`
|
||
|
: CTRL+\\, send SIGQUIT
|
||
|
|
||
|
`Volume-Up+V`
|
||
|
: Show the volume control
|
||
|
|
||
|
`Volume-Up+Q`
|
||
|
: Toggle extra keys row
|
||
|
|
||
|
`Volume-Up+K`
|
||
|
: Another variant to toggle extra keys row
|
||
|
|
||
|
Termux supports the special key row which allows you to specify desired
|
||
|
keys like CTRL or ESC or their combinations. See section **EXTRA KEYS ROW**.
|
||
|
|
||
|
HARDWARE KEYBOARD
|
||
|
==============
|
||
|
|
||
|
The following shortcuts are available when using Termux with a hardware
|
||
|
(e.g. Bluetooth) keyboard:
|
||
|
|
||
|
`CTRL+ALT+C`
|
||
|
: Create new session
|
||
|
|
||
|
`CTRL+ALT+R`
|
||
|
: Rename current session
|
||
|
|
||
|
`CTRL+ALT+<DOWN>`
|
||
|
: Switch to next session
|
||
|
|
||
|
`CTRL+ALT+<UP>`
|
||
|
: Switch to previous session
|
||
|
|
||
|
`CTRL+ALT+<RIGHT>`
|
||
|
: Open drawer
|
||
|
|
||
|
`CTRL+ALT+<LEFT>`
|
||
|
: Close drawer
|
||
|
|
||
|
`CTRL+ALT+M`
|
||
|
: Show menu
|
||
|
|
||
|
`CTRL+ALT+U`
|
||
|
: Select URL
|
||
|
|
||
|
`CTRL+ALT+V`
|
||
|
: Paste clipboard content
|
||
|
|
||
|
`CTRL+ALT+ (+/-)`
|
||
|
: Adjust font size
|
||
|
|
||
|
`CTRL+ALT+ (1-9)`
|
||
|
: Go to numbered session
|
||
|
|
||
|
These shortcuts do not work with touch keyboard or extra keys row.
|
||
|
|
||
|
CONFIGURATION
|
||
|
=============
|
||
|
|
||
|
All Termux configuration is done through text file located at
|
||
|
|
||
|
~/.termux/termux.properties
|
||
|
|
||
|
It uses a simple key=value property syntax. See below for all supported
|
||
|
properties.
|
||
|
|
||
|
Note that updated configuration takes effect only when you have executed
|
||
|
|
||
|
termux-reload-settings
|
||
|
|
||
|
or have restarted the application.
|
||
|
|
||
|
`back-key`
|
||
|
: Controls the behavior of key "back".
|
||
|
|
||
|
Accepts a one of these values:
|
||
|
|
||
|
- **back** - The default. A standard behavior of Android OS, will
|
||
|
hide touch keyboard if shown, if not - move to home screen without
|
||
|
closing application.
|
||
|
|
||
|
- **escape** - When set, touching the key will send escape character.
|
||
|
|
||
|
`bell-character`
|
||
|
: Controls the behavior of bell characters.
|
||
|
|
||
|
Accepts a one of these values:
|
||
|
|
||
|
- **vibrate** - vibrate the device.
|
||
|
- **beep** - short sound beep.
|
||
|
- **ignore** - ignore bell characters.
|
||
|
|
||
|
If property is not being set, the default behavior is equivalent
|
||
|
to "bell-character=vibrate".
|
||
|
|
||
|
`enforce-char-based-input`
|
||
|
: Set this to "true" if you have issues with touch keyboard. For example text
|
||
|
is not being sent to terminal until you tap space. Or keyboard shows the
|
||
|
wrong layout, for example numeric.
|
||
|
|
||
|
Recommended for people using Samsung devices with stock touch keyboard.
|
||
|
|
||
|
`shortcut.create-session`
|
||
|
: Sets a key combination for creating new session.
|
||
|
|
||
|
For example, use of
|
||
|
|
||
|
shortcut.create-session = ctrl + t
|
||
|
|
||
|
will allow to open a new terminal session by pressing CTRL + t.
|
||
|
|
||
|
`shortcut.next-session`
|
||
|
: Sets a key combination for switching to the next session.
|
||
|
Value format is same as for "shortcut.create-session" property.
|
||
|
|
||
|
`shortcut.previous-session`
|
||
|
: Sets a key combination for switching to the previous session.
|
||
|
Value format is same as for "shortcut.create-session" property.
|
||
|
|
||
|
`shortcut.rename-session`
|
||
|
: Sets a key combination for opening a dialog for renaming the
|
||
|
current session.
|
||
|
Value format is same as for "shortcut.create-session" property.
|
||
|
|
||
|
`use-black-ui`
|
||
|
: If set to "true", application will use primarily black color for
|
||
|
the most of user interface elements.
|
||
|
|
||
|
Setting this to "false" will have opposite effect.
|
||
|
|
||
|
If the property is not set, then application will choose colors
|
||
|
accordingly to the current system theme.
|
||
|
|
||
|
EXTRA KEYS ROW
|
||
|
==============
|
||
|
|
||
|
Termux also has an extra keys row(s) which allows you to extend your
|
||
|
current keyboard. To enable the extra keys row you have to long tap
|
||
|
on the keyboard button in the left drawer menu or Volume-Down+K key
|
||
|
combination.
|
||
|
|
||
|
Layout of the extra keys rows is configurable through the standard
|
||
|
Termux configuration file located in
|
||
|
|
||
|
~/.termux/termux.properties
|
||
|
|
||
|
See section **CONFIGURATION** to learn more about Termux properties.
|
||
|
|
||
|
Sample configuration of 2 extra keys rows:
|
||
|
|
||
|
extra-keys = [ \
|
||
|
['ESC','/','-','HOME','UP','END','PGUP'], \
|
||
|
['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN'] \
|
||
|
]
|
||
|
|
||
|
Configuration may be done as one line or be spread between multiple lines
|
||
|
by using backslashes like in example above.
|
||
|
|
||
|
Value format is 2-dimensional JSON array.
|
||
|
|
||
|
It is possible to configure a popups buttons which can be triggered by swiping
|
||
|
up on the respective keys.
|
||
|
|
||
|
Here is a syntax for the popup key object:
|
||
|
|
||
|
{key: KEY, popup: POPUP_KEY}
|
||
|
|
||
|
Alternate, more advanced syntax for defining the popup:
|
||
|
|
||
|
{key: KEY, popup: {macro: 'KEY COMBINATION', display: 'Key combo'}}
|
||
|
|
||
|
An example of complex Termux extra keys configuration with using popups:
|
||
|
|
||
|
extra-keys = [[ \
|
||
|
{key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, \
|
||
|
{key: CTRL, popup: {macro: "CTRL f BKSP", display: "tmux ←"}}, \
|
||
|
{key: ALT, popup: {macro: "CTRL f TAB", display: "tmux →"}}, \
|
||
|
{key: TAB, popup: {macro: "ALT a", display: A-a}}, \
|
||
|
{key: LEFT, popup: HOME}, \
|
||
|
{key: DOWN, popup: PGDN}, \
|
||
|
{key: UP, popup: PGUP}, \
|
||
|
{key: RIGHT, popup: END}, \
|
||
|
{macro: "ALT j", display: A-j, popup: {macro: "ALT g", display: A-g}}, \
|
||
|
{key: KEYBOARD, popup: {macro: "CTRL d", display: exit}} \
|
||
|
]]
|
||
|
|
||
|
SUPPORTED KEYS
|
||
|
--------------
|
||
|
|
||
|
Each key "entry" can be either a string such as '|', '/', '=' or one of the
|
||
|
values listed below.
|
||
|
|
||
|
- CTRL ("special key")
|
||
|
- ALT ("special key")
|
||
|
- FN ("special key")
|
||
|
- SPACE
|
||
|
- ESC
|
||
|
- TAB
|
||
|
- HOME
|
||
|
- END
|
||
|
- PGUP
|
||
|
- PGDN
|
||
|
- INS
|
||
|
- DEL
|
||
|
- BKSP
|
||
|
- UP
|
||
|
- LEFT
|
||
|
- RIGHT
|
||
|
- DOWN
|
||
|
- ENTER
|
||
|
- BACKSLASH
|
||
|
- QUOTE
|
||
|
- APOSTROPHE
|
||
|
- F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12
|
||
|
- KEYBOARD (hide the keyboard)
|
||
|
- DRAWER (open app drawer)
|
||
|
|
||
|
Each of the three "special keys" listed above should only be listed at most
|
||
|
ONCE in the extra-keys definition i.e. do NOT have more than one CTRL key.
|
||
|
Having more than one instance of any "special key" will result in a bug
|
||
|
whereby those keys do not function correctly.
|
||
|
|
||
|
A note about backslash: this character has special meaning and you should
|
||
|
not use it directly to define a key. Use 'BACKSLASH' instead, otherwise
|
||
|
properly escape it - `'\\\\'`.
|
||
|
|
||
|
TEXT INPUT VIEW
|
||
|
---------------
|
||
|
|
||
|
Termux does not support the advanced features of touch keyboards like
|
||
|
autocorrection, prediction and swipe typing. To solve this, it provides a
|
||
|
text input view. Text entered in it will get pasted to the terminal. Because
|
||
|
it is a native Android text input view, all touch keyboard features will work.
|
||
|
To access the text input view you have to swipe the extra keys row to the left.
|
||
|
|
||
|
DIFFERENCES FROM LINUX DISTRIBUTIONS
|
||
|
====================================
|
||
|
|
||
|
Termux does not guarantee full compatibility with GNU/Linux environment and
|
||
|
you may observe inconvenient behavior of some utilities, especially from
|
||
|
those which were not officially ported to Android OS (Termux). See below to
|
||
|
learn about the major differences.
|
||
|
|
||
|
`No compliance with Filesystem Hierarchy Standard`
|
||
|
: Termux does not follow Filesystem Hierarchy Standard because Android does
|
||
|
not make root file system world-writable and Termux is not a virtual
|
||
|
machine.
|
||
|
|
||
|
All files are stored within the application private directory on internal
|
||
|
storage to ensure that application has full control over its files and
|
||
|
also special features like symlinks or file access modes (**chmod(1)**).
|
||
|
|
||
|
The data is being stored in 2 main locations:
|
||
|
|
||
|
`/data/data/com.termux/files/home`
|
||
|
: A home directory where user can place his files.
|
||
|
|
||
|
`/data/data/com.termux/files/usr`
|
||
|
: The prefix - a place where all packages are being extracted during
|
||
|
installation. Has a directory structure similar to the root file
|
||
|
system of traditional Linux distributions.
|
||
|
|
||
|
You may have problems with running some utilities accessing standard
|
||
|
directories like /var or /tmp.
|
||
|
|
||
|
Termux has some workarounds for that. For example, it preloads a shared
|
||
|
library "libtermux-exec.so" which intercepts "execve()" and maps /bin to
|
||
|
directory located in the prefix.
|
||
|
|
||
|
With utility "termux-chroot" that comes as part of package "proot" you
|
||
|
should be able to emulate a FHS-compliant root file system.
|
||
|
|
||
|
`No GNU libc`
|
||
|
: Termux does not use GNU libc. Instead it uses a Bionic libc and dynamic
|
||
|
linker provided by Android OS.
|
||
|
|
||
|
Programs linked with GNU libc will not work in Termux. Bionic libc has
|
||
|
different ABI and dynamic linker path. You likely will observe weird
|
||
|
messages "No such file or directory" when attempting to run executable
|
||
|
file but know that file is present. That happens because dynamic linker
|
||
|
cannot be started because does not exist on expected location.
|
||
|
|
||
|
Programs which were statically-linked with GNU libc may misbehave too.
|
||
|
You may get a "Bad system call" errors. Also networking software will
|
||
|
likely show DNS resolution errors because Android does not provide
|
||
|
`/etc/resolv.conf` and by default even in statically-linked programs
|
||
|
GNU libc still uses libresolv as shared library which is not present.
|
||
|
|
||
|
Consider to rebuild your software in Termux environment by using clang.
|
||
|
|
||
|
`Only one user`
|
||
|
: Termux environment is sinle-user only. There any kind of privilege
|
||
|
separation and you cannot change the given user id or name.
|
||
|
|
||
|
Be extremely careful when executing third-party scripts as they are
|
||
|
able to tamper files in Termux prefix.
|
||
|
|
||
|
PACKAGE MANAGEMENT
|
||
|
==================
|
||
|
|
||
|
Termux uses **apt(8)** as package manager, just like Debian. However we
|
||
|
highly recommend to use our wrapper **pkg** which simplifies certain
|
||
|
tasks and also automatically picks the mirror to help reduce traffic usage
|
||
|
on the origin repositories. See its usage below.
|
||
|
|
||
|
Installing package:
|
||
|
|
||
|
pkg install <package name>
|
||
|
|
||
|
Uninstall package:
|
||
|
|
||
|
pkg uninstall <package name>
|
||
|
|
||
|
Reinstall package:
|
||
|
|
||
|
pkg reinstall <package name>
|
||
|
|
||
|
List the all available packages:
|
||
|
|
||
|
pkg list-all
|
||
|
|
||
|
List the installed packages:
|
||
|
|
||
|
pkg list-installed
|
||
|
|
||
|
Search packages:
|
||
|
|
||
|
pkg search <query>
|
||
|
|
||
|
Upgrade packages:
|
||
|
|
||
|
pkg upgrade
|
||
|
|
||
|
Termux implements a rolling-release updates scheme to reduce amount of work
|
||
|
needed to maintain packages since developer team is small. You need to check
|
||
|
for updates on a regular basis, especially before installing a new package.
|
||
|
Otherwise at some day your environment will be broken.
|
||
|
|
||
|
If you prefer to use **apt(8)** over **pkg**, please ensure that for
|
||
|
installing updates you use these commands:
|
||
|
|
||
|
apt update
|
||
|
apt full-upgrade
|
||
|
|
||
|
Also always run "apt update" before installing package. The wrapper **pkg**
|
||
|
does that for you automatically.
|
||
|
|
||
|
RECOVERY
|
||
|
========
|
||
|
|
||
|
If Termux session cannot be launched due to misconfiguration in dotfiles,
|
||
|
you still should be able to start a failsafe session. How-to:
|
||
|
|
||
|
1. Long click on Termux launcher icon.
|
||
|
2. Select shortcut "failsafe".
|
||
|
|
||
|
Once you are in a failsafe session, navigate to Termux home directory and
|
||
|
rename or delete the dotfiles causing the issue. Finally, restart the
|
||
|
application.
|
||
|
|
||
|
If problem is not with the dotfiles, for example you have messed up Termux
|
||
|
prefix and do not know what to do, our recommendation is *complete reinstallation*
|
||
|
by executing
|
||
|
|
||
|
rm -rf /data/data/com.termux/files/usr
|
||
|
|
||
|
This will erase all packages but will not touch your home directory.
|
||
|
|
||
|
ACCESSING THE STORAGE
|
||
|
=====================
|
||
|
|
||
|
By default Termux does not provide access to storage volumes where you
|
||
|
typically store your files like pictures or documents. In order to get
|
||
|
access to shared storage, execute the next command:
|
||
|
|
||
|
termux-setup-storage
|
||
|
|
||
|
This will prompt you for Storage Access Permission. Once it granted, Termux
|
||
|
will setup symlinks to various standard directories under "~/storage".
|
||
|
|
||
|
`~/storage/shared`
|
||
|
: The root directory of shared storage.
|
||
|
|
||
|
`~/storage/downloads`
|
||
|
: Standard directory where downloaded files are stored.
|
||
|
|
||
|
`~/storage/dcim`
|
||
|
: Standard directory where captured photos and video are stored.
|
||
|
|
||
|
`~/storage/pictures`
|
||
|
: Standard directory for photo gallery.
|
||
|
|
||
|
`~/storage/music`
|
||
|
: Standard directory where music albums are stored.
|
||
|
|
||
|
`~/storage/movies`
|
||
|
: Standard directory where videos are stored.
|
||
|
|
||
|
`~/storage/external-1`
|
||
|
: The private directory of Termux on external SD-card.
|
||
|
|
||
|
Note that if you decide to wipe Termux data or uninstall application,
|
||
|
all files stored in private application directories will be deleted.
|
||
|
|
||
|
Note about external storage
|
||
|
---------------------------
|
||
|
|
||
|
Android does not allow to have a direct write access to external storage
|
||
|
like SD-cards and USB drives unless you are not doing so in private
|
||
|
directories like
|
||
|
|
||
|
/storage/0123-ABCD/Android/data/com.termux/files
|
||
|
|
||
|
If you want to write files to storage root or directory other than private
|
||
|
one of Termux, you need superuser permissions.
|
||
|
|
||
|
Android applications like file managers can do that because they use a
|
||
|
special API called Storage Access Framework. But command line utilities
|
||
|
cannot use this one.
|
||
|
|
||
|
Transferring files to Termux
|
||
|
----------------------------
|
||
|
|
||
|
To put files into Termux, you have 2 variants.
|
||
|
|
||
|
The first one would be copying or moving files from shared storage into
|
||
|
Termux directory by using **cp(1)** or **mv(1)**. You may also setup
|
||
|
a some file server and access it through localhost.
|
||
|
|
||
|
The second variant would be usage of file manager application which supports
|
||
|
Storage Access Framework and is able to attach volumes. Just select "Termux"
|
||
|
volume from menu and you should be able to access home directory.
|
||
|
|
||
|
Sharing data to other applications
|
||
|
-----------------------------------
|
||
|
|
||
|
You may give a temporary read access to certain files stored within
|
||
|
Termux. Use command
|
||
|
|
||
|
termux-open
|
||
|
|
||
|
to do this. You may specify a MIME type by using option "--content-type" when
|
||
|
sharing the file to ensure that it will be opened by correct application.
|
||
|
|
||
|
Similarly to sharing files, you may share URL. You will need to use
|
||
|
command "**termux-open-url**".
|
||
|
|
||
|
Android 11+
|
||
|
-----------
|
||
|
|
||
|
Since Android 11 Termux may not be able to provide the access to shared and
|
||
|
external storage. This is not a bug. Just new restrictions which enforce
|
||
|
storage access over Android API which cannot be used by shell.
|
||
|
|
||
|
From that point you are locked to Termux private directories like $HOME or
|
||
|
such on storage volume:
|
||
|
|
||
|
/storage/self/primary/Android/data/com.termux/files
|
||
|
|
||
|
You still should be able to exchange files with Termux home directory by
|
||
|
accessing Termux virtual volume through File managers supporting Storage
|
||
|
Access Framework.
|
||
|
|
||
|
ENVIRONMENT
|
||
|
===========
|
||
|
|
||
|
Termux exposes some variables set by Android OS as well as its own. Here
|
||
|
is a brief list of default environment variables, their description and
|
||
|
values.
|
||
|
|
||
|
`HOME`
|
||
|
: Path to Termux home.
|
||
|
|
||
|
Termux home directory is a place for user files. It is located at
|
||
|
|
||
|
/data/data/com.termux/files/home
|
||
|
|
||
|
Do not modify the value of this environment variable since Termux
|
||
|
doesn't support customizing location of the home directory.
|
||
|
|
||
|
`PREFIX`
|
||
|
: Termux installation prefix.
|
||
|
|
||
|
A base directory for Termux installation. It is located at
|
||
|
|
||
|
/data/data/com.termux/files/usr
|
||
|
|
||
|
Do not modify the value of this environment variable. Termux packages
|
||
|
are not relocatable. Some of them may also look this variable to find
|
||
|
their files.
|
||
|
|
||
|
`PATH`
|
||
|
: Utility lookup paths for shells.
|
||
|
|
||
|
Used by shells to find command line utilities. By default, it contains
|
||
|
this value:
|
||
|
|
||
|
/data/data/com.termux/files/usr/bin
|
||
|
|
||
|
You may append or prepend your own paths if needed, for example:
|
||
|
|
||
|
export PATH=$PATH:$HOME/bin
|
||
|
|
||
|
But make sure that Termux-specific bin directory location is not missing.
|
||
|
|
||
|
`LANG`
|
||
|
: Locale.
|
||
|
|
||
|
Mimic support of UTF-8 en_US locale, so programs will properly handle
|
||
|
Unicode characters.
|
||
|
|
||
|
Default value is "en_US.UTF-8".
|
||
|
|
||
|
As Termux does not support locales, changing this variable is not
|
||
|
recommended and may have unexpected effects.
|
||
|
|
||
|
FILES
|
||
|
=====
|
||
|
|
||
|
A list of files which have special meaning for the Termux application.
|
||
|
|
||
|
`~/bin/termux-url-opener`
|
||
|
: A script for processing an intent when a third-party application shares
|
||
|
an URL with Termux.
|
||
|
|
||
|
`~/bin/termux-file-editor`
|
||
|
: A script for processing an intent when a third-party application shares
|
||
|
a file with Termux.
|
||
|
|
||
|
`~/storage`
|
||
|
: A directory containing symlinks to shared or external storages and to
|
||
|
certain standard directories.
|
||
|
|
||
|
Do not store files directly under this directory. Put them to locations
|
||
|
accessible through symlinks instead.
|
||
|
|
||
|
`~/.termux/termux.properties`
|
||
|
: Application configuration file.
|
||
|
|
||
|
`~/.termux/colors.properties`
|
||
|
: A configuration file containing a color scheme for styling the terminal.
|
||
|
Usually is generated by Termux:Styling add-on.
|
||
|
|
||
|
`~/.termux/font.ttf`
|
||
|
: A file containing TTF font data for styling the terminal.
|
||
|
Usually is generated by Termux:Styling add-on.
|
||
|
|
||
|
BUGS
|
||
|
====
|
||
|
|
||
|
Report application issues to https://github.com/termux/termux-app/issues.
|
||
|
|
||
|
Package-related issues should be reported to https://github.com/termux/termux-packages/issues.
|
||
|
|
||
|
SEE ALSO
|
||
|
========
|
||
|
|
||
|
Complete and up-to-date infomation about Termux usage is available on Termux
|
||
|
Wiki here: https://wiki.termux.com/wiki/Main_Page.
|