Daten|teiler
Kopieren als Kulturtechnik

Mein erstes Makro mit Python in LibreOffice

8. Dezember 2019 von Christian Imhorst

In LibreOffice kann man Makros in mehreren Sprachen als nur BASIC schreiben, darunter zum Beispiel auch Python. Dazu benötigt man PyUNO, das die Brücke zwischen Python und LibreOffice herstellt. Damit das funktioniert, sollten die Pakete libreoffice-pyuno oder unter Ubuntu noch libreoffice-script-provider-python installiert sein. Unter Windows klappt das natürlich auch. Ob Makros in Python grundsätzlich unterstützt werden, kann man mit den Makros testen, die LibreOffice schon mitbringt. Dazu öffnet man ein neues Dokument in Writer und wählt im Menü „Extras -> Macros -> Macros verwalten -> Python…“. Unter „LibreOffice Makros“ findet man dann „HelloWorld -> HelloWorldPython“, das „Hello World (in Python)“ ins Dokument schreibt, wenn man es ausführt. Sieht man das Ergebnis, kann das installierte LibreOffice Python-Makros ausführen.

Das Python-Skript, das „Hello World“ ins Dokument schreibt, findet man unter Linux übrigens im Verzeichnis /usr/lib64/ bzw. /usr/lib/ und dann libreoffice/share/Scripts/python/, was davon abhängt, ob man die 32- oder 64-Bit-Version von LibreOffice installiert ist. Ähnlich liegt das Skript in Windows unter C:\Program Files\ oder C:\Program Files (x86)\ und dann LibreOffice\share\Scripts\python.

Eigene Makros kopiert man unter Linux im Home-Vereichnis in den Unterordner .config/libreoffice/4/user/Scripts/python/ bzw. im Heimverzeichnis des Nutzers unter Windows in den versteckten Ordner AppData\Roaming\ und dann weiter unter LibreOffice\4\user\Scripts\python. Wichtig ist bei beiden Systemen, auf die Schreibweise der Verzeichnisnamen zu achten: Es muss Scripts\python heißen, mit großem „S“ in „Scripts“ und kleinem „p“ in „python“.

Das Python_makro in LibreOffice

Ein erstes Makro könnte dann so aussehen, wie das aus dem Wiki von LibreOffice:

import uno
 
def my_first_macro_writer():
    doc = XSCRIPTCONTEXT.getDocument()
    text = doc.getText()
    text.setString('Hello World in Python in Writer')
    return

Um das Makro auszuführen, klickt man in Writer unter „Extras -> Makros -> Makros ausführen…“, dann „Meine Makros“ und wählt den Namen des Makros aus, unter den man die Python-Datei abgespeichert hat, in meinem Fall „MyFirstMacroWriter“.

Mein Makro ausführen

Eine andere Möglichkeit ist, das Makro direkt in das Dokument selbst einzubinden. Jede ODF-Datei ist eigentlich eine ZIP-Datei, die man entpacken kann. Hat man sie erfolgreich entpackt, erstellt man im Stammverzeichnis den Ordner Scripts/python/ und kopiert dort das Python-Skript mit dem Makro hinein:

Python Makro in einer ODF-Datei

Nun muss noch die Datei manifest.xml im Ordner META-INF bearbeitet werden und die folgenden Zeilen kurz vor dem schließenden Tag </manifest:manifest> hinzuzufügen:

 <manifest:file-entry manifest:full-path="Scripts/python/mymacros.py" manifest:media-type="" />
 <manifest:file-entry manifest:full-path="Scripts/python/" manifest:media-type="application/binary" />
 <manifest:file-entry manifest:full-path="Scripts/" manifest:media-type="application/binary" />

Dabei muss man darauf achten, dass der Name des Python-Skripts in der ersten Zeile gleich ist. Wenn alles gespeichert ist, stellt man das ODT-Archiv mit einem ZIP-Programm wieder her. Aber Vorsicht, es darf nicht der übergeordnete Ordner, der beim Entpacken erstellt wurde, gezippt werden, sondern nur der Inhalt des Ordners:

zip -r -Z store ../DocumentWithMacro.odt *

Will man jetzt das LibreOffice-Dokument öffnen, erscheint eine Warnung, dass es Makros enthält:

Makro-Warnung in LibreOffice

Unter „Extras -> Optionen -> LibreOffice -> Sicherheit -> Makrosicherheit“ kann man die Makrosicherheitsstufe auf „Mittel“ stellen, um die Makroausführung mithilfe einer Bestätigung zu ermöglichen:

LibreOffice Makrosicherheitsstufe auf Mittel

Danach erhält man ein Auswahlfenster, mit dem man die Ausführung von Makros zulassen kann:

Makros aktivieren zulassen

Unter „Extra -> Makro -> Makro ausführen“ findet man das Makro dann eingebunden im LibreOffice-Dokument und kann von dort gestartet werden:

Makro auswählen

Geschrieben in Gnu/Linux, LibreOffice, OpenSuse, Python | Kommentare deaktiviert für Mein erstes Makro mit Python in LibreOffice

Linux Laptop Basar: Freie Soft- und Hardware

7. November 2019 von Christian Imhorst

Am Samstag, den 30.11.2019, gibt es von 10-18 Uhr den Linux Laptop Basar für freie Soft- und Hardware in der Lernoase des Freizeitheims Vahrenwald in Hannover. Zusammen mit weiteren Mitgliedern der LUG Hannover werden wir dort einen kleinen Linux Presentation Day machen und Unterstützung beim Installieren von Linux anbieten.

Außerdem gibt es:

  • Audio Bearbeitung mit Audacity (Eric Münchow, Audio-Artist)
  • Eine Einführung in die Programmierung des Calliope Mini (Christian Mund, Medienzentrum der Region Hannover)
  • Linux auf Klein-Computern wie Rasperry Pi und Co. Was lässt sich damit alles anstellen? (Reik Kaps, Leine-Lab)
  • Selbstbau eines MakeyMakey auf der Basis eines STM32 Boards – Anleitung (Mirek Hancl)
  • Kreatives Programmieren mit Scratch und dem MakeyMakey (Heiko Idensen, Lernoase)
  • Wie kann ich bei Wikipedia mitmachen? (Wikipedia Hannover)
  • Freie Software für Android Handys: Kleiner F-Droid-Workshop (Christian Imhorst, Linux User Group Hannover)

Eine Vielzahl älterer Laptops, Rasperry Pis, Controller etc. kann man gegen eine kleine Spende erstehen.

Weitere Infos findet ihr unter: kurzelinks.de/basar

Geschrieben in Gnu/Linux | Kommentare deaktiviert für Linux Laptop Basar: Freie Soft- und Hardware

Tagesschau im Firefox gucken mit openSUSE

16. Juni 2019 von Christian Imhorst

Es muss natürlich nicht nur die Tagesschau sein, es geht um Multimedia im Allgemeinen bei openSUSE: Standardmäßig werden aus rechtlichen Gründen nur freie, offene, also nicht patentgeschützte Formate wie Ogg und Flac unterstützt. Für die Wiedergabe von Online-Videos im Firefox wird Software aus einem zusätzlichen Repository wie Packman benötigt.

Ein Repository kann unter openSUSE entweder über YaST hinzugefügt werden, indem man unter der Kategorie „Software“ auf „Software-Repositories“ klickt, dann auf „Hinzufügen“ und dann auf „Community-Repositories“. Unter Leap wird Packman gleich angeboten, unter Tumbleweed trägt man es dann ein (Adresse siehe weiter unten).

Alternativ fügt man das Repository im Terminal mit zypper hinzu:

sudo zypper addrepo -f http://packman.inode.at/suse/openSUSE_Leap_15.1/ packman

Wer Tumbleweed benutzt schreibt statt „openSUSE_Leap_15.1/“ dann „openSUSE_Tumbleweed/“. Danach werden die nötigen Pakete zuerst upgedatet:

zypper up --allow-vendor-change

Und anschließend installiert, was eventuell noch fehlt:

sudo zypper install --allow-vendor-change ffmpeg lame gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon gstreamer-plugins-libav libavdevice56 libavdevice58 libdvdcss2 vlc-codecs libavcodec56 libavcodec57 libavcodec58 libavformat56 libavformat57 libavformat58 libavdevice56 libavdevice57 libavdevice58

Die Lösung funktioniert ganz gut für openSUSE Leap und Tumbleweed, wenn man Videos in der Mediathek z.B. auf ARTE.TV, die Tagesschau, oder den Eurosport Player TV-Kanal sehen möchte.

Mehr Infos:

Geschrieben in Gnu/Linux, OpenSuse | Kommentare deaktiviert für Tagesschau im Firefox gucken mit openSUSE

Festplatte voll mit Btrfs-Subvolumes

2. März 2019 von Christian Imhorst

Ich hatte eine ganze Reihe Btrfs-Subvolumes im Dateisystem von openSUSE Tumbleweed einhängen, die Platz auf der Festplatte gebraucht haben, aber im Root-Verzeichnis leer waren. Es waren vor allem Subvolumes von Docker, die den Platz beansprucht haben:

$ sudo btrfs subvolume list /
ID 257 gen 101389 top level 5 path var/tmp
[...]
ID 1599 gen 101254 top level 5 path var/lib/docker/btrfs/subvolumes/5d6eb5431d75641963973f53ab44ffbb328981d3a3781219b0224534cb17cca3
ID 1605 gen 101254 top level 5 path var/lib/docker/btrfs/subvolumes/b4adf86f01370d6b00e3e300cf75ab9d7e540b66af91d46a794f10a78c7aa7b0
ID 1607 gen 101254 top level 5 path var/lib/docker/btrfs/subvolumes/2c35776404fa91d25d4a3009055a1c98f1d8568173fca15911f2ee4989b5f511
ID 1614 gen 101254 top level 5 path var/lib/docker/btrfs/subvolumes/4bced6174066e61a9f01bf99e2d80eddb3865b6c3593b35d4609972af90987f5-init
ID 1615 gen 101254 top level 5 path var/lib/docker/btrfs/subvolumes/4bced6174066e61a9f01bf99e2d80eddb3865b6c3593b35d4609972af90987f5
 
[...]

Meine erste Idee, sie einfach zu löschen, hat nicht funktioniert:

$ sudo btrfs subvolume delete </path/of/subvolume>
   ERROR: cannot access '<subvolume>': No such file or directory

Einen Ansatz, die Subvolumes zu löschen, der funktioniert, habe ich im Unix-Forum von StackExchange gefunden. Ich konnte die Subvolumes löschen, nachdem ich das ganze Btrfs-Volume komplett unter /mnt ins Dateisystem eingehangen habe:

$ sudo mount /dev/mapper/system-root /mnt/ -o subvol=/
$ ls /mnt
   .snapshots  dev   lib64  proc  selinux  tmp
   .w3m        etc   media  root  snap     usr
   bin         home  mnt    run   srv      var
   boot        lib   opt    sbin  sys
$ sudo btrfs subvolume delete /mnt/var/lib/docker/btrfs/subvolumes/4bced6174066e61a9f01bf99e2d80eddb3865b6c3593b35d4609972af90987f5-init/
   Delete subvolume (no-commit): '/mnt/var/lib/docker/btrfs/subvolumes/4bced6174066e61a9f01bf99e2d80eddb3865b6c3593b35d4609972af90987f5-init'

Nachdem ich mit dem Löschen der einzelnen Subvolumes fertig war, habe ich /mnt wieder ausgehangen und das Btrfs-Dateisystem neu ausbalanciert:

$ sudo umount /mnt
$ btrfs balance start -m /
   Done, had to relocate 4 out of 103 chunks
$ sudo btrfs fi df /
   Data, single: total=95.05GiB, used=61.86GiB
   System, single: total=32.00MiB, used=16.00KiB
   Metadata, single: total=1.97GiB, used=1.42GiB
   GlobalReserve, single: total=175.34MiB, used=0.00B

Der disk free Befehl zeigt nach dem Ausbalancieren, dass ich jetzt wieder über 20 GB mehr zur Verfügung habe als vorher. Jetzt muss ich mir nur überlegen, was ich mit Docker und Btrfs zukünftig mache, um mein Btrfs-Volume nicht wieder zu „überfüllen“.

Geschrieben in Gnu/Linux, OpenSuse | Kommentare deaktiviert für Festplatte voll mit Btrfs-Subvolumes

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 Linux User Group Hannover

[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

« Previous Entries