Giter Club home page Giter Club logo

anotherterm's Introduction

AnotherTerm

Local PTY, USB and Bluetooth serial ports, SSH and Telnet terminal client for Android.

Highlights

  • Local PTY, USB and Bluetooth serial (UART) ports, SSH and Telnet support in the same application;

  • Adequate screen input methods as long as a terminal requires specific keyboard functions;

  • Ability to set fixed screen columns and/or rows numbers.

Features

Dependencies

Cryptography usage note

The only part of this application that touches on cryptography is the SSH client used to communicate with remote systems. Currently this is provided by the JSch library.

This application is self-classified under ECCN 5D992 with the encryption authorization type identifier MMKT.

Disclaimer

It's unlawful to provide this application to or use by the prohibited entities listed in https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations and https://www.bis.doc.gov/index.php/policy-guidance/lists-of-parties-of-concern.

The copyright holder and contributors are not responsible for any actions of any parties and their consequences related to the aforementioned regulation.

anotherterm's People

Contributors

green-green-avk avatar izzysoft 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

anotherterm's Issues

only crashes when run on Android < 4.4

Android 4.1.2 only here (because of the hardware keyboard!).
The crash seems to caused by some use of java.lang.Objects (from green_green_avk.anotherterm.App.onCreate()), which is only available as API 19: https://developer.android.com/reference/java/util/Objects

I can provide more logs if needed, please just tell me which log level or regex filter I should use.

If you need a tester for 4.1, please do throw debug builds at me (even unsigned ones), I would be glad to help!

AnotherTerm seems to be the only replacement for GNURoot and KBox and for devices too old to run Termux, thank you for that! 👍

Text direction

Connecting to a VT220 telnet host displaying Hebrew language, the text displayed in the wrong direction -

image

Trying this with another app, it displayed correctly -

image

It'll be great if you could fix it.
To reproduce this I captured this screen to a file -
1.txt
Then sent it as HEX to the app.

Thanks

Input chars duplication with some IMEs

The hardware-keyboard-equipped device is a Samsung Galaxy Stratosphere II (AKA SCH-I415) with Android 4.1.2 (not rooted).

The problem only occurs with AnotherTerm AFAICS, at least he following apps are fine (I linked where I got them from):

Originally posted by @guillaume-d in #8 (comment)

armeabi-v7a re-support

I can't install Linux under PRoot, can you please support armeabi-v7a again? Otherwise I won't be able to use your application, which I mainly use to learn programming. If not, thank you for your incredible work!

Mapping of (built-in) hardware keyboard keys as modifiers

...

May be we need also to think about possible remapping Alt and mapping Ctrl and Insert somewhere?

I do not mind about losing Insert or even Alt, but having Ctrl is crucial, and (at least in Vi) it can also compensate for other missing keys (Esc: Ctrl-C, Tab: Ctrl-I).
Some way of mapping physical keys or buttons to PC keys would be perfect, even when only over a textual configuration file. The Key Mapping Editor might already support this, but I am currently unsure how to use it, more documentation about it could help.
One should be able to map at least Volume-Up, Volume-Down and Back (should be present on many devices), ideally also the hardware keyboards' exotic keys ("Search", "Chat", web (sic!) and OK keys here) by entering their key code.
I won't push it 😉 by asking for the Menu button which is probably almost nowhere else to be found nowadays, or for the Power and Home ones which IIRC need convoluted tricks...

Originally posted by @guillaume-d in #11 (comment)

...
Here you are then:

  • "Search" is KEYCODE_SEARCH
  • "Chat" outputs nothing at all in the IME Test app, but directly opens the stock Messaging app, so that one key is probably hopeless
  • web: same as above (opens the stock web browser app)
  • OK is KEYCODE_DPAD_CENTER
  • ...and Menu is KEYCODE_MENU as one would expect

(Please tell me if you'd need more logs from the IME Test app.)

However listing each and every physical key Android ever defined for mapping in the UI might be too much given the few users concerned.
(Note that the other apps listed in #10 all do something similar but all leave out some keys that nobody claimed, and their UI is already pretty crowded.)

As said in #11 (comment) a more generic solution might be more appropriate: I for one would not mind having to install IME Test and copy part of the results from there during the initial configuration to get my own keys working.

Originally posted by @guillaume-d in #11 (comment)

Alternative download source

With your app being open source and free of trackers: would you consider making it available outside the walled garden of Google Play as well, e.g. by attaching it to your releases/ here – for those who cannot (Huawei devices) or do not want to ("tin foils") access Play Store? Thanks in advance!

Built-in command to operate android clipboard

since such command has not been implemented, when copying text from terminal you will encounter some problems, for instance, with micro editor, you will be copying line numbers and the chopped text shown on screen. thus currently i have written a plugin for micro editor to copy selection to android clipboard.

https://github.com/zongou/micro-androidtool
clone and place that plugin dir in ~/.config/micro/plug/
copy_text_within_micro_editor

and a command tool
https://gist.github.com/zongou/5a6a6e58c2cc621209ce259e224cdb78
command_tool

Crash on version MkIIIv38 and upwards- android 4.4.4

I installed the app from google playstore. After creating a shell profile i clicked to run it, but as soon as i clicked the app crashed. So then i seach for the project( amazing by the way) , and tried alll previos versions up to MkIIIv37 which ran perfectly (i am currently running it). Am not sure if the problem is my phone.
Phone : Samsung galaxy tab 3 lite sm-t116, kernel version 3.10.17, android 4.4.4, rooted with super su.

Audio in graphical session

Are there any suggestions for how audio might work in a proot graphical session? I tried running pulseaudio and pacmd unsuccessfully in a Debian bullseye session. I thought I might be able to stream to the app pulsedroid. Thanks!

Audio Support

Greetings! I'm an IT student utilizing your app to delve into programming in general. In this second term, we're exploring the creation of GUIs in Java using Swing and venturing into crafting a 2D game for finals. Luckily, AnLinux provides helpful scripts for running a Window Manager (via VNC) inside the proot, allowing me to experiment with GUIs. The challenge, however, lies in playing audio/sound. Could you guide me step-by-step on achieving this? Is it possible within the VNC environment? Your assistance would be greatly appreciated.

PRooted Debian Bullseye: aptitude fails to install a package

root@localhost:~# aptitude install xwayland
[ ERR] Writing extended state information
[ ERR] Building tag database
E: failed to rename /var/lib/aptitude/pkgstates to /var/lib/aptitude/pkgstates.old - save_selection_list (1: Operation not permitted)

"cannot access" error using ls in debian proot

Hello, thanks for the program! I am trying to start wayland via the github mk1v release. I am going through the debian install process and ran into some install issues

I get for example ls: cannot access 'wlstart-WM': No such file or directory when listing files under debian-bullseye proot from linuxcontainers. Works otherwise, but I'm not sure if it's something that can be fixed. This does not happen with alpine 3.14 though. This issues happens with the release version of anotherterm and the mkiv version for me.

Another issue I encountered that I'm not sure is related was that the install script for ubuntu focal from linuxcontainers fails as below:

Actual name: linuxcontainers-ubuntu-focal

To uninstall: run `rm -rf "$DATA_DIR/proots/linuxcontainers-ubuntu-focal"'

Creating favorites...
Done.

Arch: aarch64
Variant:
Root FS: ubuntu focal

Source: https://us.images.linuxcontainers.org//images/ubuntu/focal/arm64/default/20211018_13:48//rootfs.tar.xz

Getting Linux root FS...
20.867 MiB / 88.323 MiB of https://us.images.linuxcontainers.org//images/ubuntu/focal/arm64/default/20211018_13:48//rootfs.tar.xzPathname can't be converted from UTF-8 to current locale.
20.922 MiB / 88.323 MiB of https://us.images.linuxcontainers.org//images/ubuntu/focal/arm64/default/20211018_13:48//rootfs.tar.xz
write failed: EPIPE (Broken pipe)
Possibly URL was changed: recheck on the site.
Setting up run script...
Configuring...
./install-linuxcontainers.sh[401]: can't create bin/termsh: No such file or directory
1|:/data/data/green_green_avk.anotherterm.redist $

Thanks!

Any plan to implement termux boot like plugin and features.

Termux is nice but that's not support in android 4, I use terminal emulator in my old phone and that application doesn't support this features, I doesn't carry them I just sshing into them with termux but in case if it discharged I have to setup it again all the procedure.
I host a simple golang web file manager in that .

Thanks :)

.bashrc .shrc or other

Привет всем,
в какой файл надо записывать alias? Просто у меня так
Screenshot_20210903-185150
не работает. Прошу прощения если что не так.
С уважением Gintaras Martinaitis.

Script for linuxcontainers.org does not work for debian buster on Android 4.4

Hello,

I have a tablet with Android 4.4.2 that I want to use AnotherTerm on. AnotherTerm itself seems to run fine, but I have some issues with the install-linuxcontainers script. I followed the guide on here.

I tried to install the root filesystem for debian buster (I also tried debian bulseye, ubuntu, gentoo and those all fail with a similar error; alpine does work fine however).

The first issue was that the script failed on line 362 because the folder etc/profile.d did not exist. This is easily remedied by adding a mkdir -p etc/profile.d.

The second issue is that there seems to be a problem with unpacking the root filesystem. I get the error -25: 9: chdir() failure. After the error, the script continues, but the terminals into the root file system immediately stop after being started. With certain root file systems I get an additional error Pathname can't be converted from UTF-8 to current locale.

Any ideas on what is going wrong and how it could be fixed?

thanks,
Ruben

Shared Memory Error: Can't run Firefox & Falkon

I'm encountering an issue with shared memory on my non-rooted Android phone running AnLinux Debian rootfs armhf.
Despite a potential lapse in installing shared memory APIs emulation, Xwayland seems to be functioning.

I attempted an upgrade to bookworm, but the problem persists.
Any insights or guidance would be greatly appreciated.

994f51f3-b830-45a3-9250-748c892cc575

my_acct@localhost:~# echo $LIBWRAPDROID_SOCKET_NAME
green_green_avk.anotherterm.oldgood.reswrap.41ab53acf87b4834b520769ff6ed4e45

my_acct@localhost:~# echo $LIBWRAPDROID_AUTH_KEY
b3625515eeec4055b22a3a8c9fcfa077

my_acct@localhost:~# echo $LD_PRELOAD
/opt/shm/lib/libwrapdroid-shm-sysv.so:/opt/shm/lib/libwrapdroid-shm-posix.so

my_acct@localhost:~# falkon
falkon: error while loading shared libraries: libx264.so.160: cannot enable executable stack as shared object requires: Permission denied

my_acct@localhost:~# firefox-esr
[Parent 8028, Main Thread] WARNING: read-only dup failed (Permission denied); not using memfd: file ./ipc/chromium/src/base/shared_memory_posix.cc:255
[Parent 8028, Main Thread] WARNING: failed to open shm: Permission denied: file ./ipc/chromium/src/base/shared_memory_posix.cc:361
[Parent 8028, Main Thread] WARNING: failed to open shm: Permission denied: file ./ipc/chromium/src/base/shared_memory_posix.cc:361
ExceptionHandler::GenerateDump cloned child 8071
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child

my_acct@localhost:~# neofetch
       _,met$$$$$gg.          my_acct@localhost
    ,g$$$$$$$$$$$$$$$P.       --------------
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 11 (bullseye) armv8l
 ,$$P'              `$$$.     Kernel: 4.9.190-perf-gd642c72
',$$P       ,ggs.     `$$b:   Uptime: 19716 days, 9 hours, 16 mins
`d$$'     ,$P"'   .    $$$    Packages: 892 (dpkg)
 $$P      d$'     ,    $$P    Shell: bash 5.1.4
 $$:      $$.   -    ,d$$'    Terminal: libproot.so
 $$;      Y$b._   _,d$P'      CPU: MT6762G (8) @ 2.001GHz
 Y$$.    `.`"Y$$$$P"'         Memory: 1029MiB / 1777MiB
 `$$b      "-.__
  `Y$$
   `Y$$.
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

my_acct@localhost:~# apt search falkon | grep "falkon"
falkon/oldstable,now 3.1.0+dfsg1-11 armhf [installed]

my_acct@localhost:~# apt search firefox-esr | grep "firefox-esr"
firefox-esr/oldstable-security,now 115.6.0esr-1~deb11u1 armhf [installed]

my_acct@localhost:~# echo $APP_VERSION
MkIV-dev52

my_acct@localhost:~# echo $MY_DEVICE_ABIS
armeabi-v7a armeabi

my_acct@localhost:~# echo $MY_ANDROID_SDK
29

On the session running Xwayland (I have a hard time describing the screenshot below),
there is an error that seems to occur only specifically when trying to start firefox-esr.
In addition, the Falkon release on Debian bookworm presents a bug related to /dev/shm permissions,
with a suggested solution of changing the permission of this path to 1777.

20335380-0c5e-4b2e-96a9-7e1bb97bdb26

Helper: Starting...
=! Can't get peer creds: Invalid argument
=! Can't get peer creds: Invalid argument
=! Can't get peer creds: Invalid argument
=! Can't get peer creds: Invalid argument
=! Can't get peer creds: Invalid argument
=! Can't get peer creds: Invalid argument

I'm not sure if this is relevant, but I got an stderr message while running ( S=install-libwrapdroid.sh ; "$TERMSH" copy -f -fu "https://raw.githubusercontent.com/green-green-avk/AnotherTerm-scripts/master/$S" -tp . && chmod 755 $S && ./$S )

debconf: delaying package configuration, since apt-utils is not installed
Cloning into 'libwrapdroid'...
server.c: In function 'main':
server.c:396:20: warning: unused parameter 'argc' [-Wunused-parameter]
  396 | int main(const int argc, char **const argv) {
      |          ~~~~~~~~~~^~~~
server.c:396:39: warning: unused parameter 'argv' [-Wunused-parameter]
  396 | int main(const int argc, char **const argv) {
      |                          ~~~~~~~~~~~~~^~~~
At top level:
server.c:69:12: warning: 'readString' defined but not used [-Wunused-function]
   69 | static int readString(const int sock, char *const buf, const uint16_t len) {
      |            ^~~~~~~~~~
server.c:65:12: warning: 'writeField' defined but not used [-Wunused-function]
   65 | static int writeField(const int sock, const void *const v, const size_t l) {
      |            ^~~~~~~~~~
common.c: In function 'sendFds':
common.c:61:10: warning: variable-length array bound is unknown [-Wvla-larger-than=]
   61 |     char cmsg_buf[cmsg_space] __attribute__((aligned(_Alignof(struct cmsghdr))));
      |          ^~~~~~~~
In file included from shm-sysv.c:7:
common-cli.h:22:12: warning: 'writeString' defined but not used [-Wunused-function]
   22 | static int writeString(const int sock, const char *const v) {
      |            ^~~~~~~~~~~
common-cli.h:18:12: warning: 'writeU32' defined but not used [-Wunused-function]
   18 | static int writeU32(const int sock, const uint32_t v) {
      |            ^~~~~~~~

Serial write HEX data

I'm trying to use the serial command which $TERMSH provides and it does work well for normal text characters.
Is it possible to have a HEX mode? When I use the app "Serial USB Terminal" from the PlayStore, there is a setting to set "Text" or "HEX" mode.

My goal is to proxy requests over HTTP to Serial which will be very convenient and efficient rather than implementing it in Java/Kotlin for specific apps.

Unable to access CTAP2 device to backup in Debian PRoot

On the plus side, I was able to dump a full device backup in the regular backup mode, unfortunately I haven't been able to perform an export or import which is more useful than full backup for adding new entries while away from a PC.

It is possible that there is a special U2F or security key permission that needs requested to interact with that aspect of the device. The Yubikey Authenticator app might have an example of that permission even though it's a different device.

This first section is the output from the PRoot, I'll add the lsusb from a working Linux install shortly.

(venv) root@localhost:~/xous-core/apps/vault/tools/vaultbackup-rs# lsusb
Bus 002 Device 005: ID 1209:3613 Generic
(venv) root@localhost:~/xous-core/apps/vault/tools/vaultbackup-rs# cargo run backup password backup.json
   Compiling indexmap v1.9.1
   Compiling proc-macro-error-attr v1.0.4
   Compiling hidapi v1.4.1
   Compiling proc-macro-error v1.0.4
   Compiling ctaphid v0.1.1
   Compiling protobuf-parse v3.1.0
   Compiling clap_derive v3.2.7
   Compiling protobuf-codegen v3.1.0
   Compiling clap v3.2.12
   Compiling vaultbackup-rs v0.1.0 (/root/xous-core/apps/vault/tools/vaultbackup-rs)
warning: could not load dep-graph from `/root/xous-core/target/debug/incremental/build_script_build-3lraug2goa318/s-gnoqpkxkpv-ixe1ek-working/dep-graph.bin`: memory map must have a non-zero length

warning: `vaultbackup-rs` (build script) generated 1 warning
warning: could not load dep-graph from `/root/xous-core/target/debug/incremental/vaultbackup_rs-30h2kapme4mw8/s-gnoqpo1bm5-xm1t8c-working/dep-graph.bin`: memory map must have a non-zero length

warning: `vaultbackup-rs` (bin "vaultbackup-rs") generated 1 warning
    Finished dev [unoptimized + debuginfo] target(s) in 21.97s
     Running `/root/xous-core/target/debug/vaultbackup-rs backup password backup.json`
Error: no CTAP2 devices found
(venv) root@localhost:~/xous-core/apps/vault/tools/vaultbackup-rs# lsusb
Bus 002 Device 005: ID 1209:3613 Generic
(venv) root@localhost:~/xous-core/apps/vault/tools/vaultbackup-rs# lsusb -v

Bus 002 Device 005: ID 1209:3613 Generic
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x1209 Generic
  idProduct          0x3613
  bcdDevice            0.10
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              4 U2F Token
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      34
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x000c
  bNumDeviceCaps          1
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000000
      (Missing must-be-set LPM bit!)
Device Status:     0x0000
  (Bus Powered)
(venv) root@localhost:~/xous-core/apps/vault/tools/vaultbackup-rs#

Weird error when trying to execute sh ./repo-linuxcontainers.sh

Got this error:
u0_a1251@A37f:/data/data/green_green_avk.anotherterm.oldgood $ sh ./repo-linuxcontainers.sh aarch64 WARNING: linker: Unsupported flags DT_FLAGS_1=0x8000001 WARNING: linker: /data/app/green_green_avk.anotherterm.oldgood-1/lib/arm64/libtermsh.so: unused DT entry: type 0x6ffffef5 arg 0x7b0 WARNING: linker: /data/app/green_green_avk.anotherterm.oldgood-1/lib/arm64/libtermsh.so: unused DT entry: type 0x6ffffffe arg 0x78c WARNING: linker: /data/app/green_green_avk.anotherterm.oldgood-1/lib/arm64/libtermsh.so: unused DT entry: type 0x6fffffff arg 0x1 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Anything else - exit :

Question regarding shared memory Android 11 in debian proot

Hi. I'm trying to install wayland support on a debian bullseye proot. I have the mkiv beta latest release.

I have installed the scripts according to the instructions I believe. First libwrapdroid and then I run the commands:

export LIBWRAPDROID_SOCKET_NAME=mysocket
export LIBWRAPDROID_AUTH_KEY=1234567890987654 # not less than 16 hexidecimal digits
export LD_PRELOAD="/opt/shm/lib/libwrapdroid-shm-sysv.so:/opt/shm/lib/libwrapdroid-shm-posix.so${LD_PRELOAD:+:$LD_PRELOAD}"
/opt/shm/bin/libwrapdroid-server & #because I need to background this as the command does not return to prompt

Then I run the execute commands listed:

/system/bin/sh \
"$DATA_DIR/proots/linuxcontainers-debian-buster/run" \
0:0 ./wlstart-X | \
/system/bin/sh \
"$DATA_DIR/proots/linuxcontainers-debian-buster/run" \
'' ./wlstart-WM

and I get the following output

CANNOT LINK EXECUTABLE "CANNOT LINK EXECUTABLE "/system/bin/sh/system/bin/sh": ": library "libpthread.so.0" not found: needed by /opt/shm/lib/libwrapdroid-shm-sysv.so in namespace (default)library "libpthread.so.0" not found: needed by /opt/shm/lib/libwrapdroid-shm-sysv.so in namespace (default)

I also did an ls to see if libpthread exists, and I get the below, which is also unclear to me because it says it is not there but it is. Actually, that is another issue for the proot, but I'm not sure it is related. I get this error for all the files in /lib. This doesn't happen for ubuntu focal proot:

ls: cannot access '/lib/aarch64-linux-gnu/libpthread.so': No such file or directory

physical keyboard's Fn key ineffective

On my physical keyboard (QWERTY with Spanish letters) I cannot type any non-ASCII characters and most non-alphanumeric ASCII characters, because they are only accessible using a physical Fn key, which ATM does not work. This is broken only in AnotherTerm, the other apps listed in #10 work as expected.
BTW some Fn+letter combinations seems to have some effect:

  • some "ring" the visual green bell at the right end of the line
  • some delete the whole command line

I cannot find any pattern about which does what.

Originally posted in #10 (comment)

Graphical session screen keyboard

It needs to be fully implemented.
It seems, it should look like a set of switchable keyboards:

  • Text input ANSI terminal like keyboard: each symbol generates a couple of down/up events surrounded by appropriate modifier keys down/up events.
  • Action keyboard: down/up events are emitted as keys pressed/released and thus no gesture input is possible.
  • Android IME: behavior is similar to text input ANSI terminal like keyboard.

Legacy Public Storage access and Android 10/11 restrictions

The reason: https://developer.android.com/about/versions/11/privacy/storage

Yes, I'm a bit "late" with this topic and I see no reason to mess with requestLegacyExternalStorage attribute as it is obsolete in Android 11.
The reasons are following:

I'm waiting for some suggestions, advices, attempts to change my mind.

Yes, I'm aware of the previous experience:

Suggestion: the selection pop-up menu in the terminal

First of all, thank you for creating this great app.
When I use Terminal, the selection menu pops up after a single tap, which bothers me a little bit.
It would be nice if the selection menu pops up after a long press.

Thank you for your time.

About wayland scanner (scan.py) and source generating

Hi.
I found out you are using pre-generated java files. I think you can try to generate them on demand.
To do this you can rewrite scan.py in Java or Groovy. I did this for my project. This script can be included from build.gradle.
Close this if you are not interested.

lsusb after libusb setup crashes debian bookworm root session

I'm trying to interface with a USB device and Termux wasn't really helping, so when I found your excellent tool I decided to try it out. My first attempt with Alpine had some other issues with the software I was trying to compile but I got things built under Debian, but now when I try to list the devices I get the permission prompt and can accept it, and it prints the correct device info, but then immediately kills the session which must close the USB connection because running the compiled application in a new session reports it can't find a compatible device.

To add a few more details, the device I'm attempting to access presents various HID interfaces for programming and interacting with the device, I've been able to interact with it from Linux easily, from a Chromebook with a couple limitations in the Crostini Linux apps environment, and now Android is my next battlefield.

lsusb
https://photos.app.goo.gl/gMNgYaLzggH4hCYa8

with -v and -d 1209:
https://photos.app.goo.gl/jy4J3hiTwzq6MTxz8

Changing native modifier keys behavior feature

...
If only Fn when emulating Alt could behave the same as described above, or at least do not need holding before pressing the modified key, Another Term would have the best keyboard mapping ever seen on Android! 🤞
(Sorry I did not mention that earlier, it only became apparent when using the app for real dev tasks.)
...

Originally posted by @guillaume-d in #12 (comment)

Support styled and colored underlines

Hi, I'm not currently an AnotherTerm user, I'm currently using Termux. There's a feature I'm missing on Termux which you might be interested at implementing here, given that I see development is actually more active here than there at the moment.

See: termux/termux-app#870

Kerberos authentication support by the SSH client

JSch Kerberos authentication implementation relies on org.ietf.jgss package that seems absent in Android.
The official Java implementation by Sun is licensed under GPLv2.

I'll try to find some solution... Any advice would be appreciated.
🤔

The Google w^x security policy

A long time ago in a galaxy far, far a Milky Way.... Google forces...

From August 2020, new apps must target at least Android 10 (API level 29).
From November 2020, app updates must target Android 10 (API level 29).

The preliminary plan is to split the application into two:

  • Still targeted API 28 and published here.
  • Targeted API 29 and has a built-in PRoot.

versionCode and releases

It seems that since MkIIIv34, versionCode was never increased: it's still stating 90. As Android uses this to tell versions apart, new releases are never announced to the user.

Further, the current tag naming makes it hard to automatically fetch updates (I just noticed today that I missed quite a few of them, as MkIIIv34 compared against MkIV_dev20_release was interpreted as 34 > 20 and thus the new tag being ignored). Can you please clarify the difference between MkIII and MkIV? Looks like these are two "branches" released at the same time.

For fetching updates it would help enormously having tag names with clear versioning as well as corresponding versionName or versionCode (you could e.g. use prefixes as you currently seem to do: mkiii_<versionCode> and mkiv_<versionCode> would be great as that way you cannot forget increasing it either 😉)

Thanks in advance!

Edit: I've now defined MkIIIv as prefix with my metadata, and that seems to do the trick for the automatic updates, but due to the unchanged versionCode they won't be brought to the users' attention (no update announcement).

[FR] Use system (or hardware) keyboard first

Please add an option to use system (hardware) keyboard first.

Someone may want use MessagEase by default, it has ctl/esc keys and is far more convenient
for one hand input. Also there are bluetooth/deskdock keyboards, which do not use screen space.

snippet for linuxcontainers.org aborts with: open() fails with errno=21

The snippet ( S=install-linuxcontainers.sh ; "$TERMSH" copy -f -fu "https://raw.githubusercontent.com/green-green-avk/AnotherTerm-scripts/master/$S" -tp . && chmod 755 $S && ./$S -a alpine 3.10 ) generated from https://green-green-avk.github.io/AnotherTerm-docs/installing-linux-under-proot.html#main_content fails here on Android 4.1.2:

.: open() fails with errno=21. Note I only tested it with Alpine 3.10 and 3.12 though.

AFAICS no warning or error logs were emitted while the command ran with the MkIIIs release build.

Workaround used:

  1. first download the script manually (using a web browser, the device's curl or some other means)
  2. then run it with sh /path/to/install-linuxcontainers.sh -a [...].

[FR] Add ability to have hook script when toggling android on screen keyboard

First of all, I really like your app. Termux is good but it does not support using in different profile. This app fits my requirement and it even has minimal wayland compositor for running x11 app.

My problem is when I toggle the android keyboard on the app with a x11 desktop, the desktop screen will be covered by the keyboard, so it is natural to just limit the resolution to a smaller size so that the keyboard can only cover the empty space on the x11 desktop. If it is possible to run a script when toggling the on screen keyboard, it can change resolution according to the status of the on screen keyboard.

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.