Fryboyter

CopyQ - Text ohne Formatierung kopieren

Wie vor kurzem schon angemerkt, nutze ich für die Zwischenablage nun CopyQ. Im Grunde bin ich damit zufrieden, aber es stört mich, dass der Text immer inkl. eventuell vorhandener Formatierungen kopiert wird. Leider gibt es in den Einstellungen keine Möglichkeit dies abzustellen.

CopyQ bietet allerdings die durchaus mächtige Funktion an, neue Befehle zu erstellen. Mit diesem lassen sich auch vorhandene Befehle überschreiben. Wie eben das Kopieren von Text. Hierfür ist folgender Code nötig.

[Command]
Automatic=true
Command="
    copyq:
    if (dataFormats().indexOf(mimeHtml)) {
      removeData(mimeHtml)
      copy(mimeText, data(mimeText))
    }"
Icon=\xf031
Input=text/plain
Name=HTML ignorieren

Diesen kopiert man einfach und öffnet dann in CopyQ mittels F6 (alternativ Datei -> Befehle/Globale Tastenkombinationen…) das Fenster in dem man die Befehle erstellen kann. Dort findet man rechts unten die Schaltfläche “Befehle einfügen [Strg+V]". Klickt man darauf wird der eben kopierte Code eingefügt. Anschließend klickt man noch auf OK und das war es schon. Von nun an wird jeder Text ohne Formatierungen in die Zwischenablage eingefügt.

Linux | OSBN

Fuzzy Finder für die ZSH

Gestern hatte ich in einem Anfall von Wahnsinn meine Konfiguration der ZSH_aufgeräumt. Anstelle von zwei Dateien habe ich nun sieben mit ziemlich viel Kommentaren. Dafür kann man endlich nachvollziehen welcher Eintrag was macht und es ist alles ordentlicher. Nur beim Aufräumen ist aber nicht geblieben.

Die Suchfunktion in der Historie hat mir in letzter Zeit irgendwie nicht mehr zugesagt. Daher habe ich fzf (command-line fuzzy finder) getestet. Nach dem Installieren das Pakets muss man nur folgende Einträge in die .zshrc eintragen.

source /usr/share/fzf/key-bindings.zsh
source /usr/share/fzf/completion.zsh

Wenn man nun mittels Strg + R in der Historie suchen will erhält man erst einmal eine etwas ungewohnte Anzeige, die aus den letzten Einträgen besteht. Erst einmal nichts besonderes. Sucht man aber beispielsweise nach “pac” für pacman, bekommt man schon deutlich besser aufbereitet Ergebnisse angezeigt.

Mit den Cursor-Tasten lässt sich dann der gewünschte Eintrag auswählen. Angezeigt werden wohl standardmäßig immer 8 Einträge. Wenn mehr Einträge vorhanden sind, kann man allerdings auch weiter nach oben scrollen.

Fzf lässt sich aber nicht nur für die Historie der Shell nutzen. Verwendet man anstelle von Strg + R Strg + T kann man “fuzzy” nach Dateien und Verzeichnissen suchen. Hierbei wird allerdings das normale find verwendet. Somit ist zumindest dieser Teil, gerade bei vielen Dateien nicht gerade schnell. So wie der Sourcecode aussieht kann man diesen aber vermutlich schnell anpassen, dass statt dessen das schnellere fd verwendet wird. Ein weiterer Shortcut wäre ALT + S mit dem man nach Verzeichnissen suchen und direkt in diese wechseln kann.

Alles in allem konnte ich mit fzf nun drei Erweiterungen komplett ablösen. Diese habe zwar keine Probleme gemacht, aber weniger ist ab und zu auch mehr. Fzf sollte meines Wissens nach auch unter Fish und Bash funktionieren.

Linux | OSBN

Bestimmte Zeilen aus der Historie entfernen

Manche Sachen wie Passwörter oder andere sensible Daten sollten nicht in der Historie der Shell landen. Wenn ich daran denke, setze ich vor dem Befehl ein Leerzeichen, so dass der betreffende Befehl in der Historie erscheint. Oft denke ich aber nicht daran. Daher habe ich mir jetzt eine Funktion erstellt, mit der ich die Einträge schnell wieder entfernen kann.

Im Verzeichnis ~/.func liegen meine Funktionen. Dort habe ich einfach die Datei clrhist angelegt und mit folgendem Inhalt befüllt und abgespeichert.

function clrhist() {
awk -i inplace -v rmv="$1" '!index($0,rmv)' "$HISTFILE"
}

Damit diese Funktion funktioniert, ist abschließend noch der Eintrag source ~/.zfunc/clrhist in der .zshrc nötig. Vermutlich sollte das ganze in dem Fall auch für andere Shells wie die bash funktionieren. Hier wäre der Eintrag dann in der .bashrc nötig.

Nehmen wir nun als Beispiel an, das wir in geistiger Umnachtung das Passwort “passwort123” als Befehl eingegeben haben. Mit clrhist passwort123 lässt sich der Eintrag nun aus der Historie der Shell tilgen. Hierbei werden aber auch Zeilen wie “echo passwort123” oder “grep passwort123 /etc” gelöscht.

Linux | OSBN

Rclone - Daten mit mehreren Cloud-Anbietern synchronisieren

Wie nun bekannt wurde, wird der Cloud-Anbieter Dropbox demnächst unter Linux nur noch Daten auf unverschlüsseltem ext4-Dateisystem synchronisieren. Bisher hatte ich dort meine verschlüsselten Datenbank-Dumps hochgeladen. Allerdings werde ich wegen einem Programm definitiv nicht von Btrfs auf ext4 umsteigen.

Da ich die Daten weiterhin gerne “offside” speichern und diese dann mit einem meiner Rechner herunterladen würde, habe ich mich spontan für pCloud als Alternative entschieden. Diesen Dienst nutze ich schon seit längerem ohne Probleme unter Linux und Windows. Zudem hat dieser seinen Sitz in der Schweiz und nicht in den USA. Für die Sicherung auf Dropbox hatte ich bisher den Dropbox-Uploader genutzt. Ein solches einzelnes Script gibt es scheinbar für pCloud nicht. Ist wohl nicht bekannt genug. Nach etwas Google-Fu bin ich allerdings auf rclonegestoßen. Mit diesem Tool lassen sich Daten mit diversen Cloud-Anbietern aber auch über SFTP, HTTP oder WebDAV synchronisieren.

Die Einrichtung von rclone ist dank der Dokumentation ein Kinderspiel. Im Grunde reicht es die Binärdatei rclone herunterzuladen und rclone config auszuführen. Hierbei wird dann das eine oder andere abgefragt, was aber kein größeres Problem darstellt. Alles in allem dürfte die Umstellung von Dropbox-Uploader auf rclone inkl. lesen der Dokumentation und Anpassung des Backup-Scripts keine 10 Minuten gedauert haben. Wer also auch von Dropbox weg will, sich aber kein eigene Upload-Script bauen will, sollte sich rclone einmal ansehen. Das Tool ist übrigens unter der MIT Lizenz veröffentlicht und das Projekt gibt es seit ca. 6 Jahren und wird aktiv weiterentwickelt. Somit sollte es auch in absehbarer Zeit noch funktionieren.

Linux | OSBN

KeePassXC - Autotype außerhalb des Browsers ausführen

Um mich zum Beispiel in einem Forum einzuloggen, nutze ich KeePassXC in Verbindung mit der Erweiterung KeePassXC Browser, die es für die verbreitesten Browser gibt. Hier erfolgt die Zuordnung der Zugangsdaten anhand der in Keepass hinterlegten URL. Was aber wenn es keine URL gibt? Zum Beispiel bei Steam.

Auch hierfür gibt es eine Lösung. In KeePassXC wählt man einfach den betreffenden Eintrag aus und klickt links auf “Auto-Type”. Unter “Fenster-Einstellungen” klickt man links auf das Pluszeichen und trägt dann beim Fenstertitel “Steam Login” (ohne “) ein weil dies eben der Titel des Fensters ist. Und klickt anschließend auf “Anwenden”. Öffnet man nun Steam und führt den Shortcut für Autotype in KeePassXC aus, sollte es funktionieren. Eigentlich. Bei mir wurde als Benutzername aber immer der Benutzername und das erste Zeichen des Passworts eingetragen (keine Ahnung ob nur ich betroffen bin, oder ob das ein allgemeiner Bug ist). Nach einigen Versuchen habe ich hierfür zumindest einen Workaround gefunden.

Man wählt erneut den betreffenden Eintrag in KeePassXC und öffnet dort wieder die Einstellungen für Auto-Type aus. Unter dem Fenstertitel bei dem wir gerade “Steam Login” eingetragen haben, findet man “Spezielle Auto-Type-Sequenz für dieses Fenster verwenden”. Hier sollte {USERNAME}{TAB}{PASSWORD}{ENTER} eingetragen sein. Dies ändert man nun auf {USERNAME}{DELAY 1000}{TAB}{DELAY 1000}{PASSWORD}{ENTER} ab und klickt wieder auf “Anwenden”. Nun sollte der Benutzername eingetragen werden, dann wird eine Sekunde gewartet. Dann wird in das Passwortfeld gewechselt und wieder eine Sekunde gewartet. Anschließend wird das ganze noch mit Enter bestätigt. Vermutlich kann man hier die Verzögerung auch noch verkürzen. Aber da es mich nicht stört, lasse ich es erst einmal so.

Linux | OSBN