Terminal
Dieser Artikel bezieht sich auf Ubuntu Touch, die Variante von Ubuntu für mobile Geräte mit Touchscreen.
Getestet wurde der Artikel für folgende Version(en):
Ubuntu Touch, Basis 16.04 Xenial Xerus
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Es bestehen mehrere Möglichkeiten, auf ein Ubuntu-Touch-Gerät[1] mittels Terminal zuzugreifen. Mit Hilfe einer solchen Terminalverbindung kann man dann Kommandozeilenbefehle am Gerät ausführen. Vom Terminal können auch Befehle mit Root-Rechten oder Befehle in einem Libertine-Container ausgeführt werden. Dieser Artikel beschreibt unterschiedliche Methoden zum Terminal-Zugang, entweder direkt am Touchbildschirm oder vom PC aus.
App¶
Der einfachste Weg, eine Kommandozeile zum Gerät zu öffnen, ist es, die Terminal-App zu installieren. Hiermit kann man direkt am Gerät den Zugang zum Terminal erlangen und mit der Tastatur von Ubuntu Touch Befehle eingeben. Das Benutzerpasswort ist die PIN oder das Passwort welches man bei der Einrichtung für die Bildschirmsperre des Geräts festgelegt hat.
Relativ einfach kann man in der Terminal-App die History benutzen, um Befehle wieder aufzurufen, ohne sie erneut eintippen zu müssen. Dazu scrollt man mit zwei Fingern nach unten, oder wieder hoch, wenn man einen neueren Eintrag braucht. Mit einem einzelnen Finger kann man sich nach links oder rechts, bzw nach oben oder unten bewegen, so als würde man Cursortasten benützen. Weitere Tipps zur Nutzung der App befinden sich im Artikel Terminal.
Auf einem kleinen Bildschirm ist die Arbeit im Terminal aber nicht sehr komfortabel.
ADB¶
Mit Hilfe eines USB-Kabels und des Programms adb
(Android Debug Bridge) kann man sich vom PC aus verbinden. Hierzu ist es nötig, auf dem PC adb
zu installieren:
android-tools-adb
Befehl zum Installieren der Pakete:
sudo apt-get install android-tools-adb
Oder mit apturl installieren, Link: apt://android-tools-adb
Nun muss man unter "Systemeinstellungen → Info" den Entwicklermodus aktivieren. Dafür muss das Gerät mit einer PIN versehen werden, worauf dort auch hingewiesen wird. Dann lässt sich die Shell des Ubuntu-Touch-Gerätes auf dem Rechner öffnen:
adb shell
Wenn die Verbindung erfolgreich ist, erscheint eine Eingabeaufforderung
phablet@ubuntu-phablet:~$
Terminalgröße¶
In der ADB-Shell wird die Größe des Terminalfensters nicht korrekt erkannt. Dadurch kann es sein, dass Ausgaben nicht korrekt umgebrochen werden und Eingaben sich überschreiben. Man kann dies korrigieren indem man das Fenster auf genau 80 Zeichen breit und 24 Zeichen hoch verkleinert.
Alternativ kann man den Befehl resize
verwenden. Durch Ausführung dieses Befehls passt sich die Shell wieder an die Größe des Terminalfensters an. Das Programm ist allerdings nicht im Ubuntu Touch Image enthalten und muss extra installiert werden. resize
ist im APT-Paket xterm enthalten.
Eine Möglichkeit ist xterm via Libertine zu installieren. Danach kann resize
ausgeführt werden:
libertine-container-manager exec -c resize
Eine andere Möglichkeit ist, die .deb Datei von xterm herunterzuladen und zu entpacken. Hierzu führt man die folgenden Befehle aus
cd ~ apt download xterm mkdir xterm dpkg-deb --extract xterm_*_armhf.deb xterm
Nun kann man resize
von dort ausführen:
~/xterm/usr/bin/resize
Gegebenenfalls kann man sich ein alias zu resize
anlegen.
Enter-Taste in Nano¶
Um im Terminal Dateien zu bearbeiten, steht der vorinstallierte Editor Nano zur Verfügung.
Wenn die Taste ⏎ (Enter) im Editor Nano in Verbindung mit der Benutzung einer ADB-Shell nicht richtig funktioniert, dann kann man auf einen anderen Editor wie den ebenfalls vorinstallierten vi ausweichen oder die Verbindung über SSH aufbauen.
ADB-Sperre¶
Wenn der Bildschirm gesperrt ist, ist auch der Zugriff per adb
gesperrt.
Wenn eine adb
Shell aber einmal geöffnet ist, dann macht ein nachträgliches Sperren des Bildschirms nichts aus. Es ist möglich, diese ADB-Sperre wie folgt zu deaktivieren.
Achtung!
Nach dem Aufheben der Sperre ist kein Schutz der Daten bei einem Diebstahl des Geräts mehr gegeben.
Man sollte sich genau überlegen, ob das für die eigene Benutzungsweise wirklich nötig ist, da damit die Sicherheit reduziert wird. Als sichere Alternative bietet sich der Zugang über SSH an.
Der Befehl zum Aufheben der Sperre lautet:
adb shell sudo touch /userdata/.adb_onlock
Zum Zurücksetzen muss die Datei dann wieder gelöscht werden.
SSH¶
Mittels SSH kann man über das Netzwerk (z.B. WLAN) Terminal-Zugang zum Ubuntu-Touch-Gerät bekommen. Hierzu muss man zunächst den SSH-Server mit folgendem Befehl am Gerät starten:
sudo service ssh start
Jetzt muss der Public Key (öffentliche Schlüssel) ggf. erst am PC erzeugt und anschließend zum Ubuntu-Touch-Gerät übertragen werden. Ein möglicher Weg ist die Übertragung mit adb
, indem man folgenden Befehl vom PC aus ausführt:
adb push ~/.ssh/id_rsa.pub /home/phablet/user.pub
Schließlich muss der Key noch an die Datei ~/.ssh/authorized_keys angehängt werden, um das Einloggen über Authentifizierung mit Public Keys zu ermöglichen. Hierzu führt man diese Befehle in Ubuntu Touch aus:
mkdir ~/.ssh mv ~/user.pub ~/.ssh cat ~/.ssh/user.pub >> ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Wenn man möchte, dass der Server nach jedem Neustart des Geräts automatisch gestartet wird, kann man das folgendermaßen konfigurieren:
sudo setprop persist.service.ssh true
Alternativ kann der Zugang auch über die App UT Tweak Tool eingerichtet werden. Über das Dropdown-Menü links oben im Panel "System → SSH Einstellungen " auswählen, und dort den Zugriff aktivieren.
Nun kann man sich vom Rechner aus mittels SSH auf dem Ubuntu-Touch-Gerät einloggen, oder über sshfs Dateien übertragen. Sehr komfortabel lässt sich auch über Dateimanager wie Nautilus oder Nemo auf dem Host-Rechner mit Dateien arbeiten, da sie SSH-Adressen verwenden können. Sollte die SSH-Verbindung nicht zustande kommen oder nach dem Verbindungsaufbau stocken, hilft es meist, den Bildschirm des Ubuntu-Touch-Gerätes kurz zu aktivieren, damit SSH aus der Bereitschaft aufwacht. Ein Entsperren des Bildschirmes ist dafür in der Regel nicht nötig.
Beispiel¶
Das Mikrophon kann mit
arecord test.wav
eine Datei aufnehmen, welche zum Beispiel per
aplay test.wav
wiedergeben werden kann.
Links¶
Ubuntu Touch Übersichtsartikel
Datensicherung - Sichern mit dem Terminal
UT Tweak Tool - umfangreiche Möglichkeiten zum Systemeingriff
SSH-Anleitung 🇬🇧 auf UBports.com
UBports-Blog 🇬🇧 zur Terminal-Nutzung
SSH and Ubuntu Touch 🇬🇧 - ausführliche Beschreibung auf kriscode.blogspot.com
Recommended way to install regular(cli) .deb packages on Ubuntu Phone? 🇬🇧 - von den Entwicklern empfohlener Weg, um alternativ zu
apt-get
in einem chroot Programme zu installierenUbuntu Community Q&A 10.Nov 2015 🇬🇧 - Alan Pope zu Risiken bei der Benutzung von
apt-get
Consequences of using apt-get in Ubuntu Touch - Erklärung der Probleme im Zusammenspiel zwischen apt-get und OTAs