[[Vorlage(UT, xenial)]] {{{#!vorlage Wissen [:Ubuntu_Touch: Überblick über Ubuntu Touch] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 64, align=left)]] Es bestehen mehrere Möglichkeiten, auf ein [:Ubuntu_Touch: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 [:sudo:Root]-Rechten oder Befehle in einem [:Ubuntu_Touch/Libertine: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 [openstore:com.ubuntu.terminal: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/#Ubuntu-Touch:Terminal]. Auf einem kleinen Bildschirm ist die Arbeit im Terminal aber nicht sehr komfortabel. = ADB = Mit Hilfe eines USB-Kabels und des Programms `adb` ([:adb:Android Debug Bridge]) kann man sich vom PC aus verbinden. Hierzu ist es nötig, auf dem PC `adb` zu installieren: {{{#!vorlage Paketinstallation 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: {{{#!vorlage Befehl 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 [:Ubuntu_Touch/Libertine:Libertine] zu installieren. Danach kann `resize` ausgeführt werden: {{{#!vorlage Befehl 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 {{{#!vorlage Befehl cd ~ apt download xterm mkdir xterm dpkg-deb --extract xterm_*_armhf.deb xterm }}} Nun kann man `resize` von dort ausführen: {{{#!vorlage Befehl ~/xterm/usr/bin/resize }}} Gegebenenfalls kann man sich ein [:alias:] zu `resize` anlegen. ## andere loesung? ## https://unix.stackexchange.com/questions/16578/resizable-serial-console-window/283206#283206 == Enter-Taste in Nano == Um im Terminal Dateien zu bearbeiten, steht der vorinstallierte [:Editor:] [:Nano:] zur Verfügung. Wenn die Taste [[Vorlage(Tasten, enter)]] (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 [:VIM:vi] ausweichen oder die Verbindung über [#SSH 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. {{{#!vorlage Warnung 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 [#SSH Zugang über SSH] an. }}} Der Befehl zum Aufheben der Sperre lautet: {{{#!vorlage Befehl adb shell sudo touch /userdata/.adb_onlock }}} Zum Zurücksetzen muss die Datei dann wieder gelöscht werden. # Quelle: https://lists.launchpad.net/ubuntu-phone/msg12607.html = SSH = ## http://forum.ubuntuusers.de/topic/ubuntu-touch-plauder-thread/14/#post-7236003 ## https://lists.launchpad.net/ubuntu-phone/msg12677.html ## https://wiki.kubuntu.org/Touch/DeprecatedPorting 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: {{{#!vorlage Befehl sudo service ssh start }}} Jetzt muss der Public Key (öffentliche Schlüssel) ggf. erst [:SSH#Authentifizierung-ueber-Public-Keys: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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo setprop persist.service.ssh true }}} Alternativ kann der Zugang auch über die App [openstore:ut-tweak-tool.sverzegnassi: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 [:FUSE/sshfs: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 {{{#!vorlage Befehl arecord test.wav }}} eine Datei aufnehmen, welche zum Beispiel per {{{#!vorlage Befehl aplay test.wav }}} wiedergeben werden kann. = Links = * [:Ubuntu_Touch:] {Übersicht} Übersichtsartikel * [:Ubuntu_Touch/Sicherung_und_Wiederherstellung:Datensicherung] - Sichern mit dem Terminal * [:Ubuntu_Touch/UT Tweak Tool:UT Tweak Tool] - umfangreiche Möglichkeiten zum Systemeingriff * [https://docs.ubports.com/de/latest/userguide/advanceduse/ssh.html SSH-Anleitung] {en} auf UBports.com * [https://ubports.com/de_DE/blog/unser-blog-1/post/terminal-chapter-1-113 UBports-Blog] {en} zur Terminal-Nutzung * [https://kriscode.blogspot.com/2017/12/ssh-and-ubuntu-touch.html SSH and Ubuntu Touch] {en} - ausführliche Beschreibung auf kriscode.blogspot.com ## * [:Archiv/Ubuntu_Touch/Launchpad:Probleme] - Lösungssuche mit dem Terminal * [askubuntu:620740:Recommended way to install regular(cli) .deb packages on Ubuntu Phone?] {en} - von den Entwicklern empfohlener Weg, um alternativ zu `apt-get` in einem [:chroot:] Programme zu installieren * [youtube:d8c7jc7G0dg&t=2477:Ubuntu Community Q&A 10.Nov 2015] {en} - Alan Pope zu Risiken bei der Benutzung von `apt-get` * [askubuntu:600065:Consequences of using apt-get in Ubuntu Touch] - Erklärung der Probleme im Zusammenspiel zwischen apt-get und OTAs #tag: Ubuntu, Ubuntu Phone, Ubuntu Touch