Getestet wurde der Artikel für folgende Version(en):
Ubuntu Touch 15.04 Vivid Vervet
Für jegliche Veränderungen an Ubuntu Touch ist der Besitzer selbst verantwortlich. Weder die Artikelautoren noch ubuntuusers.de haften, falls Probleme auftreten oder das benutzte Gerät im schlimmsten Fall nie mehr gestartet werden kann. Tiefe Systemeingriffe können dazu führen, dass Ubuntu Touch durch einen sogenannten Flashvorgang neu aufgespielt werden muss.
Unter bestimmten Umständen könnte auch dies unmöglich werden - das Gerät und damit auch die Daten sind dann unwiederbringlich zerstört. Schwere Systemeingriffe wie Schreibzugriff auf das System sind inoffiziell, können beispielsweise im Fall der Nutzung von apt-get schnell zu Problemen führen und sind allgemein häufig von Garantieleistungen der Gerätehersteller/ Shops ausgenommen.
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 ausgeführt werden. Das Benutzerpasswort ist die PIN oder das Passwort welches man bei der Einrichtung für die Bildschirmsperre festgelegt hat.
Dieser Artikel beschreibt unterschiedliche Methoden zum Terminal-Zugang, entweder direkt am Touchbildschirm oder vom PC aus. In weiterer Folge werden einige typische Anwendungsfälle für einen Terminal-Zugang beschrieben, etwa das Editieren von Dateien, das Beschreibbarmachen des Systems oder Software Installation aus den Paketquellen, welche standardmäßig nicht vorgesehen und von den Apps aus dem Ubuntu Store deutlich zu unterscheiden sind.
Der einfachste Weg, eine Kommandozeile zum Gerät zu öffnen, ist die App Terminal (Terminal) zu installieren. Hiermit kann man direkt am Gerät den Zugang zum Terminal erlangen und mit der Tastatur von Ubuntu Touch Befehle eingeben. Tipps zur Nutzung der App befinden sich im Artikel Tipps_und_Tricks.
Mit Hilfe eines USB-Kabels kann das Gerät via Kommandozeile vom PC administriert werden. Hierzu ist es nötig, auf dem PC die Android Debug Bridge (ADB) wie folgt zu installieren [2]:
android-tools-adb
mit apturl
Paketliste zum Kopieren:
sudo apt-get install android-tools-adb
sudo aptitude install android-tools-adb
Nun muss man zunächst unter "Systemeinstellungen → Über → Entwicklermodus" diesen aktivieren. Dafür muss das Gerät zuvor mit einer PIN versehen werden, worauf dort auch hingewiesen wird. Ab dann lässt sich die Shell des Telefons auf dem PC öffnen. Das funktioniert aber nur, wenn der Bildschirm entsperrt ist.
Die Shell öffnet sich mit dem Befehl:
adb shell
Wenn die Verbindung erfolgreich ist erscheint eine Eingabeaufforderung
phablet@ubuntu-phablet:~$
Der Aufruf des Befehls
adb devices
sollte mit einer Ausgabe wie
List of devices attached XY123456 device
beendet werden. Falls kein Gerät angezeigt wird, ist die USB-Verbindung zu überprüfen.
Es kann vorkommen, dass bei der Verbindung via USB kein Gerät gefunden wird (z.B. bei Ubuntu 12.04). In diesem Fall muss die sogenannte USB-ID des Herstellers des Ubuntu Touch Gerätes am PC konfiguriert werden. Das Blog Linuxwissen erklärt das Vorgehen sowohl für ADB als auch MTP. Im Folgenden wird nur das Vorgehen für ADB beschrieben:
Mit dem Befehl lsusb kann man diese ID ermitteln. Der Befehl liefert zwei hexadezimale Zahlen in der Form Hersteller-ID:Produkt-ID
, zum Beispiel:
2a47:2008
Damit die Verbindung funktioniert, muss man die Datei ~/.android/adb_usb.ini mit einem Editor bearbeiten und eine neue Zeile mit der Hersteller-ID (die ersten vier Stellen vor dem Doppelpunkt) mit 0x
vorangestellt eintragen. Passend zu obigem Beispiel muss man also
0x2a47
einfügen. Abschließend den adb-Server neustarten [2][3]:
sudo adb kill-server && sudo adb start-server
Es ist möglich, die ADB-Sperre, welche nach der Bildschirmsperre eintritt, zu deaktivieren. Bereits bestehende Logins in eine ADB-Shell sind von der Sperre nicht betroffen.
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
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. Mittels adb
erreicht man die Übertragung, 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
Nun kann man vom PC aus mittels SSH auf dem Ubuntu Touch Gerät einloggen, oder über sshfs Dateien übertragen. Sollte die SSH-Verbindung nicht zustandekommen 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.
Standardmäßig ist die Systempartition so im System eingebunden, dass sie nur gelesen, aber nicht beschrieben werden kann. Für einige erweiterte Konfigurationen wird aber eine beschreibbare Systempartition benötigt.
Da sich Canonical gegen eine zweite Systempartition entschieden hatte, kann nach dem Eingriff des Beschreibbarmachens das System nicht auf den Werkszustand zurückgesetzt werden, ohne ein System neu aufzuspielen. Dazu kann man mit fastboot
eine heruntergeladene Systemsicherung zurückzuspielen. Falls das System noch startfähig ist, kann stattdessen auch per ubuntu-device-flash
an einem Ubuntu PC ein aktuelles Werkssystem aus dem Internet eingespielt werden.
Dies wird offiziell nicht von Canonical unterstützt, von der Gemeinschaft jedoch teilweise bereitwillig genutzt. Vorgenommene Änderungen können durch das Installieren von Aktualisierungen wieder verlorengehen. Unsachgemäße Systemveränderungen nach dem Beschreibbarmachen können Auswirkungen auf die Stabilität des Systems haben.
Sollten gravierende Probleme auftreten, kann es nötig werden, eigens angelegte Systemsicherungen zurückzuspielen oder das System neu zu installieren.
Man kann die Systempartition beschreibbar machen, indem man folgenden Befehl ausführt:
sudo mount -o remount,rw /
Die Partition ist dann bis zum nächsten Neustart des Geräts beschreibbar. Wenn man ohne Neustart zum schreibgeschützten Zustand zurückkehren möchte, kann man das mit diesem Befehl erreichen:
sudo mount -o remount,ro /
Um die Systempartition auch nach späteren Neustarts immer im Schreibmodus zu haben, muss mit folgendem Befehl eine Datei im System angelegt werden:
touch /userdata/.writable_image
Sollte man später aus diesem dauerhaften Schreibmodus wieder zum schreibgeschützten Modus zurückkehren wollen, entfernt man die Datei wieder:
rm /userdata/.writable_image
Der freie Platz der beschreibbaren Systempartition ist extrem gering, da er nicht für systembeschreibende Eingriffe konzeptioniert und dimensioniert ist. Insbesondere vor der Installation von Programmen über apt-get
sind daher Maßnahmen zu treffen, um mehr freien Platz zu schaffen. Dazu bietet sich neben der Auslagerung des Caches von apt vor allem an:
Reservierte Blöcke überprüfen und ggf. auf 0.1% reduzieren.
Vorinstallierte Apps vollständig deinstallieren, um Platz zu gewinnen.
Die Nutzung von offiziellen Ubuntu Touch Apps wird im Artikel Ubuntu Touch/Einrichtung beschrieben. Dieser Abschnitt bezieht sich auf das inoffizielle Installieren von herkömmlichen Linux-Programmen. Hierzu wird die in Ubuntu übliche Paketverwaltung apt-get und die Internetverbindung des Mobilgerätes verwendet.
Diese Art, Programme zu installieren, ist offiziell nicht vorgesehen. Zudem kann dabei das System Schaden nehmen. Die von den Entwicklern empfohlene Methode, um alternativ zu apt-get
in einem Chroot Programme zu installieren, wird unter Recommended way to install regular(cli) .deb packages on Ubuntu Phone? in den Antworten beschrieben. Damit steht zwar mehr Platz und Stabilität zur Verfügung, jedoch möglicherweise nicht alle Funktionen und die Integration ins laufende System ist stark eingeschränkt.
Für Programminstallationen wird eine beschreibbare Systempartition benötigt. Die eigentliche Paketverwaltung erfolgt, wie auch auf anderen Ubuntu Systemen üblich, mit apt-get update
und apt-get install PAKETNAME
etc. Details zur Verwendung befinden sich im Artikel apt. Einige Ubuntu Touch spezifische Aspekte bei der Benutzung von apt-get
sind im weiteren Artikelverlauf aufgelistet.
Zu bedenken ist, dass sich derzeit nur Kommandozeilenprogramme einfach starten lassen. Frühere Erfolge (bebilderter Erfahrungsbericht), grafische PC-Programme zu starten, sind im Ubuntu Touch Archiv - Grafische Programme vom Ubuntu PC dokumentiert.
Zukünftig wird dafür das Projekt Libertine bzw. Puritine verwendet.
Da der Speicherplatz auf mobilen Geräten sehr beschränkt ist, empfiehlt es sich dringend, bei der Nutzung von apt-get stets den freien Speicher mit
df -h /
zu kontrollieren. Gegebenenfalls bietet es sich an, die herunterzuladenden Pakete auf eine andere Partition auslagern, zum Beispiel so:
mkdir ~/apt-cache sudo mount --bind ~/apt-cache /var/cache/apt/archives
Dieser Befehl ist nur einmalig wirksam. Dauerhaft ist dies folgendermaßen umzusetzen, etwa am Beispiel einer optionalen Speicherkarte:
sudo rm -rf /var/cache/apt mkdir /media/phablet/UUID/apt-cache sudo ln -s /media/phablet/UUID/apt-cache /var/cache/apt
Dabei muss man die UUID der Speicherkarte einsetzen.
Wenn man apt-get
nutzt, sollte man Aktualisierungen folgendermaßen installieren:
Normale Apps über die grafische Aktualisierungsverwaltung in den "Systemeinstellungen", aber nicht die System-App "Ubuntu".
Das System mit apt-get
:
sudo apt-get update && sudo apt-get dist-upgrade
Bei den Geräten von BQ muss dabei die ganze Zeit der Bildschirm aktiv bleiben, damit die Internetverbindung oder gar Installation nicht temporär einfriert.
Canonical unterstützt nur das Updaten des Systems aus den Systemeinstellungen heraus.
Bei der Benutzung von apt-get update
kann es vorkommen, dass das System nicht korrekt funktioniert. Der Benutzer sollte darauf vorbereitet sein, gegebenenfalls Reparaturen oder eine Neuinstallation durchzuführen.
Sollte man doch das Update für die System-App Ubuntu einspielen, hat das folgende Auswirkungen auf bereits mit apt-get
installierte Programme:
Die Programme könnten in der Paketverwaltung als nicht installiert vermerkt sein.
Die Programme funktionieren trotzdem noch, wobei Fehler in Ausnahmefällen nicht ausgeschlossen sind, wie etwa angeforderte Pakete, welche mit dem betroffenen Paket in Konflikt stehen.
Man bekommt für diese Programme keine Aktualisierungen mehr.
Eine Deinstallation ist nur noch über eine (Re-)Installation möglich:
sudo apt-get install PAKETNAME && sudo apt-get remove PAKETNAME
Von dieser Software abhängige Programme laden die Software erneut herunter und installieren sie nochmal.
Standardmäßig ist keine Unterstützung für Manpages installiert. Dies kann aber durch
man-db manpages-de
mit apturl
Paketliste zum Kopieren:
sudo apt-get install man-db manpages-de
sudo aptitude install man-db manpages-de
nachgeholt werden, wobei manpages-de optional für die deutschen Übersetzungen ist. Zu beachten ist aber, dass dadurch nicht direkt die Manpages zu bereits installierten Anwendungen verfügbar werden. Durch Reinstallieren des gewünschten Paketes kann man dies aber für bestimmte Anwendungen nachholen.
Das Mikrophon kann mit
arecord test.wav
eine Datei aufnehmen, welche zum Beispiel per
aplay test.wav
wiedergeben werden kann. Beide Programme sind vorinstalliert.
Ubuntu Touch Übersichtsartikel
Emulator - Terminal im Emulator testen
Datensicherung - Sichern mit dem Terminal
Systemeingriff - Terminal für Einstellungen und mehr anwenden
Probleme - Lösungssuche mit dem Terminal
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 installieren
Ubuntu 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
Diese Revision wurde am 18. Oktober 2016 14:04 von JoeNazz erstellt.