-
-
Notifications
You must be signed in to change notification settings - Fork 13
ITerm
ITerm
is a Qt-native terminal emulator app using
libvterm
for interacting with a virtual TTY.
Download
ITerm.zip
and unzip it in [onboard-storage]/.apps/
.
Important: If you plan to interact with programs that are using the
HTTPS technology, you must add 0
to the RequiredFeatures
array of
ITerm's app.json
(located in [ITerm.zip]/ITerm/app.json
) so that it
will mount SSL certificates to the container, otherwise, it won't work.
ITerm runs in a containerized environment by default and thus, the
provided userspace is quite limited. You can use various busybox
commands, such as editing a file with vi
or watching the process list
with top
.
You can SSH or telnet to external hosts from the local environment, for example:
$ ssh [email protected]
or:
$ telnet some.hosts.ip.address
Should you want, for some reason, to access the current ITerm CLI environment via SSH from an external computer, you may do so by invoking the following commands in ITerm itself:
$ mkdir -p /app-data/.ssh
$ dropbearkey -f /app-data/.ssh/id_dropbear
$ dropbear -r /app-data/.ssh/id_dropbear -p 8900
This will start an SSH server on port 8900.
To access it:
user@computer $ ssh -p 8900 [email protected]
[email protected]'s password: <type 'user' here>
$ export PATH="/app-bin:/system-bin" HOME="/app-data"
Should you want, for some reason, to access the current ITerm CLI environment via telnet from an external computer, you may do so by invoking the following command in ITerm itself:
$ telnetd -l /system-bin/sh -p 8900
This will start a telnet server on port 8900.
ITerm is an unique user application in the way that the GUI user
applications system
service
specially looks for extensions made for it. For example, if you like the
Matrix protocol and you'd like to get
gomuks working on ITerm, you can.
ITerm is probably the only app in InkBox OS that doesn't require signed extensions because privilege escalation risk from other binaries should be pretty low (since it runs in an unprivileged chroot).
As such, to prepare and install your own extension, you can follow these steps:
- In an empty folder, create two subdirectories, named
bin
andlib
. - Put your extension's binaries and libraries in the appropriate directories.
- Package it with the following command, assuming you are in the root
directory of the future extension:
mksquashfs . ../my-extension.isa -b 1048576 -comp xz -Xdict-size 100% -always-use-fragments
. This filename cannot contain spaces or special characters. - In your device's mass storage, head over to
.apps-data
. - Create a directory named
extensions
if it doesn't already exist. - Copy the
*.isa
file you created earlier in this directory. - When you launch ITerm again, the contents of your extension should
appear in
/app-data/extensions/my-extension/
.