Archiv des Autors: admin

WordPress Installation auf Linux Mint

Jetzt wirds Zeit für die berühmte 5-Minuten-Installation von WordPress. Ob mir systemseitig noch was fehlt, werde ich im Laufe des Vorgangs schon noch merken, dann muss man nachfassen.

Normalerweise fängt man damit an, dass man sich die neueste WordPress-Version herunterlädt. Ich spare mir diesen Schritt, weil ich ein „ziemlich neues“ WordPress auf der Festplatte ligen hab, das muss es tun. Ich gehe also direkt zu Schritt zwei.

WordPress entpacken und Dateien in das dedizierte WebSerververzeichnis hochladen

Gehts scho los, das Verzeichnis var/www/html ist schreibgeschützt.  Ich öffne es als Administrator, lege ein neues Verzeichni wp_test an und kopiere meine WordPress-Dateien da rein. Dann surfe ich zu localhost/wp_test. Ah, was sehen meine entzückten Augen:

willkommen wp

Jetzt müssen als erstes die Datenbank daten eingetragen werden:

„Kann nicht in die Datei wp-config.php schreiben.

Du kannst die Datei wp-config.php manuell erstellen und den nachfolgenden Text dort einfügen.“

Ah ja. Dann wollen wir uns mal den Text kopieren. Und auf Installieren klicken.

5 minuten

Nach Eingabe der Basisdaten auf OK drücken, und was soll ich sagen, es funktioniert!

wp erster beitrag

Ich hasse übrigens den Block-Editor Gutenberg und nahme immer als erste heilige Handlung die Installation des Classic Edistor Plugins vor, das habe ich mir diesmal geschenkt. Aber einen Beitrag konnte ich auch so verfassen, und das reicht mir als Funktionstest. Also: Hurra, das erste WordPress auf Linux Mint läuft!

sekt

Das hat jetzt erstaunlich reibungslos funktioniert. Ich bin aber noch lange nicht fertig. Wir laufen nämlich auf PHP 8.3, und ich muss auf 8.4 testen. Aber nicht den übernächsten Schritt vor dem nächsten tun, jetzt muss ich erstmal testen, ob das mit dem Duplicator auf meinem LinuxRechner auch funktioniert. Dazu habe ich schon mal ein Backup eines kleineren Blogs durchgeführt. Morgen sehe ich dann, ob ich das lokal zum Laufen kriege.

Back to the Roots: ein lokales WordPress unter Linux, die Voraussetzungen

Die Lernkurve sollte recht steil sein, was ich bislang an Doku zum Thema gelesen habe, erfordert doch einiges an Linux-Kenntnissen, die ich nicht habe. Ich frett mich aber schon durch, wär doch gelacht!

Esrtmal machen wir eine Bestandsaufnahme. Wenn mans sauber macht, legt man für sowas ein Betriebshandbuch an, ich dokumentiere meinen Kram lokal in meinem WordPress-Arbeitsverzeichnis, und hier im Blog.

Webserver

Apache2. install über die Anwendungsverwaltung.

Starten: sudo systemctl start apache2

Funktional? sudo systemctl status apache2

Test: Aufruf von localhost im Browser, sollte die Apache Default Page bringen.

apachedefaultpage

Falls die Seite nicht angezeigt wird, prüfen ob man http://localhost sauber eingegeben hat, der Browser macht gern ein https draus. Beim ersten Aufruf kann es auch sein, dass man den Browser erst herzlich bitten muss, eine unsichere Seite anzuzeigen.

PHP (Version)

installieren:

sudo apt install php8.3-cli

Test

eine kleine php-Datei erzeugen, die beispielsweise dies enthält

phpinfo();

Die kommt ins Stammverzeichnis des Webservers, defaullt ist var/www/html (als Admin öffnen)

phpinfo

Wenn der Browser kein PHP interpretiert

Das ist der Fall, wenn beim Aufruf von phpmyadmin der Sourcecode angezeigt wird.
Oft ist PHP installiert, aber das Apache-Modul libapache2-mod-php fehlt.

Lösung: Installieren Sie das Modul und aktivieren Sie es. Öffnen Sie das Terminal und geben Sie ein:

sudo apt update
sudo apt install php libapache2-mod-php
sudo a2enmod php8.x # Ersetzen Sie 8.x durch Ihre installierte Version (z.B. 8.3)
sudo systemctl restart apache2

Datenbank Server

Mysql Server. Install über die Anwendungsverwaltung.

Starten: sudo systemctl start mysql

Funktional? sudo systemctl status mysql.

Konsole Testen:

sudo mysql --user=root mysql

prompt

Konsole beenden mit exit;

phpmyadmin

Install über die Anwendungsverwaltung.

Test: http://localhost/phpmyadmin/ im Browser aufrufen

phpmyadmin

Mit einem Admin-User einloggen, dann kann man gleich testen ob man eine neue Datenbank anlegen kann.

Haben wir alles?

Ich denke schon. Webserver, PHP, Mysql Datenbank, alles klar. Ein FTP-Programm brauchen wir nicht, da wir ja lokal arbeiten. Jetzt gehts gleich los, aber dazu gibt es einen neuen Baitrag.

 

Das war eine schwere Geburt: mysql-User mit admin-Rechten und Passwort

Das hat mich jetzt geschlagene anderthalb Tage lang beschäftigt, aber endlich habe ich ihn: meinen Admin-User mit Passwort!

Man kann sich nämlich bei der mysql-Installation ganz leicht in die Klemme bringen, der User root, der früher immer ohne Passwort ausgekommen ist, kriegt heutzutage anscheinend ein automatisch erzeugtes Passwort mit, und da hat man natürlich keine Chance. Ich habe wirklich stundenlang recherchiert, eine Nacht darüber geschlafen, und noch ein paar Stunden hingehängt. Letztendlich war das die Lösung:

mysql Konsole mit den folgenden Parametern aufrufen:

sudo mysql --user=root mysql

Am Prompt das Passwort des aktiven Linux-Users eingeben.

Folgende drei SQL-Befehle absetzen:

CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'EinsSicheresPasswort$';

GRANT ALL PRIVILEGES ON * . * TO 'dbadmin'@'localhost';

FLUSH PRIVILEGES;

Soll der andere User berechtigen können, sieht der Grant so aus:

GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'localhost' WITH GRANT OPTION;

Damit sollte man sich am phpmyadmin anmelden und alles machen können. Obs auch für einen WordPress Install reicht, wird sich zeigen, das mach ich als Nächstes.

Der erste Bug ist auch schon aufgetaucht: da fehlte noch die Berechtigung, neue Datenbanken anzulegen. Die kriegt der User mit:

CREATE DATABASE dbadmin;

Flush privileges und neu einloggen nicht vergessen!

Mal sehen, ob noch mehr Haken und Ösen auftauchen.

Jetzt brauch ich doch einen lokalen Webserver auf Linux… das übt!

Das zählt unter „Fingerübung“: einmal Install mit HIndernissen

Ich gebe zu, ich dachte erstmal ich mach es mir bequem und nehme den guten alten Xampp. Ich brauche nämlich doch einen lokalen Webserver, auch unter Linux. Warum? Als Testumgebung, weil man manche Sachen tunlichst nicht in der Produktivumgebung ausprobiert. Mein geliebtes Inselfisch-Kochbuch läuft nämlich seit dem vorletzten PHP-Update bei Strato nur noch mit der alten PHP-Version, und das ist erstens nicht schön und kostet zweitens eine monatliche Administrations-Gebühr, was mich anfuchst.

Frisch ans Werk, gegooglet und installiert, Xampp gibts auch für Linux, da heisst er Lampp. Nachdem ich erst dachte dass der Installer sich aufgehängt hat und nach etwas mehr googlen hab ich mich dann in Geduld geübt und den Installer eine halbe Stunde lang stehen lassen, dann ist er durchgelaufen. Und nachdem ich eine vorige nginx-Installation entfernt habe, die den Port 80 besetzte, liess sich auch der Apache starten!

Na wunderbar, aber es nutzt mir so erstmal nix, weil die PHP Version (8.1.25) leider ziemlich veraltet ist. Na ja, ich hätte ja auch beim googlen merken müssen, dass Xampp insgesamt als  veraltet zu werten ist… aber what shalls wie man auf neudeutsch sagt, schließlich sollte es auf Linux auch ohne gehen, Apache und Co sind ja native Linux. Ich geh mal recherchieren und melde mich später wieder.

Neue Anforderung

So, jetzt bin ich wieder da, mit einer etwas genaueren Zieldefinition, die war nämlich nicht ganz sauber. Also nochmal, mit etwas mehr Schmackes:

1. das inselfisch-Kochbuch läuft derzeit mit PHP 8.3.

2. die neueste empfohlene PHP-Version bei Strato ist 8,4

3.  beim testweise umstellen auf 8.4 ist das inselfisch-Kochbuch nicht mehr gestartet, deshalb hab ich auf die alte PHP-Version zurückgestellt und alles gelassen wie es war

4. aus den FAQs bei Strato hab ich beim querlesen entnommen, dass das manuelle testweise umstellen der PHP Version auf dem Server eine eine etwas haarige Angelegenheit ist, die meine Linux-Kanntnisse deutich übersteigt und einiges an Rechereche erfordert, z.B. wie man die .htaccess editiert. Ich habe auch was gelesen dass die manuell umgestellte PHP-Version nur solange gültig bleibt wie die Benutzersession bei Strato nicht beendet wird, aber da muss ich echt nochmal nachlesen. Da sind meine Webserver-Kenntnisse echt nicht gut genug.

Bei genauerer Überlegung stelle ich fest, dass ich eigentlich beide PHP-Versionen auf dem lokalen Webserver brauche, mit der Möglichkeit („on the fly“ wäre optimal) zwischen den Versionen umzuschalten. Ich redefiniere also mein Ziel. Und melde mich wieder ab zur neuen Recherche.

Apache intallieren

Der Webserver Apache lässt sich komfortabel über die Anwendungsverwaltung installieren, suche nach apache2. Gestartet und gestoppt wird er aus der Kommandozeile mit:

sudo service apache2 start

bzw:

sudo service apache2 stop

Zustand abfragen (erfordert Password), überprüfen ob der Server läuft:

sudo systemctl status apache2

Apache neu starten

sudo systemctl restart apache2

PHP Version installieren

sudo apt install php8.3-cli

Wenn der Browser kein PHP interpretiert

Das ist der Fall, wenn beim Aufruf von phpmyadmin der Sourcecode angezeigt wird.
Oft ist PHP installiert, aber das Apache-Modul libapache2-mod-php fehlt.

Lösung: Installieren Sie das Modul und aktivieren Sie es. Öffnen Sie das Terminal und geben Sie ein:

sudo apt update
sudo apt install php libapache2-mod-php
sudo a2enmod php8.x # Ersetzen Sie 8.x durch Ihre installierte Version (z.B. 8.3)
sudo systemctl restart apache2

Wenns das noch immer nicht gewesen war: ein neues jungfräuliches Profil in Firefox wirkt Wunder!

DB-Passwort und User nachträglich hinzufügen

Falls sie bei der Installation von MariaDB kein Passwort für ihren User vergeben haben, müssen sie das noch nachholen

CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'meinpasswort';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Dazu muss die Datenbank Console im Terminal als root gestartet werden.

mysql -u root -p

Ein paar wichtige Kommandos:

sudo systemctl start mysql
sudo systemctl status mysql
sudo systemctl stop mysql
sudo systemctl restart mysql

Haben wir jetzt einen funktionalen lokalen Webserver?

Das testen wir bei der nächsten Session. Dann gehts „back to the roots“, wir installieren WordPress, aber diesmal unter Linux. Das wird spannend!

Haushaltsbuch für Minimalisten

Ich lieeebe einfache Lösungen! Da ich umständehalber meine Haushaltsausgaben besser überwachen möchte, hab ich mir eine wirklich simple Lösung einfallen lassen. Man braucht dazu ein Spreadsheet und eine Datenbank, ich bin dazu Windows-rückfällig geworden und arbeite mit Excel und meinem heißgeliebten alten Access.

Kleiner Meckerpott zwischendurch:

ich fahre ja eigentlich auf meinem Hauptrechner sehr zufrieden mit Linux, aber was ich beim Versuch mit Base (dem LibreOffice Datenbankprogramm) meine Auswertungen zu fahren erlebt habe, war grottenmäßig. Ich hab stundenlang an einem Datenimport ASCII oder auch Excel/Calc hingeastet und nichts hat funktioniert. Keine Umlaute, kein Währungsformat, Zahl beharrlich als Text importiert und nachträglich nicht zu ändern,statt Daten zu importieren werden sie in Calc geöffnet… nee Leute, Base hat mich nicht überzeugt. Ich hab mein Spreadsheet gepackt (als xlsx gespeichert) und bin auf meinen alten Windows-Laptop umgezogen. Ah, ich sags euch, herrlich! Ein Paradies für eine alte Statistikerin wie mich!

Nachtrag: ich leiste Abbitte, es geht doch, und zwar nach dieser Anleitung:
https://help.libreoffice.org/latest/de/text/shared/guide/data_im_export.html
Ist zwar nicht ganz fehlerfrei, so werden Zahlen- und Datumsfelder nicht automatisch erkannt, und das Währungsformat fehlt gänzlich, das ist nicht schön. Es geht mit einem Umweg über Calc und die Zwischenablage, dann kann man mit einem Assistenten ähnlich wie in Access arbeiten und die zu importierenden Felder manuell auswählen. OK, wollen wir mal nicht so kleinlich sein und die €-Beträge als Number mit 2 Dezimalstellen führen. Für die Diagramme in Calc gibts dann wieder €.

Fangen wir vorne an: Die Datenerfassung

Aber ich schweife ab. Lasst uns ganz vorne abfangen. Die Grundlage jeder Statistik ist die Datenerfassung, da beißt die Maus kein Faden ab. Heißt in der Praxis: überall Kassenzettel mitgeben lassen und täglich eintippen. Manchen Läden bieten auch einen sog. e-Bon an (Kassenzettel elektronisch übermittelt) aber das hab ich noch nicht ausprobiert. Also reinhacken, und zwar in einer für die Auswertung sinnvollen Form. Dazu nimmt man gern eine Tabellenkalkulation wie Calc oder Excel, weil die angenehm zu bedienen sind. Meine Haushaltsbuch-Erfassungs-Tabelle sieht so aus:

flatfile

Das Flatfile

Ich höre schon den Aufschrei aller alten Datenbankler: das ist doch redundant und nicht normalisiert! Das, liebe Freunde der Statistik, ist ein klassisches Flatfile und hat mit Datenbankkonventionen  erstmal nix zu tun. da steht halt -zig mal edeka oder Nahkauf, und auch im Sortiment und Datum gibt es vielfache Einträge und basta. ShiSho (shit in shit out) sagten meine amerikanischen Kollegen damals, wenn du die richtigen Daten nicht reingibst, kommt auch nur Mist raus. Das Sortiment ist übrigens biologisch gewachsen, das habe ich mir beim Eintippen der Reihe nach einfallen lassen. Man sollte es recht konsequent verwenden und nicht ständig neue Sortimentseinträge erfinden. Zum Tippen gehts einfach, weil das Spreadsheet eine Auto-Vervollständigen-Funktion hat und es reicht wenn man nur die Anfangsbuchstaben eintippt. Das Datum gibt man pro Kassenzettel nur einmal ein und ziehts dann mit Copy and Paste runter.Beim Artikel sollte man ein wenig Disziplin walten lassen und die Namen für gleiche Artikel gleich schreiben. Andererseits ist eine Auswertung auf Artikelbasis schon ziemlich esoterisch, das reicht mir wenn ichs im Flatfile sehen kann.

Also, wir haben folgende Felder:

Artikel Preis Laden Datum Sortiment

Dann tippen wir brav unsere Kassenzettel ein. Wenn man das gleich jeden Tag erledigt, ist es in ein paar Minuten fertig. Und eins ist wichtig: ehrlich sein, nix unterschlagen, auch nicht das Eis am Sonntagnachmittag oder den Kaffee und Kuchen in der Konditorei.

Kleine Erklärung zwischendurch

Sie vermissen die „grossen“ Ausgaben wir Miete, Strom, Heizung, Telefon etc? Die sehe ich auf meinem Kontoauszug, und ich kann sie beim besten Willen nicht ändern. Natürlich kann man versuchen Strom zu sparen und statt die Heizung anzudrehen einen warmen Pullover anzuziehen, aber wir wollens mal nicht übertreiben. Ein wichtiger Posten allerdings fehlt bei mir, weil ich kein Fahrzeug habe: die Benzinkosten. Die treiben in vielen Haushalten die Kosten in die Höhe, und man sollte schon ein Auge darauf haben.

Erfassung fertig – und erste Schritte im Spreadsheet

Es lohnt sich schon nach etwa zwei Wochen, eine erste Auswertung zu fahren. Als erstes setzt man mal eine Summe unter die Spalte mit dem Preis, das sind logo die gesamten Ausgaben.

summepreis

Nützliches Werkzeug: der AutoFilter

Dann spielt man ein bisschen mit einem Auto-Filter und schaut sich mal an, wieviel man in einem bestimmten Laden ausgegeben hat, und zum Beispiel noch was man alles für einzelne Sortimente gekauft that. Leider ließ sich mein Screenshot-Utility nicht dazu überreden, das Autofilter-Fenster aufzunehmen, aber es ist eigentlich selbsterklärend. Man kriegt z.B. eine Liste alle vorhandenen Läden angezeigt, und kann einen oder mehrere auswählen. Ich nehme mal nur den  nahkauf: Und sehe sofort, dass ich da spätestens jeden zweiten Tag einkaufe.

nahkauf

Oder ich schau mir mal an, was ich so an Fleisch und Wurst eingekauft habe:

fleischwurst

Mhm, das ist recht viel. Man sieht hier auch rote Zahlen, die werden vom EKPreis abgezogen, das ist der sogenannte Frischerabatt wenn das MHD naht und die Ware heruntergesetzt ist. Ich schlag da ganz gern zu, das ist ja noch einwandfrei, man muss es nur zeitnah verbrauchen.

Seht ihr wie der Hase läuft? Mit dem Flatfile im Spreadsheet kann man sich schon ein bisschen mit den Daten vetraut machen, ehe es ernst wird und die Datenbank zum Einsatz kommt. Nicht verbasteln, die grossen Auswertungen mit Summen und Gruppierungen machen wir in der Datenbank, da gehts viel einfacher als im Speadsheet! Finde ich jedenfalls.

Auf gehts zum Datenbanken

Wenn man mit Calc gearbeitet hat, speichert man die Datei als xlsx ab, mit Excel erübrigt sich das natürlich. Dann, täterätää, gehts los: Access aufmachen und eine neue leere Datenbank anlegen.

(Anmerkung am Rande: wenn jemand herausfindet, wie man das Flatfile korrekt nach Base importieren kann, bitte Bescheid sagen! Ich habs aufgegeben und bleib bei Access.)

Zuerst müssen wir unser Flatfile laden. Das geht folgendermassen:

Unter externe Daten auf das Excel-Icon klicken, mit durchsuchen zum Excel-File navigieren, dden ersten Punkt „Importieren in eine neue Tabelle“ auswählen. Dann wird ein Auszug des ersten Arbeitsblattes angezeigt. Der Excel-Import in Access importiert immer nur ein ausgewähltes Arbeitsblatt, das ist eigentlich logisch, weil ja nur in eine einzelne Tabelle importiert wird. Man vergewissere sich, dass das richtige Arbeitsblatt angezeigt wird, und klickt auf Weiter- Erste Zeile enthält Spaltennamen auswählen, kurz drüberschauen ob alles paßt, weiter. Jetzt kommt ein eminent wichtiger Schritt, nämlich die Vergabe der richtigen Datentypen für die einzelnen Felder. Es ist eigentlich selbsterklärend:

Artikel Text, Preis Währung, Laden Text; Datum Datum/Uhrzeit, Sortiment Text. Und Schuss 🙂

Primärschlüssel soll von Access hinzugefügt werden, Weiter, Tabellenname vergeben, ich wähle „Rohdaten“, Fertig stellen. Wer möchte kann sich die Importschritte für die Zukunft speichern.

Ich öffne die Tabelle, und Halleluja, es kann losgehen!

tabelleinacc

Die erste Abfrage: wofür gebe ich mein Haushaltsgeld eigentlich aus?

Dafür werten wir den Preis pro Sortiment aus, da kommt dann raus was ich für Fleisch, Molkereiprodukte, Porto usw. tatsächlich ausgegeben habe. Ich mach sowas gern im Assistenten, die ganz harten Freaks tippen das SQL ein. Aber schön der Reihe nach, damit auch jeder mitkommt.

Das ist jetzt echt Access für blutige Anfänger, aber einmal exerzieren wir es durch, damit sich auch Leute zurechtfinden die noch nicht viel mit Access und Datenbanken überhaupt gearbeitet haben. Wir rufen den Abfrage-Assistenten auf, der steckt unter Erstellen/Abfrage-Assistent Icon, und wählen Auswahlabfrage-Assistent.  Als zugrundeliegende Tabellen müsste eigentlich unsere Rohdaten drinstehen, wir haben ja nur die eine Tabelle. Wir wählen die Felder Preis und Sortiment, und weiter. Detail sollte angewählt sein, weiter. Abfrageentwurf anwählen, fertig stellen. Das sieht so aus:

auswahleditor

Unten sind unsere gewählten Felder eingeblendet. Eminent wichtig ist oben in der Menüleiste das Summenzeichen, damit blenden wir nämlich die Aggregatfunktionen ein, die wir für diese Auswertung brauchen. Der Preis wird summiert und absteigend sortiert, das Sortiment wird gruppiert, so soll es aussehen:

summegruppierung

Wenn wir jetzt die Abfrage ausführen, erhalten wir folgendes prächtige Ergebnis:

abfrage_ergebnis

Na bitte, juckt es sie da nicht in allen Excel-oder Calc-Fingern, das schreit doch nach einem Diagramm-Törtchen! Calc möchte übrigens die Daten genau andersherum, also in der ersten Spalte die Beschriftung, in der zweiten Spalte die Summe von Preis. Sonst wirds kompliziert…

Ich hab wieder Linux zum Zug kommen lassen und machs mit Calc.

preisprosortimenttorte

Na, das war doch jetzt gar nicht schlimm, oder? Für Perfektionisten liefere ich noch das SQL der Abfrage nach:

SELECT Sum(Rohdaten.[Preis]) AS SummevonPreis, Rohdaten.[Sortiment]
FROM Rohdaten
GROUP BY Rohdaten.[Sortiment]
ORDER BY Sum(Rohdaten.[Preis]) DESC;

Weitere interessante Abfragen

Ich machs mir leicht und zeige hier nur das SQL, im Assistenten kanns sichs jeder selber zusammenpfriemeln. Da wäre als nächstes interessant, wieviel Geld ich in welchen Laden getragen habe, also die Summe über den Preis gruppiert nach Laden… hach ich liebe SQL, das ist doch sehr gut verständlich und einleuchtend:

SELECT Sum(Rohdaten.[Preis]) AS SummevonPreis, Rohdaten.[Laden]
FROM Rohdaten
GROUP BY Rohdaten.[Laden]
ORDER BY Sum(Rohdaten.[Preis]) DESC;

preis_pro_laden

Als letztes machen wir noch die Ausgaben pro Tag, für die ist ein Balkendiagramm sinnvoll. Erst das SQL:

SELECT Sum(Rohdaten.Preis) AS SummevonPreis, Rohdaten.Datum
FROM Rohdaten
GROUP BY Rohdaten.Datum
ORDER BY Rohdaten.Datum;

pro_tag_balken

Na, das ist doch mal aussagekräftig… jetzt kann man hingehen und in den Rohdaten nachschauen, was bei den Spitzenwerten an einem bestimmten Tag ausgegeben wurde, aber damit lasse ich euch jetzt alleine, da kann jeder selber spielen. Mir jedenfalls hat es Spaß gemacht, und ich liebe es, mein Haushaltsbuch auszuwerten. Da macht sogar das Kassenzettel erfassen Spaß!

Cinnamon Screenshots mit einem kleinen Trick

Ich brauche für meine Doku öfter mal Screenshots, entweder vom ganzen Bildschirm oder von einem Untermenü/Kontextmenü. Unter Windows war das die Taste druck für den ganzen Screen, alt+druck für das aktuelle Fenster.

Unter Cinnamon liegt auf meinem System das Foto vom ganzen Bildschirm auf fn-druck, ein Foto von Menüs ist nur mit einem kleinen Trick machbar. Man braucht dazu das Utility Bildschirmfoto, ich habs mir gleich mal in die Manüleiste geklemmt. Wenn man hier ein paar Sekunden Wartezeit einstellt, kann man das gewünschte Untermenü nach Klick auf die grüne Schaltfläche „Bildschirmfoto aufnehmen“ öffnen , warten bis es klickt und schon hat mans.

sekunden

Eigentlich müsste es auch funken wenn man sich eine eigene Tastaturbelegung bastelt, mir hat ein superuser im LMU Forum diesen Tipp gegeben:

sh -c "gnome-screenshot -f /tmp/$(date +%d_%m_%y_%H_%M_%S).png"

Da muss ich mich mal schlau machen, vielleicht krieg ichs ja hin.

Mein erstes Programmierprojekt unter Linux: eine eigene Dateimanager-Erweiterung

Das einzig senkrechte Mittel um ein neues System kennenzulernen ist ein Projekt, das etwas bestimmtes tun soll. Nützlich für die Motivation ist es, wenn das ein sinnvolles Arbeitsziel ist, weil man dann zielgerichteter  Arbeiten kann. Ich hatte da einen kleinen Wunsch, der sich eigentlich ganz einfach anhörte: ich fotografiere mehrmals täglich was mit dem Smartphone und übertrage die Foto-Dateien  einzeln per Bluetooth auf den PC. Dort werden sie oft in WordPresss hochgeladen. Dafür wäre es schick, wenn man die Dateien erst mal auf ein vernünftiges Format verkleinern würde, die kommen vom Smartphone nämlich mehrere MB groß. Mir würden aber 640×480 px reichen. Auf dem WindowsPC hatte ich dafür ein hübsches kleines Tool namens TinyPic, aber das gibts nicht für Linux. Und es gibt zwar Legionen von Grafikprogrammen, die natürlich ein JPG entsprechend verkleinern können, aber das ist in den meisten Fällen Overkill und ausserdem viel zu umständlich. Ich brauch da was einfacheres

Die kurze und schmerzlose Lösung: Dateimanager Nemo öffnen, rechter Mausklick/Bildgrössen ändern, Parameter und Bezeichnungen eingeben und anwenden. Pfüh- ist mir viel zu umständlich! Und ausserdem merkt er sich meine Eingaben nicht. Ich möchte rechter Mausklick/verkleinern anwählen können, und dann mit einem Klick eine neue Datei im Format 640×480 px erzeugen mit dem alten Namen und einem Kennzeichen, z.B, „k_“  (für klein) vorangestellt. Kein Nachfragen, kein ja/nein/abbrechen, nix nur verkleinern und umbenennen.

Ich hab mir folgendes Tutorial zu Herzen genommen:
https://cigolla.ch/einfuehrung-in-nemo-actions-anpassung-des-kontextmenues-in-linux-mint/
Damit hatrs auch ganz prinzipiell geklappt. Mit den erweiterten %-Variablen hatte ich aber massive Schwierigkeiten, die in diesem Artikel gelisteten Kürzel funktionieren nicht oder nicht wie dokumentiert,%d oder %D für Pfadnamen zum Beispiel gehen gar nicht. Das ist verdammt ärgerlich, vor allen Dingen weil es unendlich Zeit kostet herauszufinden dass der Fehler nicht an meinem Programm liegt sondern dass die Doku nicht stimmt.

So, ich habe inzwischen eine Antwort erhalten, die folgende Liste aus der Datei sample.nemo_action ist angeblich aktuell:

# Standard tokens that can be used in the Name, Comment (tooltip) and Exec fields:
#
# %U – insert URI list of selection
# %F – insert path list of selection
# %P – insert path of parent (current) directory
# %f or %N (deprecated) – insert display name of first selected file
# %p – insert display name of parent directory
# %D – insert device path of file (i.e. /dev/sdb1)
# %e – insert display name of first selected file with the extension stripped
# %% – insert a literal percent sign, don’t treat the next character as a token
# %X – insert the XID for the NemoWindow this action is being activated in.

Mit ein bisschen rumbasteln hab ichs jetzt hingekriegt, mein Eintrag taucht im Kontextmenü auf, wenn ich darauf klicke wird die Datei verkleinert und dem Namen der neuen Datei ein „k_“ vorangestellt.

Soweit so gut, es sind aber gleich zwei buggy Features aufgetaucht, die mir nicht gefallen.

1. Nach einem System Neustart tut die Nemo-Erweiterung erst wieder was, wenn ich das actions-Verzeichins manuell als Administrator öffne. Wenn ich versuche, die Berechtigung des Verzeichnisses permanent einzustellen, kriege ich eine nichtssagende Fehlermeldung.

Lösung: die Datei meine_datei.nemo_action im Kontextmenü als ausführbar einstellen

2. Screenshots unter Cinnamon? Ein Krampf! Mal gehts, mal gehts nicht, mal gehts mit Verzögerung, aktuelles Fenster fotografieren geht gar nicht. Da muss ich noch ne Runde recherchieren, aber dafür gibts einen neuen Beitrag.

Ach ja halt, hier kommt noch meine Action-Datei:

[Nemo Action]
Name=jpg verkleinern mit Kürzel
Comment=Verkleinere das ausgewählte jpg auf 640x480 px
Exec=convert -resize 640x480 %F k_%f
Icon-Name=image-x-generic
Selection=any
Extensions=jpg;
Mimetypes=application/jpeg;
Quote=double
EscapeSpaces=true

 

Ein K(r)ampf: Bluetooth unter Linux Mint

Das hat mich jetzt einen ganzen Arbeittag gekostet, bis die Bluetooth-Übertragung von meinem Samsung Smartphone zum Linux-Laptop endlich funktioniert hat. Ich habe  mir einen Wolf gegooglet, den Hardware-Setup überprüft, Dienste und Hilfsprogramme installiert, die Bluetooth-Einstellungen überprüft und an X Stellen geändert, alle möglichen Treiber aktualisiert, und so weiter und so fort, nix hat geklappt. Nach ca. einem Tag Rechereche kam dann endlich der heisse Tipp: Smartphone neu gestartet! Jetzt funkts.

Leider kann ich nicht mehr genau nachvollziehen, was denn letztendlich zum Erfolg führte. Es kann aber auf jeden Fall nicht schaden, Bluejay und den Bluetooth Manager zu installieren.  Dann ungefähr so wie hier vorgehen, dann müsste es klappen:

https://forums.linuxmint.com/viewtopic.php?t=415251

Ohne Gewähr!

Troubleshooting hier:

Fixing Bluetooth Issues on Linux: A Step-by-Step Guide
byu/im_that_guy_who inlinuxmint

Mich ärgert, wenn ich keinen definierten Lösungsweg habe, sondern alles mögliche ausprobiere und dann funkts auf einmal und man kann nicht sagen wieso. Wenn ich mal ganz viel Zeit und gute Nerven habe, schau ich ob ichs nochmal nachvollziehen kann.

Wenn es trotz allem nicht funzt, muss man evtl. im Kontextmenü des Bluetooth-Trays noch ein Hakerl setzen und ein Verzeichnis auswählen:

bluetooth kontext

Wenn jemand einen weniger wirren Weg zur Bluetooth Übertragung hat, bitte melden!

Linux Mint Cinnamon: Software die ich mir installiere

 

Ohne Anspruch auf Vollständigkeit, aber es ist doch ein ansehenliches Softwarepaket zusammengekommen.

gimpicon  Den GIMP haben wir ja bereits vor ein paar Tagen installiert, über das Terminal mit Kommandozeile. War nicht weiter schwierig und hat gut geklappt. Ich hab inzwischen schon ausführlich damit gearbeitet, läuft stabil.

vlciconVLC  Media Player hab ich mir aus der Anwendungsverwaltung geholt, das ging fix und ich musste keine Kommandozeile benutzen. Erster Test: läuft einwandfrei.

audacityiconAudacity Audio Editor, hab ich nur mal kurz angetestet, scheint einwandfrei zu funktionieren. Nützlich zum digitalisieren von analogen Schallplatten

bleachbiticonBleachbit entfernt überflüssige Dateien auf der Festplatte, so ähnlich wie CCleaner.https://www.bleachbit.org/

baseicon LibreOffice base, das Datenbankprogramm. Schau ich mir später mal genauer an, bin nur kurz durch den Assistenten zur Erstellung einer neuen Datenbank gesaust, funkt.

scribusiconScribus, Open Source Desktop Publishing. Es gibt auch noch ein zusätzliches Vorlagen Paket, ich habs mir aber noch nicht angeschaut. Scribus kann PDFs einlesen, bearbeiten  und auch wieder schreiben! Ein sehr nützliches Feature!

SANE-logo  XSane, das einzige halbwegs brauchbare Scanprogramm, das ich bisher gefunden habe. Etwas veraltete Oberfläche, gewühnungsbedürftige Bedienung. Muss ich mir nochmal näher anschauen. Nachtrag: vergisses, Skanlite funktioniert viel besser.

skanlite icon Skanlite, das beste und modernste Scanprogramm unter Linux, das ich bislang gefunden habe! Deutsches Handbuch: https://docs.kde.org/trunk5/de/skanlite/skanlite/index.html

Um vernünftig mit Skanlite arbeiten zu können, muss man die automatische Bildausschnitterkennung auschalten, die steckt unter Einrichten. Ich hab gedacht ich krieg nen Vogel bis ich das herausgefunden haben, das Programm hat alles eingescannt nur nicht meine Auswahl! Aber jetzt funktionierts hervorragend.

ommm Dranbleiben lohnt sich fast immer!

rescribeiconRescribe OCR aus der Anwendungsverwaltung .
Homepage: https://rescribe.xyz/
Erkennt Text in verschiedenen Bildformaten und in PDFs, wobei letzteres eigentlich unnütz ist, da Scribus pdf einwandfrei bearbeiten kann.
Unbedingt das Deutsche Sprachpaket installieren! Dann gibt es auch gute bis sehr gute Ergebnisse bei der Texterkennung. Anleitung und Download hier:
https://rescribe.xyz/rescribe/trainings.html

Anmerkung zu OCR unter Linux: Wer gern pfriemelt und programmiert, kann sich auch  direkt mit Tesseract amüsieren, der bekanntenten OCR-Engine, auf der auch Rescribe basiert. Ich überlasse das neidlos der nächsten Generation und benutze lieber eine grafische Oberfläche..

Sweet Home 3D icon Sweet Home 3D, Home Planner, leicht und eingängig zu bedienen, reich an Features und Vorlagen. Tolle 3D Visualisierung!

Ausser Konkurrenz::  Skype (wird im Mai abgeschaltet).
Erst snap installieren und aktivieren:
https://snapcraft.io/docs/installing-snap-on-linux-mint

Dann skype installieren:
https://snapcraft.io/install/skype/ubuntu

 

 

Linux Mint Cinnamon: Tipps und Tricks zum Einstieg

Hier kommen vermischte Tipps und Tricks hin, die mir so der Reihe nach aufgefallen sind. Ebenfalls in dieser Liste: Bugs und Features, und Workarounds. Ohne Anspruch auf Vollständigkeit-

Fenster Scrollbalken rechts breiter machen

In der Grundeinstellung sind in Cinnamon die Scrollbalken nur ein paar wenige Pixel breit, so dass man mit der Maus schon sehr genau zielen muss, und das ist ein Gefussel ohne Ende.. Es gibt zwar unter Einstellungen/Fenster/Verhalten einen Regler für die Fensterbreite, aber selbst wenn man den auf höchste Einstellung stellt, sind die Scrollbalken nur wenige mm breit. Das finde ich unschön.

So schnell gebe ich nicht auf. Eine Runde googlen hat folgendes ergeben:
Unter Einstellungen/Themen/Erweiterte Einstellungen/Einstellungen kann man die aktuelle Bildlaufleisten des Themas überschreiben, ich hab sie auf 30 px gestellt. Das ist ein bisschen besser, aber noch nicht optimal – das sind auch keine 30 px, diese Einstellung ist etwas buggy. Übrigens nicht ins Bockshorn jagen lassen, die Einstellung greift nicht auf bereits laufende Anwendungen, man muss sie mal neu starten.

Update: die Scrollbalken sind in anderen Anwendungen breiter,  nur im Firefox sind und bleiben sie so fummelig dünn. Ich recherchiere weiter.

Ah ja, hier bin ich fündig geworden:

https://www.anleitung24.com/firefox-100-scrollbars-bildlaufleisten-konfigurieren-anleitung.html

Aber fragen sie mich nicht welche Einstellung jetzt qwirklich geholfen hat, so genau kann ich das nicht mehr nachvollziehen!. Da das aber ein reines Firefox-Problem ist, lass ich es jetzt mal gut sein.

Tolle Seite mit Tastaturkürzeln

https://www.decocode.de/?linux-tastaturbefehle

Eine selbsterklärende überaus nützliche Liste! Ich habs mir gleich in die Favoriten gelegt!

Aktuelles Fenster schließen ohne Mausgefummel

Alt+f4

Braucht man ständig!

Konfiguration und Wartung, inc. Optionen wenns mal abgestürzt sein sollte

Sehr informativ und ausführlich!

https://www.decocode.de/?linux-konfiguration_und_wartung

Noch mehr von decocode.de: das Linux Dateisystem

Ausführlich zum Nachlesen, was wo abgelegt wird

https://www.decocode.de/?linux-dateisystem

Baobab Festplattenanalyse

Kann man immer wieder mal brauchen

defrag

Ist unter Linux nicht nötig.

Anti Viren Programme

braucht man auch nicht. Nein echt!

Firewall

Keine Aktion nötig.

Wenn Sie ein normaler Benutzer sind, sind Sie mit dieser Einstellung sicher (Status=Ein, Ankommend=Verweigern, Ausgehend=Erlauben).

Denken Sie jedoch daran, eine Zulassungsregel für Ihre P2P-Anwendungen zu erstellen.

Zubehör/Laufwerke

nützliches Tool zum überprüfen der Hardware.