Letzte Woche bei Linux am Dienstag bauten wir die Basis-Version von Recall zusammen. Diesmal globalisieren wir den Dienst für alle User und besprechen die neusten Änderungen. Am Ende bauen wir dann noch ein RPM zusammen.

Linux am Dienstag – Programm für den 18.6.2024

u.a. im Programm am 18.6.2024, ab 19 Uhr:

  • Linux – run0 gegen sudo
  • Linux – Wir bauen am Recall weiter
  • Sicherheit – „Sleepy Pickle“ Angriff
  • Linux – Eine Zeile im Linux Kernel macht Meteor-Lake deutlich schneller
  • Sicherheit – Schwere Sicherheitslücke in Outlook

und andere IT-Newsbeiträge aus aller Welt. Wie jede Woche per Videokonferenz auf https://meet.cloud-foo.de/Linux .

Hinweis: Die bisherigen Vorträge findet man unter https://linux-am-dienstag.de/archiv/ .

Gestern gebaut, heute schon in Carola integriert

Ja, das ging schnell, weil das alles so einfach ist 😉

Gestern gebaut, heute schon in Carola integriert

Gestern Abend in Linux am Dienstag bauten wir Recall nach, natürlich nur eine simple Version, aber funktional. Da durfte die Anbindung an Carola ja nicht fehlen 🙂

Also habe ich das kurz als Plugin eingebaut. Jetzt versteht Vosk leider „Recall“ in Deutsch in keinster weise, weshalb das jetzt erst einmal „Gedächtnis“ heißt. Es wird also mit „Suche im Gedächtnis (nach) Kontostand“ angesprochen.

Die Updates für diese Funktion kommen dann auch morgen per RPM zu den Benutzern. Bislang müßt Ihr Recall aber noch selbst installieren, den Globalen Teil machen wir erst nächste Woche fertig, glaube ich jedenfalls 😉

Linux am Dienstag baut Recall nach

Update: RPM ist fertig.

 

Linux am Dienstag baut Recall nach

Aus einer Laune heraus, haben wir heute Abend einfach mal eine RECALL Funktion für den Linux Desktop gebaut 😀

Linux am Dienstag baut Recall nach

Jemand sagte: „Das sind nur drei Zeilen Bashcode…“ und das stimmt auch, es sind sogar nur zwei, aber die alleine reichen leider nicht um eine vernünftige Recall Funktion zu bauen. Es waren dann doch 20 Zeilen Bash 😉

Wir brauchen 3 Teile, damit das funktioniert:

1. einen Systemd.Timer
2. das Recall Script selbst
3. die Recallsuche
4. einige Tools: flameshot, systemd, tesseract und zenity .

Die Tools einfach aus dem Repo installieren.

Dazu legen wir erst einmal .local/systemd/user/recall.service an:

[Unit]
DefaultDependencies=no
Description=Linux am Dienstag RECALL Experiment

[Service]
Type=oneshot
ExecStart=/home/<username>/.local/bin/recall

dann legen wir .local/systemd/user/recall.timer

[Unit]
Description=Timer für RECALL

[Timer]
OnCalendar=*-*-* *:*:0/10

[Install]
WantedBy=timers.target

Dann die beiden Scripte .local/bin/recall und .local/bin/recall-ui an:

#!/bin/bash

BILDER=$(cat $HOME/.config/recall/path)

if [ "$BILDER" == "" ]; then 
exit 1;
fi

mkdir -p $BILDER

SIZE=$(du -s $BILDER/|awk '{print $1;}')

if [ $SIZE -gt 1000000 ]; then 
DNAME=$(ls -d $BILDER/*png 2>&1 | head -n 1 )
if [[ "$DNAME" =~ ^/ ]]; then 
rm -f $DNAME
fi
fi

find $BILDER -iname "*txt" -ctime +180 -delete

WLISTE=$(wmctrl -l | grep -c -E -f $HOME/.config/recall/exclude )

if [ $WLISTE -eq 0 ]; then

FILENAME=$(flameshot full -p $BILDER/ 2>&1 | sed -e "s/flameshot: info: Capture saved as //g")
tesseract $FILENAME $FILENAME

fi

und die Such-UI:

#!/bin/bash

BILDER=$(cat $HOME/.config/recall/path)

if [ "$BILDER" == "" ]; then 
exit 1;
fi

SUCHE=$(zenity --entry --text="RECALL Suchbegriff" --entry-text="" --title="Suchbegriff")

TREFFER=$(grep -l -i "$SUCHE" $BILDER/*txt| sed -e "s/\.txt$//g")

eog -n -w -s $TREFFER

Führen „chmod 700 .local/bin/recall*“  aus und legen kurz die config an:

mkdir -p .config/recall
echo „/home/<username>/Bilder/recall“ > .config/recall/path
touch .config/recall/exclude

Jetzt starten wir den Timer:

systemctl –user enable –now recall.timer

Wenn man nicht möchte, daß bestimmt Inhalte erfasst werden, z.b. die Bankseite, dann tragt Ihr den Fenstertitle aus folgender Ausgabe:

[~]$ wmctrl -l
0x02e00007 0 linux-am-dienstag.de Desktop
0x02e0000f 0 linux-am-dienstag.de nemo-desktop
0x0460003a 0 linux-am-dienstag.de Bugzilla – Mozilla Thunderbird
0x0200002c 0 linux-am-dienstag.de Google News – Mozilla Firefox
0x0aa00004 0 linux-am-dienstag.de Easy Effects
0x020012e3 0 linux-am-dienstag.de Firefox – Share-Notice

Die beiden grün markierten Fenstertitle dienen jetzt mal als Beispiel. die tragt Ihr ohne irgendwas anderes in die Exclude-Datei ein z.b. mit echo „Easy Effects“ >> .config/recall/exclude oder einfach einem Texteditor 😉  Wichtig ist, das da nur zeilenweise ein Titel nach dem anderen drin steht.

Jetzt braucht es für due Suchmaske nur noch einen Shortcut und wir sind fertig:

Und das wars schon 😀 100% Lokal.

Jetzt noch ein Wort zum Platzverbrauch:

1. wenn das Recall Verzeichnis größer als 1 GB ist, werden die ersten Bilder gelöscht.
2. die erzeugten OCR Texte werden nach 180 Tagen automatisch gelöscht.

Beide Werte könnt Ihr in den Scripten einfach ändern, wie Ihr wollt.

Viel Spaß 😉

GitHub:

https://github.com/Cyborgscode/Linux-Recall-in-bash/