https://github.com/rohitkushvaha01/reterminal
A Simple Android Terminal Emulator
https://github.com/rohitkushvaha01/reterminal
adb adb-shell bash shell terminal terminal-app terminal-emulator terminal-emulators termux
Last synced: 6 months ago
JSON representation
A Simple Android Terminal Emulator
- Host: GitHub
- URL: https://github.com/rohitkushvaha01/reterminal
- Owner: RohitKushvaha01
- License: mit
- Created: 2024-12-14T09:10:50.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-03-08T05:06:48.000Z (7 months ago)
- Last Synced: 2025-04-02T23:11:24.321Z (6 months ago)
- Topics: adb, adb-shell, bash, shell, terminal, terminal-app, terminal-emulator, terminal-emulators, termux
- Language: Kotlin
- Homepage:
- Size: 7.83 MB
- Stars: 148
- Watchers: 5
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ReTerminal
**ReTerminal** is a sleek, Material 3-inspired terminal emulator designed as a modern alternative to the legacy [Jackpal Terminal](https://github.com/jackpal/Android-Terminal-Emulator). Built on [Termux's](https://github.com/termux/termux-app) robust TerminalView> [!IMPORTANT]
ReTerminal is neither a fork nor a replacement for Termux.[
](https://f-droid.org/packages/com.rk.terminal/)
Or download the latest APK from the [Releases Section](https://github.com/RohitKushvaha01/ReTerminal/releases/latest).
# Features
- [x] Basic Terminal
- [x] Virtual Keys
- [x] Multiple Sessions# Screenshots
![]()
![]()
![]()
## Community
> [!TIP]
Join the reTerminal community to stay updated and engage with other users:
- [Telegram](https://t.me/reTerminal)# FAQ
### **Q: Why do I need Shizuku to run Alpine?**
**A:** ReTerminal targets the latest Android API, which enforces **W^X (Write XOR Execute)** restrictions. This means files downloaded or created in regular app directories can't be executed directly. However, **Shizuku** provides access to `/data/local/tmp`, which has executable permissions. ReTerminal uses this to bypass the restriction and allow running binaries.---
### **Q: Why do I get a "Permission Denied" error when trying to execute a binary or script?**
**A:** This happens because ReTerminal runs on the latest Android API, which enforces **W^X restrictions** — meaning files can either be writable or executable, but not both. Since files in `$PREFIX` or regular storage directories can't be executed directly, you need to use one of the following workarounds:---
### **Option 1: Use the Dynamic Linker (for Binaries)**
If you're trying to run a binary (not a script), you can use the dynamic linker to execute it:```bash
$LINKER /absolute/path/to/binary
```- **32-bit**: `LINKER=/system/bin/linker`
- **64-bit**: `LINKER=/system/bin/linker64`✅ **Note:** This method won't work for **statically linked binaries** (binaries without external dependencies).
---
### **Option 2: Use `sh` for Scripts**
If you're trying to execute a shell script, simply use `sh` to run it:```bash
sh /path/to/script
```This bypasses the need for execute permissions since the script is interpreted by the shell.
---
### **Option 3: Use Shizuku for Full Shell Access (Recommended)**
If you have **Shizuku** installed, you can gain shell access to `/data/local/tmp`, which has executable permissions. This is the easiest way to run binaries without restrictions.1. **Login as the shell user:**
```bash
sh $PREFIX/bin/rish
```2. **Move your binary to `/data/local/tmp` (which has execute permissions):**
```bash
mv /path/to/binary /data/local/tmp
```3. **Grant execute permissions:**
```bash
chmod +x /data/local/tmp/binary
```4. **Execute your binary:**
```bash
cd /data/local/tmp
./binary
```## Find this app useful? :heart:
Support it by giving a star :star:
Also, **__[follow](https://github.com/Rohitkushvaha01)__** me for my next creations!