Daten|teiler
Kopieren als Kulturtechnik

Wie man LineageOS auf einem Samsung S3 Mini mit Linux installiert

11. Februar 2019 von Christian Imhorst

Wenn man weiß, wie es geht, ist es ziemlich einfach. Aber der Weg dahin, also herauszufinden, wie es geht, war etwas tricky. Sollten noch Daten auf dem S3 Mini sein, sollte man sie sichern, anschließend wird das Telefon mit einem „Factory-Reset“ auf die Werkseinstellung zurückgesetzt. Das Flashen stellt übrigens immer ein erhebliches Risiko dar! Man muss vorher also sehr genau prüfen, ob das Image, das man flashen möchte, für das Gerät geeignet ist und ob die Gerätebezeichnung, z.B. hier das GT-I8190, von Gerät und Image zueinander passen.

Das Samsung S3 Mini GT-I8190 gibt es aktuell für 39 Euro im AFB-Shop Hannover. Wer also Interesse an ein extrem günstiges googlefreies Smartphone hat, sollte dort im Shop vorbeischauen, um sich das Handy zu besorgen, und das veraltete Android darauf nach dieser Anleitung neu flashen.

Nach dem „Factory-Reset“ wird Heimdall, ein Werkzeug zum Flashen von Samsung-Handys und -Tablets, unter Gnu/Linux installiert. Heimdall ist eine vollwertige Open-Source-Alternative zum Windows-Programm Odin. Die meisten Distributionen liefern es in ihren Paketquellen mit. Von NovaFusion gibt es eine inoffizielle LineageOS-Version, die zumindest soweit weiterentwickelt und gepflegt wird, dass es die Version Android 7.1.2 für das S3 Mini gibt. Auf der Download-Seite bei NovaFusion wählt man das S3 Mini aus und lädt von der Liste das TWRP-Recovery von Odin herunter:

Die „aktuellste“ Datei, die ich gefunden habe, war die ZIP-Datei los14.1_golden.nova.20171215.ODIN_TWRP.zip, wobei der wichtige Part im Dateinamen „ODIN_TWRP“ ist. Sobald die Datei heruntergeladen ist, extrahiert man sie mit den folgenden Befehlen:

unzip los14.1_golden.nova.20171215.ODIN_TWRP.zip
tar xf los14.1_golden.nova.20171215.ODIN_TWRP.tar.md5

Anschließend sind die Dateien recovery.img, boot.img und system.img im Verzeichnis entpackt. Das ausgeschaltete Smartphone schaltet man dann mit der folgenden Tastenkombination ein, wobei man die drei Tasten gleichzeitig längere Zeit gedrückt hält: [Lautstärke leise] + [Ein-Schalter] + [Home-Taste]. Danach erscheint folgender Bildschirm:

Wenn man die Lautstärk-Taste oben drückt, geht es weiter und das Handy ist im Download-Mode bereit fürs Flashen, wenn man es über USB-Kabel mit dem Computer verbunden hat:

Mit den folgenden Befehlen als Root bekommt man eine Liste der Partitionen auf dem Handy und erstellt eine PIT-Datei, die fürs Flashen benötigt wird:

sudo -s # Um Superuser unter Linux zu werden
PITFILE=samsung-s3-mini-GT-I8190.pit
heimdall download-pit --output $PITFILE
heimdall print-pit --file $PITFILE 2>&1 | grep -iE -B1 'Partition Name|Flash Filename' | less

Der Linux-Befehl less zeigt die Ausgabe der vorherigen Befehle seitenweise an und nicht in einem Rutsch. Wenn man weiter nach unten scrollt, sollte man auf folgende Ausgabe stoßen:

File Size (Obsolete): 0
Partition Name: Kernel
Flash Filename: boot.img
--
File Size (Obsolete): 0
Partition Name: Kernel2
Flash Filename: recovery.img
--
File Size (Obsolete): 0
Partition Name: SYSTEM
Flash Filename: system.img

Das sind die Partitionen auf dem Handy, die geflasht werden:

heimdall flash --Kernel boot.img --Kernel2 recovery.img --SYSTEM system.img

Anschließend sollte das Telefon automatisch neu starten, was mehrere Minuten dauern kann, bis LineageOS für den ersten Start eingerichtet ist:

Wenn LineageOS gestartet ist, benötigt man einen AppStore, um Apps auf dem Handy herunterzuladen. F-Droid ist ein alternativer, d. h. nicht von Google betriebener AppStore für Android, in dem ausschließlich freie Software angeboten wird und der die Privatsphäre der Nutzer respektiert. Mit F-Droid und LineageOS hat man aus dem etwas älterem Samsung S3 Mini wieder ein voll funktionsfähiges Smartphone für den Alltagsgebrauch gemacht, dass ohne Google-Apps und Dienste viel weniger Datenvolumen und Akku verbraucht.

Weitere Links mit Hilfe zum Flashen des S3 Mini:

https://www.goebel-consult.de/blog/install-cyanogenmod-on-s3-mini-using-linux
https://www.thomix.org/archives/12-TRWP-und-CMLineAge-auf-Samsung-Galaxy-S3-Mini-mit-heimdall.html
https://github.com/Benjamin-Dobell/Heimdall/issues/252

Geschrieben in Android, Gnu/Linux | Kommentare deaktiviert für Wie man LineageOS auf einem Samsung S3 Mini mit Linux installiert

Twittern mit Twidere

22. Januar 2019 von Christian Imhorst

Twidere ist ein SocialMedia-Client aus dem F-Droid Store, das ist ein Katalog für Free und Open Source-Software für Android, der auch Twitter kann. Ich habe F-Droid installiert, da ich bei meinem Fairphone Open OS und unter Lineage OS auf dem Moto X Play keinen PlayStore oder andere Google-Apps installiert habe. F-Droid bietet klasse freie Alternativen zu Programmen im PlayStore, wenn es aber keine freie Alternative, z.B. zu WhatsApp gibt, fehlt sie da natürlich. Man kann F-Droid aber auch neben dem PlayStore von Google installieren. Twidere selbst nervt nicht — so wie alle anderen F-Droid Apps auch — mit Werbung und respektiert deine Privatsphäre.

Nach der Installation gibt es allerdings einen kleinen Haken: Ein paar Funktionen, die unter Twitter selbstverständlich sind, funktionieren nicht richtig. So kann man z.B. keine Direktnachrichten empfangen und senden. Der Grund liegt in den Twitter API-Keys. Um wieder Direktnachrichten und andere Funktionen „zurück“ zu bekommen, müssen die API-Keys, die mit Twidere mitgeliefert werden, gegen Twitter API-Keys für Android ausgetauscht werden.

Dazu öffnet man in den Einstellungen („Settings“) von Twidere unter Netzwerk (das ist in der linken Spalte die Weltkugel) und dann auf Erweiterte:

Im darauffolgenden Fenster tippt man auf den Bereich Standard API Einstellungen:

Hier werden dann die API-Keys eingetragen, die man hier findet:

Benutzerschlüssel: 3nVuSoBZnx6U4vzUxf5w
Benutzergeheimnis: Bcs59EFbbsdF6Sl9Ng71smgStWEGwXXKSjYvPVt7qys

Nach dem Speichern loggt man seinen Twitter-Account bei Twidere einmal aus und wieder ein und die Direktnachrichten sollten jetzt auch in Twidere erscheinen.

Geschrieben in Android | Kommentare deaktiviert für Twittern mit Twidere

6 Gründe — Warum man noch heute zu Linux wechseln sollte

10. Oktober 2018 von

[Text als PDF herunterladen] [MehrFreiheitMitLinuxLPD_A4] [MehrFreiheitMitLinuxLPD_A5]

Jeder kennt Windows, aber die wenigsten kennen Linux auf dem Desktop. Dabei benutzen es die meisten schon heute, wenn auch unbewusst: Vom kleinsten Gerät bis zum schnellsten Supercomputer ist es in Autos, Routern, Handys mit Android, medizinischen Geräten oder Fernsehern. Wenn man im Internet ist und bei Amazon ein Buch bestellt, bei Facebook einen Beitrag kommentiert oder bei Google nach etwas sucht, laufen die Server mit Linux. Nur auf dem Desktop führt es zu Unrecht ein Schattendasein, obwohl man mit den meisten Linux-Desktops auch als Windows-Nutzer sehr gut zurechtkommt. Das liegt zum Teil daran, dass viele Hersteller ihre Computer mit Windows ausstatten und nur wenige mit Linux. Viele Menschen nutzen Windows, weil sie meinen, ein bestimmtes Programm zu brauchen, um ihre Aufgaben erledigen zu können. Sie finden sich mit den Eigenheiten von Windows ab, wobei Linux ihnen viele Vorteile bieten würde. Auf dem „Linux Presentation Day“ soll dieser Schatten besser ausgeleuchtet und Linux mit seiner ganzen Vielfalt einsteigerfreundlich vorgestellt werden. Daher vorab schon mal 6 Gründe, am besten gleich heute zu Linux zu wechseln.

1. Linux ist flexibel, weil es allen gehört

Anders als Windows gehört Linux keiner bestimmten Firma. Viele Menschen arbeiten daran zusammen, um ein Betriebssystem zu schaffen, das allen gehört. Deshalb gibt es nicht nur ein Linux, sondern viele verschiedene Varianten, sogenannte Distributionen. Jede Distribution hat ihre eigene Philosophie und Zielgruppe. Man kann sich also eine Distribution aussuchen, die auf die eigenen Bedürfnisse am besten zugeschnitten ist und auf der vorhandenen Hardware läuft.

2. Linux nervt nicht

Als Anwender kennt man die ungebetenen Unterbrechungen durch Windows, die den Computer lahmlegen und gegen die man sich kaum wehren kann: Eigentlich will man einfach nur surfen, einen Text schreiben oder etwas zocken, aber Windows will lieber Updates installieren, oder, noch schlimmer, zweimal im Jahr mit einem Feature-Upgrade sich komplett neu installieren. Wenn man Pech hat, funktioniert Windows danach nicht mehr richtig und man kommt nicht mehr ins Internet oder persönliche Dateien wurden ohne Rückfragen gelöscht. Oder Windows nervt mit ungebetenen Erinnerungen wie „Hi, wie ich sehe, nutzt du Firefox. Nimm lieber Edge, der ist besser“. Linux nervt dagegen weder mit Updates noch mit Werbung für bestimmte Programme. Die Installation von Updates werden von den Anwendern bestimmt, laufen im Hintergrund, und es wird nur selten danach ein Neustart benötigt.

3. Linux ist schön und nicht nur was für Nerds

Anders als Windows hat Linux mehr als nur einen einheitlichen Desktop und viele Möglichkeiten, die Bedienelemente an die eigenen Wünsche anzupassen. Man kann sich die Benutzeroberfläche aussuchen, mit der man selbst am besten arbeiten kann, oder die einem am besten gefällt. Über Linux gibt es ein Vorurteil, nämlich dass man immer kryptische Zeichen in eine Textkonsole eingeben muss, um Linux richtig zu bedienen. Das ist aber schon lange nicht mehr der Fall. Die meisten Einstellungen erreicht man heute in der Regel bequem über ein grafisches Fenster. In der Textkonsole kommt ein erfahrener Anwender oft schneller zum Ziel, das ist aber eine andere Geschichte.

4. Software zu installieren ist einfach und preiswert

Dank Open-Source-Software ist das Installieren von Programmen unter Linux so einfach wie bei Smartphones. Hier wie dort ruft man eine Art „Software Center“ auf, um nach Anwendungen zu stöbern und die zu installieren, die man haben möchte. Die Software ist kostenfrei und sie wird automatisch durch Updates aktuell gehalten. Die Programme kommen aus allen Kategorien und sind sehr gut: Da sind Firefox fürs Internet, Thunderbird für E-Mails, LibreOffice fürs Büro, VLC Media Player für Musik und Videos, Audacity zum Bearbeiten für Audiodateien, Gimp für Fotos und Grafiken, PlayOnLinux mit Wine für Windows-Spiele und -Programme und viele mehr.

5. Linux läuft super auf alter Hardware

Linux läuft sehr gut und schnell auf alten Rechnern, die für die aktuellen Windows-Versionen nicht mehr genug Leistung haben. So kann man einen alten Laptop, der noch prima funktioniert, mit Linux noch einige Jahre lang weiter verwenden, um mit freien Office-Programmen zu arbeiten, im Internet zu surfen, Online-Banking zu betreiben oder zu spielen. Das schont die Umwelt und den eigenen Geldbeutel. Für Linux gibt es auch eine Menge an Lernsoftware, wie die Sammlung GComprix, Karteikästen für Vokabeln, Matheguides und viele weitere, sodass sich der alte Rechner noch prima für junge Menschen eignet.

6. Linux respektiert die Privatsphäre und ist sicher

Anders als die großen kommerziellen Betriebssysteme sammeln die meisten Linux-Distributionen keine Daten ihrer Nutzer ein, um sie über das Internet „nach Hause“ an die Hersteller zu schicken, damit die Nutzererfahrung verbessert oder personalisierte Werbung angeboten werden kann. Deshalb wissen die Macher der Linux-Distributionen auch nicht, wie viele Nutzer sie haben. Man benötigt unter Linux zum Surfen im Internet keinen Virenscanner, der das System langsamer macht oder selber Sicherheitslücken aufreißt, weil Linux kaum eine Angriffsfläche für gängige Viren und Mal ware bietet.

Bis zur Unendlichkeit und noch viel weiter

Entgegen den Vorurteilen ist Linux schon seit einigen Jahren einsteigerfreundlich und leicht zu benutzen. Und man kann Linux gleich ausprobieren: Einfach ein Linux Live-System auf einen USB-Stick kopieren und den Rechner vom Stick aus neu starten. So kann Linux getestet werden, ohne Dateien und Betriebssystem auf dem PC zu verändern. Linux lässt sich auch nachträglich auf einem Windows-PC installieren, damit es neben Windows gestartet werden kann. Bestimmt ist ein Linux auf dem Desktop nicht für alle und zu jeder Zeit die perfekte Lösung. Für viele Menschen, die mit einem Computer einfach nur ungestört arbeiten wollen, ist es aber vielleicht die bessere Wahl. Wer sich intensiver damit beschäftigen will, für den bedeutet Linux, dass man es nicht nur benutzt, sondern auch, daran zu lernen, es besser zu verstehen und mitzumachen. Vielleicht ist Linux dann der Beginn einer Reise in eine Welt, in der das Miteinander selbstverständlich und von allen gewollt ist.

Auf dem „Linux Presentation Day“ kann man sich am 10.11.2018 von 10 bis 16 Uhr einige Linux-Varianten und verschiedene Benutzeroberflächen im LeineLab (Glocksee) ansehen und ausprobieren, eigene Live-USB-Sticks mit Linux erstellen oder Linux gleich installieren. Erfahrene Anwender der Linux User Group Hannover führen die Distributionen vor und stehen für Fragen zur Verfügung.

Weitere Infos gibt es im Wiki des LeineLabs: wiki.leinelab.org unter dem Veranstaltungshinweis zum „Linux Presentation Day“ und auf Twitter: @lughannover

Geschrieben in Gnu/Linux, Open Source | Kommentare deaktiviert für 6 Gründe — Warum man noch heute zu Linux wechseln sollte

Tastatur ohne Pipe-Zeichen

30. September 2018 von Christian Imhorst

Ich habe mir bei Luxnote-Hannover ein ThinkPad X201 gekauft. Das ist ein kleiner, leichter Laptop, der sich sehr gut für Linux eignet. Wenn man Luxnote direkt anschreibt, kann man noch Geld sparen, wenn man das Notebook ohne Festplatte und Windows-Lizenz nimmt. Eine SSD mit openSUSE Leap 15 hatte ich bereits aus einem anderen Laptop, welche ich dann einfach eingebaut habe und openSUSE im X201 ohne Neuinstallation weiter benutzen kann.

Das Notebook hat allerdings eine refurbishte Tastatur, das kann z.B. ein US-Keyboard sein, das mit deutschen Zeichen neu bedruckt wurde, was für Linux-Nutzer ein Problem sein kann: Es fehlt die Taste zwischen „Shift“ und „Y“ mit den „<|>“-Zeichen, also u.a. dem Zeichen für die Pipeline im Terminal. Ohne die Taste mit den spitzen Klammern kann man auch nur schwer HTML-Code schreiben.

Eine Taste fehlt

Es gibt dafür aber eine Lösung: Man wählt eine Taste aus, mit der man die Zeichen belegen möchte. Für einen Linuxer eignet sich da zum Beispiel die Windows-Taste ganz gut.

Um den Code der Taste herauszufinden, die man neu belegen möchte, gibt es das Kommandozeilentool showkey. Nach dem Ausführen des Befehls showkey -s drückt man auf die Taste, die man neu belegen möchte. Jetzt wird der Tasten-Code angezeigt. Für meine Windows-Taste ist das e05b.

Den Keycode für das Zielzeichen habe ich aus dem Thinkpad-Forum und ist 86. Man übernimmt das Mapping auf der refubishten Tastatur anschließend mit dem Befehl:

sudo setkeycodes e05b 86

Der Code der Taste, die verwendet werden soll, ist e05b, die Zahl 86 ist dezimal und entspricht HEX 0x56 aus dem Scancode. Damit die Tastenbelegung auch nach einem Neustart noch da ist, habe ich den Befehl in ein Skript setmykeycode kopiert:

#!/bin/sh
setkeycodes e05b 86
exit 0

Das Skript lasse ich von einem Systemd-Service /etc/systemd/system/setkeycodes.service beim Start ausführen:

#########################################################################
#
# setkeycodes.service
# systemd service: Put <|> on super key 
#
#########################################################################
 
[Unit]
Description=Enable keycodes on super key
 
[Service]
Type=oneshot
ExecStart=/usr/bin/setmykeycode
 
[Install]
WantedBy=multi-user.target
 
# EOF

Dann wird der Dienst aktiviert und gestartet:

sudo systemctl enable setkeycodes.service
sudo systemctl start setkeycodes.service
sudo systemctl daemon-reload

Und schon hat man für die Windows- oder SuperKey-Taste unter Linux eine sinnvolle Anwendung gefunden, wenn man einen gebrauchten Laptop mit refurbishter Tastatur hat.

Geschrieben in Allgemein, Gnu/Linux, OpenSuse | Kommentare deaktiviert für Tastatur ohne Pipe-Zeichen

Wie man RStudio unter openSUSE installiert

9. September 2018 von Christian Imhorst

GNU R ist eine Freie Software für statistische Datenverarbeitung und bietet eine Vielzahl an Möglichkeiten zur Verarbeitung und Auswertung von Daten. Zum anderen kann man statistische Verfahren auch selber programmieren und R dazu fast beliebig erweitern.

Unter Linux verfügt R über keine Standardoberfläche und wird in der Kommandozeile mit dem Befehl „R“ gestartet. Für alle, die eine grafische Benutzeroberfläche lieber mögen, gibt es neben anderen Benutzeroberflächen mit umfangreichen Funktionen auch RStudio, um sich die Arbeit mit R zu erleichtern.

Man kann bei openSUSE leider nicht einfach RStudio aus dem Repository „devel:languages:R:released“ installieren. Die Installation klappt zwar, der Start des Programms bricht aber immer wieder mit der Fehlermeldung ab, dass die Bibliothek „libboost_date-time“ nicht gefunden werden kann. Man kann sie unter openSUSE auch nicht nachinstallieren, da RStudio gegen eine ältere Version von Boost erstellt wurde, die in den Repositories nicht mehr vorhanden ist.

Was bleibt, ist RStudio von der Webseite herunterzuladen und selbst mit Hilfe von zypper zu installieren:

wget https://download1.rstudio.org/rstudio-1.1.456-x86_64.rpm
sudo zypper in ./rstudio-1.1.456-x86_64.rpm
rm rstudio-1.1.456-x86_64.rpm

Startet man aber RStudio, bricht der Startvorgang mit der Fehlermeldung ab, dass „libgstreamer-0.10“ nicht gefunden wird. Schaut man nach der vorhanden Version von „ibgstreamer“, sieht man auch, dass die vorhandene Version aktueller ist:

$ rstudio 
rstudio: error while loading shared libraries: libgstreamer-0.10.so.0: cannot open shared object file: No such file or directory
$ sudo zypper search -s libgstreamer-
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
 
S  | Name                     | Typ   | Version    | Arch   | Repository             
---+--------------------------+-------+------------+--------+------------------------
i+ | libgstreamer-1_0-0       | Paket | 1.14.2-1.1 | x86_64 | openSUSE:Tumbleweed    
i+ | libgstreamer-1_0-0       | Paket | 1.14.2-1.1 | x86_64 | openSUSE-Tumbleweed-Oss
v  | libgstreamer-1_0-0       | Paket | 1.14.2-1.1 | i586   | openSUSE:Tumbleweed    
v  | libgstreamer-1_0-0       | Paket | 1.14.2-1.1 | i586   | openSUSE-Tumbleweed-Oss
i+ | libgstreamer-1_0-0-32bit | Paket | 1.14.2-1.1 | x86_64 | openSUSE:Tumbleweed    
i+ | libgstreamer-1_0-0-32bit | Paket | 1.14.2-1.1 | x86_64 | openSUSE-Tumbleweed-Oss

Glücklicherweise gibt es ein Repository von Till Dörges, dass über Zypper oder YaST hinzugefügt werden kann und die alten GStreamer-Pakete enthält. Zuerst wird das Repo hinzugefügt:

$ sudo zypper ar -f http://download.opensuse.org/repositories/home:/tdoerges/openSUSE_Tumbleweed/ libgstreamer

Anschließend kann man „libgstreamer-0_10-0“ installieren, was alle benötigten Abhängigkeiten gleich miterledigt:

$ sudo zypper in libgstreamer-0_10-0
...
Neuen Signierungsschlüssel für Repository oder Paket erhalten:
  Repository:               libgstreamer                                                
  Name des Schlüssels:      home:tdoerges OBS Project <home:tdoerges@build.opensuse.org>
  Schlüssel-Fingerabdruck:  5035BC97 C4DAE76B DB3BF78B 104BC2E7 2C6C7695                
  Schlüssel erstellt:       Mo 18 Dez 2017 05:26:51 CET                                 
  Ablauf des Schlüssels:    Mi 26 Feb 2020 05:26:51 CET                                 
  RPM-Name:                 gpg-pubkey-2c6c7695-5a37438b                                
 
Wollen Sie den Schlüssel abweisen, ihm temporär oder immer vertrauen? [a/t/i/? zeigt alle Optionen] (a): t
...
Die folgenden 8 NEUEN Pakete werden installiert:
  gstreamer-0_10 gstreamer-0_10-lang gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugins-base gstreamer-0_10-plugins-base-lang libgstapp-0_10-0 libgstinterfaces-0_10-0 libgstreamer-0_10-0
 
Das folgende empfohlene Paket wurde automatisch gewählt:
  gstreamer-0_10-lang
 
8 neue Pakete zu installieren.
...

Anschließend sollte man die Pakete gegen versentliches löschen sperren. Wenn man möchte, kann man danach das Repository auch deaktivieren:

$ sudo zypper addlock gstreamer-0_10 gstreamer-0_10-lang gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugins-base gstreamer-0_10-plugins-base-lang libgstapp-0_10-0 libgstinterfaces-0_10-0 libgstreamer-0_10-0
$ sudo zypper modifyrepo -d libgstreamer

Wenn die Pakete installiert sind, kann man RStudio problemlos starten:

RStudio in openSUSE

Geschrieben in Gnu/Linux, OpenSuse | Kommentare deaktiviert für Wie man RStudio unter openSUSE installiert

Atom und openSUSE

21. März 2018 von Christian Imhorst

Der Editor Atom ist ein plattformübergreifender Open Source-Editor auf der Basis von Electron. Der Editor wird von GitHub entwickelt und man hat die Möglichkeit, ihn fast vollständig an seine eigenen Bedürfnisse anzupassen. Für Atom existieren eine große Anzahl an Add-Ons, die über den integrierten Paketmanager installiert werden können.

Persönlich gefällt mir Atom besser, als der recht ähnliche Editor Visual Studio Code von Microsoft. Die Features sind bei beiden recht ähnlich, es gibt bei beiden Sprachunterstützung für .NET-Sprachen und für die PowerShell, was ich beides beruflich benötige. Mit dem Update auf Version 1.25 soll Atom auch schneller und responsiver geworden sein.

Ein Nachteil von Atom gegenüber VS Code ist allerdings, dass man Atom unter Linux nicht automatisch aktualisieren kann, während VS Code ein Repository anbietet. Stand heute muss man für jede neue Version das Paket von der Webseite des Projekts herunterladen und installieren. Im Wiki von Fedora wird allerdings eine schöne Möglichkeit gezeigt, wie man den Editor auch ohne Repository über die Kommandozeile aktuell halten kann. Ich habe die Methode für openSUSE angepasst und daraus das Skript CheckAtomUpdates gestrickt. Wobei das so ähnlich auch für andere Linux-Distros funktionieren wird:

#!/bin/bash
 
ATOM_INSTALLED_VERSION=$(rpm -qi atom | grep "Version" |  cut -d ':' -f 2 | cut -d ' ' -f 2)
ATOM_LATEST_VERSION=$(curl -sL "https://api.github.com/repos/atom/atom/releases/latest" | grep -E "https.*atom-amd64.tar.gz" | cut -d '"' -f 4 | cut -d '/' -f 8 | sed 's/v//g')
 
if [[ $ATOM_INSTALLED_VERSION < $ATOM_LATEST_VERSION ]]; then
  while true; do
    read -p "Installed version is $ATOM_INSTALLED_VERSION. Do you wish to update to Atom $ATOM_LATEST_VERSION (y/n)? " yn
    case $yn in
        [Yy]* ) sudo zypper --non-interactive --no-gpg-check in -y https://github.com/atom/atom/releases/download/v${ATOM_LATEST_VERSION}/atom.x86_64.rpm; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
  done
else
  echo "Latest version of Atom $ATOM_LATEST_VERSION is already installed."
fi

Da das Paket von Atom nicht signiert ist, habe ich den GPG-Check bei der Installation ausgeschaltet. Ansonsten hätte sie nicht interaktiv funktioniert. Solange bis es eines Tages ein Repository für Atom gibt oder ein Installationspaket in den Repos der eigenen Distribution auftaucht, kann das Skript vielleicht ganz brauchbar sein.

Ein Flatpak mit Atom

Eine Alternative zur Installation des RPM-Pakets ist ein Flatpak, mit dem Programme konfliktfrei zur „normalen“ Paketverwaltung installiert werden sollen, indem alle benötigten Binärdateien, Bibliotheken, Konfigurations- und sonstige Dateien in ein extra Verzeichnis kopiert werden. Flatpaks können ohne jede weitere Anpassung auf allen Linux-Distributionen laufen, auf denen Flatpak installiert ist.

Unter openSUSE ist Flatpak schnell installiert. Man muss anschließend noch ein Repository hinzufügen und updaten:

$ sudo zypper install flatpak
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak update

Wenn das erledigt ist, sucht man nach dem Atom-Editor:

$ flatpak search atom
 Application ID         Version Branch Remotes Description                                
 io.atom.Atom           1.25.0  stable flathub A hackable text editor for the 21st Century
 net.sourceforge.atanks         stable flathub Turn-based artillery strategy game         
 com.github.rssguard            stable flathub Simple (yet powerful) feed reader

In der Terminalausgabe sind vor allem „Application ID“ und „Remotes“ wichtig, um das Flatpak mit Atom zu installieren:

$ flatpak install flathub io.atom.Atom

Eine Auflistung aller Flatpaks liefert der Paramater „list“. Mit „run“ und anschließendem Paketnamen wird der Editor gestartet:

$ flatpak list
 Ref                                             Options       
 io.atom.Atom/x86_64/stable                      system,current
 org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 system,runtime
 org.freedesktop.Platform.ffmpeg/x86_64/1.6      system,runtime
 org.freedesktop.Sdk/x86_64/1.6                  system,runtime
$ flatpak run io.atom.Atom

Wenn man das Flatpak updaten möchte, gibt man den folgenden Befehl ein:

$ flatpak update <Name des Flatpaks>

Und möchte man es wieder loswerden, benutzt man „uninstall“:

$ flatpak uninstall <Name des Flatpaks>

Damit man ein Desktop-Icon hat, benötigt man die entsprechende Desktop-Datei. Nach dem Ab- und wieder Anmelden des eigenen Benutzers, sollte der Pfad zu der Datei /var/lib/flatpak/exports/share zur Umgebungsvariablen $XDG_DATA_DIRS gehören. Das sorgt dann dafür, dass die Desktop-Datei io.atom.Atom.desktop im Unterordner „applications“ von der Desktop-Umgebung gefunden wird. Sollte das nicht der Fall sein, kann man die Datei Atom.desktop, entweder im Verzeichnis /usr/share/applications, dann ist es für alle sichtbar, oder im Verzeichnis ~/.local/share/applications, wenn das Icon nur der eigene Benutzer sehen soll, anlegen. Der Inhalt der Datei sieht dann etwa so aus:

[Desktop Entry]
Name=Atom
Comment=A hackable text editor for the 21st Century.
GenericName=Text Editor
Exec=atom %F
Icon=io.atom.Atom
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;TextEditor;Development;
MimeType=text/plain;
X-Desktop-File-Install-Version=0.23

Mehr Infos zu Flatpak findet man auch im sehr gut sortiertem Wiki von Arch Linux.

Ubuntu Snaps unter openSUSE

Als weitere Alternative hat man auch die Möglichkeit, ein Snap von Ubuntu mit Atom zu installieren. Snaps funktionieren ähnlich wie Flatpaks und gibt es auch für openSUSE, z.B. für Tumbleweed:

$ sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
$ sudo zypper install snapd
$ sudo systemctl enable --now snapd.socket

Anschließend kann man gleich mit Snaps loslegen. Wenn man angemeldet ist, installiert man Atom mit diesem Befehl:

$ sudo snap install --classic atom

Mit dem Befehl sudo snap refresh guckt man, ob alle Snaps aktuell sind. Stand heute ist aber noch Atom 1.24.0 das aktuellste Snap-Paket. Wenn man das Programm wieder los werden möchte reicht ein:

$ sudo snap remove atom

Für welche der drei Methoden man sich entscheiden möchte, hängt vermutlich stark von den eigenen Vorlieben ab. Jede von ihnen hat ihre Vor- und Nachteile, aber alle liefern einen Atom als Editor.

Geschrieben in Gnu/Linux, OpenSuse | Kommentare deaktiviert für Atom und openSUSE

Mit Fingerprint unter Ubuntu anmelden

6. Oktober 2017 von Christian Imhorst

An einem Fingerprint-Sensor ist einfach praktisch, dass man nicht jedes Mal sein Passwort eingeben muss, wenn man dazu aufgefordert wird, sondern einfach nur kurz seinen Finger über den Sensor streift. An meinem Fujitsu S761 ist so ein praktischer Fingerprint-Sensor verbaut und seit Ubuntu 16.04 kann man ihn ganz einfach, also ohne ein weiteres Archiv mit Fremdquellen hinzuzufügen, installieren.

Dazu muss man zuerst herausfinden, ob der Sensor vom Linux Betriebssystem erkannt wird und welcher verbaut ist:

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
[...]
Bus 001 Device 003: ID 08ff:2683 AuthenTec, Inc. 
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol       255 Vendor Specific Protocol
  iProduct                1 Fingerprint Sensor
      (Bus Powered)
[...]

Wenn die Geräte-ID, hier 08ff:2683, bei den unterstützten Geräten von fprint auftaucht, hat man gute Chancen, dass die Installation klappt. Seit Ubuntu 16.04 reicht der folgende Befehl zur Installation:

$ sudo apt install libpam-fprintd

Anschließend muss der Fingerprintsensor darauf trainiert werden, den Fingerabruck zu erkennen:

$ fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed

Im Terminal sieht das dann etwa so aus:

Fingerprint-Sensor im Terminal von Ubuntu

Bei jedem Streichen über den Sensor meldet das Programm Enroll result: enroll-stage-passed, bis es genug ist und mit enroll-completed anzeigt, dass der Fingerabdruck erfasst wurde.

Der Fingerprint-Sensor ist jetzt einsatzbereit. In Gnome ist er automatisch im Benutzerkonto integriert und aktiviert, so dass man ihn bei jeder Anmeldung benutzen kann. Falls der Fingerabdruck nicht erkannt wird, gibt man einfach sein Passwort ein. Man kann den Fingerabruck übrigens auch anstelle eines Passworts nehmen, wenn man einen Befehl mit sudo startet:

Fingerprint statt Passwort bei Sudo

Geschrieben in Gnu/Linux, Ubuntu | Kommentare deaktiviert für Mit Fingerprint unter Ubuntu anmelden

Akkulaufzeit unter OpenSUSE optimieren

21. Mai 2017 von Christian Imhorst

Mein betagter DualCore-Rechner, ein Acer Aspire 2920, glüht, und der Lüfter rauscht nach wenigen Sekunden schon gut los. Mit ein paar Maßnahmen zum Energiesparen und zum Drosseln der CPU köchelt der Laptop nicht mehr ganz so stark vor sich hin und der Akku hält nun etwas länger durch. Für normale Anwendungen und XFCE als Desktop reicht die Leistung trotzdem noch locker aus.

Stromsparen mit TLP

Mit TLP kann man Gnu/Linux basierten Systemen im Allgemeinen und OpenSUSE im Besonderen die Feinheiten des Stromsparens beibringen und muss sich dabei nicht mit Detailwissen herumschlagen. In der Standardkonfiguration ist TLP bereits auf Akkulaufzeit optimiert und kann daher einfach installiert, aktiviert und vergessen werden:

sudo su
zypper install tlp
systemctl enable tlp.service
systemctl enable tlp-sleep.service

Besser swappen

Das Optimieren des Swap-Verhaltens hilft zwar nicht dabei, Strom zu sparen, aber die SSD zu schonen, wenn man festlegt, wann der Kernel Daten aus dem Arbeitsspeicher in die Swap-Partition verschieben soll. Die swappiness wird dabei mit einem Wert von 0 bis 100 angegeben. Bei 0 wird nur dann ausgelagert, wenn es gar nicht mehr anders geht, weil der Arbeitsspeicher voll ist. Bei einer swappiness von 100 wird der Arbeitsspeicher kaum genutzt. Standardmäßig ist 60 eingestellt, was man mit dem folgenden Befehl herausfinden kann:

sysctl vm.swappiness

Die Einstellung der swappiness ändert man mit einem Editor seiner Wahl in der Datei /etc/sysctl.conf und hängt dort am Ende folgende Zeilen an:

vm.swappiness=1
vm.vfs_cache_pressure=50

Mit dem neuen Wert für vfs_cache_pressure stellt man die Tendenz des Kernels ein, Speicher zurückzufordern, der zum Zwischenspeichern von Verzeichnissen und Inode Objekten zugeteilt wurde, zu verringern. Mit dieser und dem neuen Wert für die swappiness werden die Schreibzugriffe auf die Festplatte weniger und der Laptop arbeitet schneller.

Dabei muss man beachten, dass systemd-sysctl nicht die Datei /etc/sysctl.conf selbst direkt verarbeitet, sondern den Link unter /etc/sysctl.d/99-sysctl.conf auf die /etc/sysctl.conf. Sollte der Link aus irgendwelchen Gründen nicht vorhanden sein, kann man ihn einfach erstellen:

ln -s /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf

Energiesparplan

Governors regeln Energiesparpläne für die CPU. Um herauszufinden, welcher Governor für den an die eigene CPU angepassten Energiesparplan überhaupt in Frage kommt, schaut man mit dem Befehl cpupower frequency-info nach. Für den DualCore des Acers kommen als mögliche Regler powersave, ondemand oder performance in Frage. Während das voreingestellte Performance den Prozessor auf die höchste Frequenz einstellt, taktet Ondemand, was in der Regel empfohlen wird, den Prozessor je nach Systemlast herauf und herunter, während Powersave ihn auf die niedrigste Frequenz einstellt.

CPU Frequenz und mögliche Regker ermitteln

Den Governor stellt man ebenfalls mit dem Befehl cpupower ein:

cpupower frequency-set -g powersave

Damit der Governor auch nach dem nächsten Systemstart wieder aktiv ist, kann man ihn durch systemd beim Start ausführen lassen. Dazu erstellt man zuerst die Datei /etc/systemd/system/governor.service:

[Unit]
Description=CPU Governor
 
[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/bin/cpupower frequency-set -g powersave
 
[Install]
WantedBy=multi-user.target

Nun lädt man noch die Konfiguration des systemd-Managers neu und aktiviert den Governor-Service:

systemctl daemon-reload
systemctl enable governor.service

Stromspar-Hilfe PowerTOP

PowerTOP analysiert den Energieverbrauch des Systems und gibt darauf basierende Tipps, mit denen man die Akkulaufzeit dauerhaft verbessern kann. Mit dem Parameter --auto-tune kann man die Vorschläge automatisch für die laufende Sitzung übernehmen:

powertop --auto-tune

Um PowerTOP automatisch mit den besten Werten gleich beim Systemstart durch systemd ausführen zu lassen, kann man folgendermaßen vorgehen.

Zuerst erstellt man die Datei /etc/systemd/system/powertop.service für den systemd-Service:

[Unit]
Description=PowerTOP auto tune
 
[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune
 
[Install]
WantedBy=multi-user.target

Dann lädt man die Konfiguration des systemd-Managers neu und aktiviert den PowerTOP-Service:

systemctl daemon-reload
systemctl enable powertop.service

In den openSUSE Docs findet man noch weitere Infos zum Power Management

Geschrieben in Gnu/Linux, Open Source, OpenSuse | Kommentare deaktiviert für Akkulaufzeit unter OpenSUSE optimieren

PowerShell in openSUSE Leap 42.2 installieren

12. März 2017 von Christian Imhorst

PowerShell gibt es schon länger für Linux-Systeme, allerdings nur für Ubuntu und CentOS. Wobei die Installation unter Fedora mit dem CentOS-Paket auch geklappt hat. Seit Version 6.0.0-alpha.17 ist die PowerShell auch für weiter Distributionen verfügbar, auch für openSUSE, allerdings nur für Version 13.2 und nicht für Leap.

Wenn man der Anleitung auf GitHub für openSUSE folgt, kann man das RPM-Paket zwar installieren, erhält aber beim Start der PowerShell eine Fehlermeldung:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo zypper install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.17/powershell-6.0.0_alpha.17-1.suse.13.2.x86_64.rpm
$ powershell
Failed to initialize CoreCLR, HRESULT: 0x80131500

Auf einem standardmäßig eingerichtetem openSUSE Leap 42.2 scheint der PowerShell etwas zu fehlen, vermutlich eine bestimmte Bibliothek. Mit folgendem Befehl kann man herausfinden, welche das sein könnte:

$ sudo find /opt/microsoft/powershell/6.0.0-alpha.17/ -name '*.so' -type f -print | xargs ldd | grep 'not found'
...
      liblldb.so.3.5.0 => not found
      libicuuc.so.53.1 => not found
      libicui18n.so.53.1 => not found
      liblttng-ust.so.0 => not found

Jetzt kennt man zwar die Probleme, kann aber bei der Beschaffung der Programme auf weitere Hindernisse stoßen. Denn das Programm icu, von dem man die Bibliothek libicuuc.so in der Version 53.1 benötigt, gibt es in den Repositories von Leap nur die Version 52.1, was zu niedrig ist.

$ zypper info icu
...
Informationen zu Paket icu:
---------------------------
Repository         : openSUSE-Leap-42.2-Oss                                   
Name               : icu                                       
Version            : 52.1-11.5                                 
Arch               : x86_64                                    
Anbieter           : openSUSE
Installierte Größe : 541,4 KiB                                 
Installiert        : Ja                                        
Status             : aktuell                                   
Zusammenfassung    : International Components for Unicode      
Beschreibung       :                                           
    ICU is a set of C and C++ libraries that provides robust and
    full-featured Unicode and locale support. The library provides calendar
    support, conversions for many character sets, language sensitive
    collation, date and time formatting, support for many locales, message
    catalogs and resources, message formatting, normalization, number and
    currency formatting, time zone support, transliteration, and word,
    line, and sentence breaking, etc.
 
    This subpackage contains the runtime programs for interacting with ICU.

Nach einer kurzen Suche auf software.opensuse.org findet man die Version 53.1 in einem Repo für Tumbleweed für die Sprache R. Für die Installation von PowerShell wird es vorübergehend hinzugefügt:

$ sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/R:/released/openSUSE_Tumbleweed/ R
$ sudo zypper refresh
$ sudo zypper install icu-53.1-70.1.x86_64 lttng-ust

Nach der Installation wird das Repository wieder entfernt und das Paket icu mit Zypper gegen ein Downgrade auf die alte Version gesperrt. Genau das versucht Zypper nämlich, sobald das Repo, in dem die Version 53.1 enthalten war, fehlt:

$ sudo zypper rr http://download.opensuse.org/repositories/devel:/languages:/R:/released/openSUSE_Tumbleweed/ R
$ sudo zypper addlock icu
$ sudo zypper refresh
$ sudo zypper update

Mit der aktuellen Version von icu kann man jetzt PowerShell unter openSUSE Leap ausführen.

PowerShell und openSUSE

Have a lot of fun!

Geschrieben in Gnu/Linux, OpenSuse, Powershell | Kommentare deaktiviert für PowerShell in openSUSE Leap 42.2 installieren

Docker in openSUSE Leap 42.2 installieren

8. März 2017 von Christian Imhorst

Mit der Open-Source-Software Docker kann man Anwendungen durch Betriebssystemvirtualisierung in Containern isolieren. Die Version in den Repositories von openSUSE Leap 42.2 ist etwas veraltet. Um an die aktuellste Version von Docker zu gelangen, benötigt man das entsprechende Repository und wird deshalb erst Mal mit sudo su zum Superuser Root, um es dann hinzuzufügen:

zypper ar https://yum.dockerproject.org/repo/main/opensuse/13.2/   docker-main

Daneben benötigt man auch noch den öffentlichen Schlüssel für das Docker Repo:

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF76221572C52609D"

Bevor man die Installation startet, sollten alle Reste einer vorangegangenen Installation gelöscht werden:

zypper rm docker docker-engine runc

Sollte es dabei während des Löschens zu Problemen kommen, muss man zu etwas härteren Maßnahmen greifen:

rpm -e --noscripts docker-engine
rm -rf  /var/lib/docker

Aber Vorsicht: Dabei werden alle bereits existierenden Container gelöscht.

Danach wird die Installation von Docker gestartet:

zypper refresh
zypper up
zypper in docker-engine

Nach der gelungenen Installation wird Docker gestartet und der erste Testlauf angestoßen:

service docker start
docker run hello-world
 
    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Wenn man Docker oder ein bestimmtes Docker-Image schon beim Systemstart aktiv haben möchte, findet man eine Anleitung in der Docker Dokumentation.

Geschrieben in Gnu/Linux, Open Source, OpenSuse | Kommentare deaktiviert für Docker in openSUSE Leap 42.2 installieren

« Previous Entries Next Entries »