Linux – einfache Print Option für Nemo

Das habe ich schon lange vermisst: Im Filemanager, egal ob Nemo oder Nautilus, eine Print Option zu haben. Die Jahre zogen ins Land und die Option blieb in weiter ferne. Bis heute … \o/

… und so zogen sie los, und machten es selbst …

Wir brauchen :

  • – einen Texteditor nach Wahl
  • – ein Druckprogramm
    – eine Nemo Action

Hintergrundwissen

Eine Nemo Action ist eine Datei, die einen Eintrag im Context-Menü von Nemo erzeugt. Analog gibt es das auch für Nautilus, da die das beide von Gnome-Files mitgeforkt haben. Entweder kann ein Benutzer eine eigene Action unter ~/.local/share/nemo/actions  ablegen oder systemweit kann man das unter /usr/share/nemo/actions machen, dazu braucht man dann aber auch die nötigen Root-Rechte.

In der Datei kann ich sagen, welches Tool aufgerufen werden soll, wie die Files dem Tool übergeben werden, wie das Icon aussehen soll usw. Alle Änderungen funktionieren zur Laufzeit von Nemo, so daß wir es nicht laufend neustarten müssen, was extrem praktisch ist.

Die Nemo Action

Wir nehmen für unsere Action das lokale Verzeichnis ~/.local/share/nemo/actions und erzeugen eine Datei namens print.nemo_action

[Nemo Action]
Name=Print
Comment=Printing from Nemo

#Exec=gnome-terminal -x sh -c "echo %F | less"
Exec=<print.sh %F>
Icon-Name=document-print
Selection=Any
Separator=;
Extensions=txt;pdf;jpg;gif;png

Wie man sieht, ähnelt die Datei von Aufbau einer Desktopdatei, was kein Zufall sein dürfte 😉

Wir können also beliebige Experimente machen, was man oben im #Exec Kommentar sehen kann.  Die Auskommentierte Anweisung öffnet ein Terminal, gibt per Echo die Files aus, die selektiert wurden und piped das an Less, so daß man das sehen kann. Ohne Less würde das Fenster sofort wieder zu gehen.

Die Anweisung „Exec=<print.sh %F>“ bezieht sich auf einen Befehl, hier ein Bashscript, im Actionsverzeichnis selbst, statt auf absolute Pfade zurück zugreifen.

Mit „Extensions=txt;pdf;jpg;gif;png“ legen wir fest, daß wir nur im Context von diesen Endungen angezeigt und ausgeführt werden wollen. Sinnvoll, denn MP3 Files kann man zwar drucken, aber das Ergebnis dürfte ernüchternd sein.

Der Separator „;“ ist wichtig, weil sich sonst Filelisten mit „Leerzeichen“ im Dateipfad oder -namen  nicht parsen liessen.
Wer das ohne versucht, wird todsicher scheitern, sobald ein “ “ irgendwo auftaucht.

„document-print“ ist ein Theme übergreifender Symbolname, so daß Hoffnung besteht, das neben Adwaita auch andere Themes ein Symbol parat haben werden.

Wer alle Optionen kennenlernen will, die in so einer Action benutzbar sind, kann sich das hier ansehen:

https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/actions/sample.nemo_action

Das Print-Bash-Script

Das Bashscript ist für unsere Zwecke ausreichend, die keine besonderen Anforderungen an das Drucken stellen:

#!/bin/bash

IN=$*
date -R > ~/.local/share/nemo/actions/print.log
IFS=";" read -ra FILES <<< "$IN"
for i in "${FILES[@]}"; do
 echo "processing $i" >> ~/.local/share/nemo/actions/print.log
 lp -o fit-to-page "$i"
done

nochmal im Einzelnen :

IN=$*

Liest alle Argument in die Variable IN ein.

date -R > ~/.local/share/nemo/actions/print.log

Initialisiert unser Logfile, damit wir etwaige Fehler erkennen können.

IFS=“;“ read -ra FILES <<< „$IN“

Splittet die Argumentenliste am „;“ auf, so daß wir wissen, was zum Filenamen gehört und was nicht. Das Ergebnis kommt in einen Array, der in der For-Schleife durchgeackert wird:

for i in „${FILES[@]}“; do
      echo „processing $i“ >> ~/.local/share/nemo/actions/print.log
      lp -o fit-to-page „$i“ >> ~/.local/share/nemo/actions/print.log
done

lp ist unser Druckbefehl. Der kann PDF, Txt und alle gängigen Grafiken drucken. die Option „-o fit-to-page“ passt das Printgut an die maximal Größe der Seite an aka. wir drucken immer mit 100%. Sollte es ein ganz kleines Bild sein, wird es später stark vergrößert sein.

Den jeweils letzten Printjob kann man sich dann im Logfile ansehen, wo hoffentlich keine Fehlermeldung stehen wird 🙂

Vorteile

Der große Vorteil dieser ganzen Action ist, daß die Reihenfolge genau so sortiert ist, wie im Nemo auch angezeigt wird. Damit können wir z.b. einen Stapel Rechnungen nach Rechnungsnummern sauber in der richtigen Reihenfolge drucken.

Files zum Drucken selektieren

Wenn man z.b. alle selektierten PDF Rechnungen mit Evince öffnen würde, könnte man das nicht mehr, bzw. nur mit großen Aufwand. So ist das jetzt ein Klacks! Dateien markieren, Print auswählen und Papiere einsammeln.

Gedruckt wir das Ganze dann an den Standarddrucker.

Heldenapplaus bitte in der Kommentarsektion abgeben, Reklamationen auch. Ich optimiere das gerne weiter 🙂

Linux – Jitsi Probleme mit Sipgate beheben

Seit SIPGate vor einigen Monaten an Ihrer Infrastruktur unangekündigt Veränderungen vorgenommen hat, verliert die Linuxversion von Jitsi im UDP Modus häufig die Verbindung zum Server. Dabei ist es egal, welche Version und welches Java man verwendet.

Die Abhilfe ist aber sehr leicht zu schaffen, man schaltet das automatische Proxy ab und ersetzt es mit :

Proxy:  tcpproxy.sipgate.de
Port: 5060
Bevorzugter Transport: TCP <-! Wichtig

Seit der Anpassung, funktioniert Jitsi wieder stabil mit SIPGATE.

Firefox – Windows 10 – Keeper und der Bruch

The Hacker News berichtet über einen Fall, der an den FireFox & Mr.Robot Skandal von gestern erinnert, aber mit wesentlich schlimmeren Folgen für die Benutzer.

Microsoft installiert heimlich unsichere Software auf Windows 10

Wie Tavis von Google Security in seinem Blog berichtet, installiert Microsoft heimlich einen Passwordmanager namens „Keeper“ auf Windows 10 Installationen. Soweit wäre das noch kein großer Skandal, aber dummerweise .. naja.. was sollen wir sagen… der Passwortmanager hatte da wohl ein bekanntes Sicherheitsloch, mit dem Webseiten alle Passwörter aus Keeper absaugen könnten, falls Keeper aktiv ist.

Nevertheless, this is a complete compromise of Keeper security, allowing any website to steal any password. Here is a working demo that steals your twitter password…

Prekär an der Sache, genau diese Software ist in 2016 schon mal Ziel von Tavis Analysen geworden und ist damals genau mit einem ähnlichen Fehler aufgefallen. Den ganzen Beitrag könnt Ihr unten in den Quellen finden.

Jetzt könnten die Linuxtrolle unter uns natürlich sagen, mit Opensource wäre das nicht passiert, aber leider stimmt das ja nicht, wie der FireFox Vorfall ( s.o. ) ja bedauerlicherweise bewiesen hat. Mal davon abgesehen, daß der Windowsfall mit einem Sicherheitsloch einhergeht und Mozilla einfach nur die Integrität von sich und FireFox zunichte gemacht hat.

Mozilla juckt es nicht, wieso sollte es Mircosoft jucken?

Es ist Mozilla nicht mal einen Eintrag in deren Blog oder Twitterchannel wert, daß Sie heimlich Software in die  US-Firefoxe gepumpt haben (und erwischt wurden), wieso sollte es dann Microsoft kümmern, daß sie einen Passwortmanager mit Sicherheitslücke heimlich auf den PC geschoben haben ( und erwischt wurden ) ? Beide „Hersteller“ haben was gemeinsam: Sie sind dick, fett und reagieren träge auf Userfeedback.

Microsoft hat traditionell wenig übrig für Ihre Privatkundenwünsche, weil deren Kunden primär Geschäftskunden sind und deren Sorgen Vorrang haben. Kann man noch verstehen. Mozilla dagegen, ist nicht mal eine Firma, sondern nur eine Stiftung. Die sind auf Spenden und Deals mit anderen angewiesen um weiter zu machen.

Warum sie das Geld dann mit sowas verbrennen : „Mozilla is Funding Art About Online Privacy and Security“ oder „Mozilla awards research grants to fund top research projects“ entzieht sich mir völlig. Die sollen sich auf Ihren Browser und Mailclienten konzentrieren, aber da wir nichts dafür bezahlen, haben wir Enduser keine Mittel, das zu unterbinden. Genau wie bei Microsoft Windows auch, bleibt uns nur der Wechsel zu einem anderen Produkt.

Die Freiheit zu entscheiden bleibt

In beiden Fällen haben wir nur noch die Freiheit zu sagen, daß wir etwas anderes einsetzen wollen. Die Linuxuser haben Microsoft die rote Karte schon gezeigt, wird Zeit, daß wir Mozilla auch zeigen, was wir davon halten. Das dies ganz schnell gehen kann, zeigt dieser Befehl 😉

sudo dnf install seamonkey icecat  surf arora midori

SeaMonkey fällt schon mal raus, wir wollen ja von Mozilla unabhängig werden. Allerdings, ist das Teil schnell! Schneller als FireFox, allerdings gibt es kein NoScript, was spätestens zum Ausschluss geführt hätte.

gnuIceCat möchte als FireFoxclone lustigerweise die Bookmarks und Einstellungen von Chrome importieren … HÄ ?!?!?! Aber, es kommt gleich mit was lustigem als Option an:

The GNU IceCat web browser protects your freedom and your privacy!
Block execution of non-free JavaScript (experimental)
Block privacy trackers
Disable JavaScript

Ich wage einen vorsichtigen Test … NoScript … vorhanden \o/ Schon mal gut. Leider failed LibreJS bereits auf Seite 1 meines Testlaufs, es mag meine Seite nicht und möchte mir aber auch keine Möglichkeit geben, es vom Gegenteil zu überzeugen. Also *Failed*.. Davon ab, kommt ein halbes Dutzend Addons mit, die LibreJS kompatibel mit Webseiten machen. Das kann nicht gut sein 😀 Also LibreJS weg, NoScript rein.  Ok, nach einigem Hin und Her, lief das dann endlich. Der Add-On Manager  hat zwar ein derbes Layoutproblem, aber ansonsten gehts eigentlich.

Zum Witz des Tages : Surf ! Ein simpler Webbrowser… nur leider ohne jegliche Funktion, wenn man ihn so startet. Wenn in der Konsole „surf https://webseite…“ eingibt, dann startet die Webseite sogar. Die Layoutengine ist sagen wir mal „simple“ und nicht in der Lage eine Youtube Videoseite auch nur ansatzweise zu zeigen. *failed*

Der nächste Kandidat Midori macht das schon besser, aber da es Javascript nur ganz oder gar nicht gibt, auch *failed*. Nur um den Test abzurunden, erlaube ich doch mal Javascript. Es ist schnell. Schneller als FireFox. Youtube funktioniert auch (halbwegs jedenfalls), allerdings fehlen alle DevTools die man zum Entwickeln von Webseiten brauchen könnte. Die Statusleisten Funktion ist bestenfalls ein „ausreichend“, benutzbar geht anders. Vielleicht wird ja nochmal was draus.

Arora ist unser letzter Kandidat. Dieser Browser basiert wohl auf QT und Chrome, was man am Webinspector erkennen kann. Da er in die Jahre gekommen ist, ist er natürlich kein echter Kandidat. Modernes CSS ist eher nicht vorhanden, die Lade- und Renderzeiten sind mit lahm noch gut bewertet und die JS-Engine geht gelegentlich Kaffee trinken, statt zu arbeiten. Den kann man also auch vergessen.

Fazit

Es ist gar nicht so leicht vom FireFox weg zu kommen, ohne gleich wieder in eine neue Abhängigkeit, z.b. Google Chrome oder SeaMonkey zu gelangen. Dazu kommen halt inhaltliche Schwächen der anderen Alternativen.

Den IceCat muß man hier wohl als Testsieger nennen. Basiert zwar auf Mozillacode, aber ist eben nicht (ganz) Mozilla.

Quelle: https://thehackernews.com/2017/12/windows-10-password-manager.html
Quelle: https://bugs.chromium.org/p/project-zero/issues/
Quelle: https://drewdevault.com/2017/12/16/Firefox-is-on-a-slippery-slope.html

Update: 22.12. Tavis seinen Namen zurückgegeben.