yvex.app

yvex

In developmentIn Entwicklung

Real Alpine Linux on your iPhone, designed around iPhone Duo. Echtes Alpine Linux auf dem iPhone, ausgelegt auf das iPhone Duo.

A terminal is where you type commands instead of tapping: run scripts, edit files, look after servers. Yvex runs that on the phone itself, without a server and even offline. Next up for the Duo: one terminal when it is closed, two side by side when it opens, and nothing lost when you fold it.

Im Terminal gibst du Befehle über die Tastatur ein, statt auf Knöpfe zu tippen: Skripte starten, Dateien bearbeiten, Server pflegen. Yvex macht das direkt auf dem Telefon, ohne Server und auch ohne Netz. Als Nächstes kommt fürs Duo: zugeklappt ein Terminal, aufgeklappt zwei nebeneinander, und beim Klappen geht nichts verloren.

StatusStand Private testing. No public beta and no App Store release yet. Like iSH, it runs on other iPhones too; the two-screen layout needs the Duo. Private Testphase. Noch keine öffentliche Beta und nichts im App Store. Wie iSH läuft Yvex auch auf anderen iPhones; die Ansicht mit zwei Bildschirmen braucht das Duo.

Preview: foldingVorschau: Klappen

A drawing of the planned Duo layout, not a screenshot.Eine Zeichnung der geplanten Duo-Ansicht, kein Bildschirmfoto.

Alpine, emulatedAlpine, emuliert

Works in testingLäuft im Test

Yvex runs Alpine Linux for 32-bit x86 in an emulator on the iPhone itself, with Alpine's own packages and no server in between. The shell works offline; apk installs more when you are online. This part is iSH, unchanged.

Yvex führt Alpine Linux für 32-Bit-x86 in einem Emulator direkt auf dem iPhone aus, mit den Paketen von Alpine und ohne Server dazwischen. Die Shell läuft ohne Netz; apk installiert mehr, sobald du online bist. Dieser Teil ist iSH, unverändert.

Quick referenceKurzreferenz

apk update
refresh the package listPaketliste auffrischen
apk search vim
find a packagePaket suchen
apk add git
install itinstallieren
apk del git
remove it againwieder entfernen
uname -m
i686, emulated x86i686, emuliertes x86

There is no Linux kernel underneath: Yvex translates system calls, so Docker, kernel modules and some low-level tools do not work. iOS does not let apps generate machine code at runtime, so x86 code runs well below native speed. Scripts, vi, git and small Python jobs are fine; compiling large projects takes a long time. As with iSH, iOS can pause programs while the app is in the background.

Darunter läuft kein Linux-Kernel: Yvex übersetzt Systemaufrufe, deshalb gehen Docker, Kernelmodule und manche systemnahen Werkzeuge nicht. iOS erlaubt Apps nicht, zur Laufzeit Maschinencode zu erzeugen, deshalb läuft x86-Code deutlich langsamer als nativ. Skripte, vi, git und kleine Python-Aufgaben gehen gut, große Projekte zu kompilieren dauert lange. Wie bei iSH kann iOS Programme anhalten, solange die App im Hintergrund ist.

Where it standsWo Yvex steht

Today:Heute: in development, tested privately on one iPhone Duo. Right now Yvex is iSH under its own name, and the first goal is that everything iSH does keeps working. in Entwicklung, privat getestet auf einem iPhone Duo. Im Moment ist Yvex iSH unter eigenem Namen, und das erste Ziel ist, dass alles weiter geht, was iSH kann.

No download, no beta sign-up, no release date.Kein Download, keine Beta-Anmeldung, kein Veröffentlichungsdatum.

  1. Own appEigene App nowjetztname, icon, private test buildName, Symbol, private Testversion
  2. Duo basicsDuo-Grundlagenboth screens, every position, the keyboardbeide Bildschirme, jede Stellung, die Tastatur
  3. Tabs and splitsTabs und Splitsseveral shells in one windowmehrere Shells in einem Fenster
  4. SSHsessions on your own serversSitzungen auf eigenen Servern
  5. Public releaseVeröffentlichungnot decided yet; the source goes public firstnoch nicht entschieden; vorher werden die Quellen öffentlich

UpdatedStand vom .

Made for the foldGemacht fürs Klappen

PlannedGeplant

iPhone Duo folds open into two halves. Yvex is meant to use both, in all three positions.

Das iPhone Duo klappt zu zwei Hälften auf. Yvex soll beide nutzen, in allen drei Stellungen.

  • ClosedZugeklapptOne terminal, full size on the outer screen.Ein Terminal in voller Größe auf dem Außenbildschirm.
  • OpenAufgeklapptTwo terminals side by side. The crease separates them instead of running through the text.Zwei Terminals nebeneinander. Der Knick trennt sie, statt mitten durch den Text zu laufen.
  • Half openHalb offenTerminal on top, keyboard with extra keys below.Oben das Terminal, unten die Tastatur mit Zusatztasten.

Folding and unfolding should lose nothing: what you typed, what is on screen and where the cursor is all stay put, and running programs keep running.

Beim Auf- und Zuklappen soll nichts verloren gehen: Eingabe, Bildschirminhalt und Cursor bleiben, wo sie waren, und laufende Programme laufen weiter.

Tabs and splitsTabs und Splits

PlannedGeplant

Several shells on the same Alpine system, like tabs in a desktop terminal. A split shows two of them at once, side by side or stacked; on the open Duo the crease is the natural border.

Mehrere Shells auf demselben Alpine-System, wie Tabs in einem Terminal am Rechner. Ein Split zeigt zwei davon gleichzeitig, nebeneinander oder übereinander; auf dem offenen Duo ist der Knick die natürliche Grenze.

With a hardware keyboardMit Hardware-Tastatur

⌘ T
new tabneuer Tab
⌘ W
close tabTab schließen
⌘ 1…9
jump to a tabzu einem Tab springen
⌘ D
split the viewAnsicht teilen

After the app restarts, your tabs come back with their working directory and title. Programs that were running do not.

Nach einem Neustart der App sind die Tabs mit Arbeitsordner und Titel wieder da. Programme, die liefen, starten nicht von selbst neu.

SSH to your serversSSH zu deinen Servern

PlannedGeplant

A tab is either local, running Alpine inside Yvex, or remote, running on your own server over SSH. The SSH client is built into the app, so it runs at full speed instead of through the emulator.

Ein Tab ist entweder lokal, mit Alpine in Yvex, oder entfernt, per SSH auf deinem eigenen Server. Der SSH-Client steckt direkt in der App und läuft deshalb mit voller Geschwindigkeit statt durch den Emulator.

What SSH in Yvex should doWas SSH in Yvex können soll

KeysSchlüssel
in the keychain behind Face ID, never leave the phoneim Schlüsselbund hinter Face ID, verlassen das Telefon nicht
ServersServer
saved profiles, known hosts checkedgespeicherte Profile, bekannte Hosts geprüft
NetworkNetz
reconnects after a network change, sleep or a foldverbindet neu nach Netzwechsel, Ruhezustand oder Klappen

A plain SSH connection does not survive a change of network. For long jobs, run tmux on the server and attach again after reconnecting.

Eine einfache SSH-Verbindung übersteht keinen Netzwechsel. Für lange Aufgaben läuft auf dem Server tmux, nach dem Neuverbinden hängst du dich wieder an.

Built on iSHGebaut auf iSH

Yvex is a fork of iSH, the Linux shell for iOS by Theodore Dubois and the iSH contributors. Everything that works today is their work: the emulator, the Alpine setup and the terminal. Yvex will add the Duo layout, tabs, splits and SSH, and keeps its changes small so fixes from iSH can still be merged.

Yvex ist ein Fork von iSH, der Linux-Shell für iOS von Theodore Dubois und den Mitwirkenden von iSH. Alles, was heute läuft, ist ihre Arbeit: der Emulator, das Alpine-System und das Terminal. Yvex ergänzt die Duo-Ansichten, Tabs, Splits und SSH und hält die eigenen Änderungen klein, damit sich Fixes aus iSH weiter übernehmen lassen.

Like iSH, Yvex is licensed under the GNU GPL version 3 with iSH's additional terms for App Store distribution (LICENSE.IOS). The complete source will be public before the app goes to anyone else. The private test build still installs Alpine from the iSH project's servers; before anyone else gets Yvex, that needs its own mirror.

Wie iSH steht Yvex unter der GNU GPL Version 3 mit den Zusatzbedingungen von iSH für den App Store (LICENSE.IOS). Bevor die App an andere geht, werden die vollständigen Quellen öffentlich. Die private Testversion lädt Alpine noch von den Servern des iSH-Projekts; bevor andere Yvex bekommen, braucht es dafür einen eigenen Spiegel.

Yvex is an independent project. It is not affiliated with or endorsed by the iSH project.

Yvex ist ein eigenständiges Projekt, ohne Verbindung zum iSH-Projekt und nicht von ihm unterstützt.

The nameDer Name

Yvex Your Virtual Emulated x86, or just as true,, oder genauso richtig: Your Virtual Emulated Xterm.