Alle hier erstellten Inhalt dieser Seiten und deren Unterseite stelle ich unter der GPLv3. Ihr dürft die Inhalte gerne im Sinne dieser Lizenz weiterverwenden.
Alle auf dieser Seite und Unterseiten veröffentlichten Bilder stelle ich unter der CC BY-NC-ND1) Lizenz, wenn dieses nicht anders angegeben wurde. Ihr dürft die Bilder im Sinne der Lizenz verwenden.
Ausgeschlossen von meiner Lizenzierung sind Bilder, Inhalte, Dokumente und Informationen, die ich über extern verlinkt habe. Auch, wenn das nicht direkt ersichtlich ist. Wenn ihr/euch nicht sicher seit, dann kontaktiert mich über meine LUG-E-Mail-Adresse.
Was mich am iOS beeindruckt, ist die Texterkennung in Bildern. Inspiriert davon habe ich mal etwas gesucht und ein ähnliches Tool für Linux gefunden. gImageRader kann Text auf Bildern erkennen. Im Unterbau läuft tesseractOCR. Die Erkennung ist so gut, das man zumindest Textteile damit erkennen lassen kann, wenn die Bildqualität stimmt und sich somit das Tippen spart. In den einschlägigen .deb Distribution kann man es aus dem Repository installieren. Alternativ gibt es auch ein Flatpack.
Um im Steam Deck Plasma als Standard Window Manager zu konfigurieren, geht man wie folgt vor.
steamos-session-select plasma-wayland-persistent
eingeben
Dann wird im sddm
von gamescope
auf plasma-wayland-persistent
umgestellt.
Das Script steamos-session-select
ist unter /usr/bin
auf dem Steam Deck zu finden. Im Zweifel einfach mit einem Editor eurer Wahl reinschauen, um die restlichen Funktionen zu ergründen.
Für meinen Scan und OCR Server/Container fehlte mir noch eine Möglichkeit Rechnungen die per E-Mail kommen, direkt zu verarbeiten. Ich habe mir bei meinem E-Mail-Anbieter eine rechnung@server.tld eingerichtet. An diese E-Mail-Adresse leite ich meine PDF-Rechnungen weiter. fetchmail
holt die E-Mails ab und exportiert der Anhänge in pdf Format mit uudeview
. Das Ganze würde über crontab alle 10 Minuten ausgeführt. fetchmail
und uudeview
sind bei den einschlägigen Distributionen dabei. Bei alpine Linux musst ich uudeview
nach kompilieren. Was aber nicht wirklich kompliziert ist.
Ich betreibe das Ganze im Benutzer scan.
touch fetchmail.log
- Logfile anlegen.fetchmailrc
im Homeverzeichnis des Benutzers speichern und anpassencrontab -e
fetchmail im Intervall (bei mir 10min) aufrufen lassen und gutset logfile fetchmail.log poll pop3.server.tld proto POP3 user "login-user" pass "password" is "user" preconnect "date >> fetchmail.log" ssl fetchall no keep no rewrite mda "/usr/local/bin/uudeview +e .pdf -i -a -p $HOME - ";
Die PDF-Dokumente werden dann mit uudeview
aus der E-Mail extrahiert und im Home Verzeichnis abgelegt. Die E-Mails werden von fetchmail
aus dem Konto automatisch gelöscht. Für Testzwecke empfiehlt sich hier, ein keep
anstatt des no keep
in der .fetchmailrc
zu setzen. Solltet Ihr fragen hierzu haben, dann mailt mich einfach an.
Da der Bau eines Images unter openwrt eigentlich den selben Weg folgt, hier ein kleines Bash Script. Es ist etwas quick und dirty. Aber es sollte reichen. Das Script orientiert sich an der Anleitung aus dem openwrt.org/wiki
#!/usr/bin/bash #Link zur Anleitung: https://openwrt.org/docs/guide-user/additional-software/imagebuilder # #Pakete die unter debian zum bauen benötigt werdern. -> Siehe Anleitung #sudo apt install build-essential libncurses5-dev libncursesw5-dev \ #zlib1g-dev gawk git gettext libssl-dev xsltproc rsync wget unzip python #Archtiketur == Subpath auf downloads.openwrt.org OWRTVER="22.03.3" #Openwrt Version die gebaut werden soll ARCH="x86/64" #Variable für welche Architektur das Image gebaut werden soll #ARCH="x86/generic" #ARCH="sunxi/cortexa7" #Banana Pi unter anderem #ARCH="bcm27xx/bcm2710" #Raspberry Pi 3 ARCHSUB=${ARCH////-} #die Arch Variable wird angepasst für den Dowload des tarballs #PKGS Variable gibt an, welches Paket in das Image mit Paketiert werden sollen! -> Muss für jede Archtiktur ggf. separat angepasst werden! PKGS="base-files cgi-io dnsmasq dropbear e100-firmware e2fsprogs firewall4 fstools fwtool getrandom ip-tiny ip6tables iptables jshn jsonfilter kernel kmod-3c59x kmod-8139too kmod-bnx2 kmod-button-hotplug kmod-e100 kmod-e1000 kmod-e1000e kmod-hwmon-core kmod-i2c-algo-bit kmod-i2c-core kmod-igb kmod-input-core kmod-ip6tables kmod-ipt-conntrack kmod-ipt-core kmod-ipt-nat kmod-ipt-offload kmod-lib-crc-ccitt kmod-libphy kmod-mii kmod-natsemi kmod-ne2k-pci kmod-nf-conntrack kmod-nf-conntrack6 kmod-nf-flow kmod-nf-ipt kmod-nf-ipt6 kmod-nf-nat kmod-nf-reject kmod-nf-reject6 kmod-pcnet32 kmod-ppp kmod-pppoe kmod-pppox kmod-pps kmod-ptp kmod-r8169 kmod-sis900 kmod-slhc kmod-tg3 kmod-udptunnel4 kmod-udptunnel6 kmod-via-rhine kmod-via-velocity kmod-wireguard libblkid1 libblobmsg-json libc libcomerr0 libext2fs2 libf2fs6 libgcc1 libip4tc2 libip6tc2 libiwinfo-lua libiwinfo20181126 libjson-c2 libjson-script liblua5.1.5 liblucihttp-lua liblucihttp0 libmnl0 libncurses6 libnl-tiny libpcap1 libpopt0 libpthread libqrencode librt libsmartcols1 libss2 libubus-lua libuuid1 libxtables12 logd lua luci luci-app-firewall luci-app-opkg luci-app-wireguard luci-base luci-i18n-base-de luci-i18n-wireguard-de luci-lib-ip luci-lib-jsonc luci-lib-nixio luci-mod-admin-full luci-mod-network luci-mod-status luci-mod-system luci-proto-ipv6 luci-proto-ppp luci-proto-wireguard luci-theme-bootstrap mkf2fs mtd nano netifd odhcp6c odhcpd-ipv6only openwrt-keyring opkg partx-utils ppp ppp-mod-pppoe procd qrencode r8169-firmware rpcd rpcd-mod-file rpcd-mod-iwinfo rpcd-mod-luci rpcd-mod-rrdns rsync rsyncd screen tcpdump terminfo ubox ubus ubusd uci uclient-fetch uhttpd urandom-seed urngd usign vim wireguard wireguard-tools zlib luci-app-snmpd snmpd tmux" #PROFIL="sinovoip_bananapi-m2-berry" #Banana Pi M2 Berry #PROFIL="rpi-3" #Raspberry PI 3 Profil PROFIL="NONE" #Verwenden, wenn man kein Profil angeben möcht DOWNPATH="$HOME/Downloads" FOLDER=openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64 [[ -d $DOWNPATH ]] || mkdir -p $DOWNPATH cd $DOWNPATH/ [[ -d $FOLDER ]] || wget -q -O - https://downloads.openwrt.org/releases/$OWRTVER/targets/$ARCH/openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64.tar.xz | tar xfJ - cd $FOLDER if [[ $PROFIL == "NONE" ]]; then make image PACKAGES="${PKGS}" else make image PROFILE=$PROFIL PACKAGES="${PKGS}" fi echo "Das Image ist unter $DOWNPATH/$FOLDER/bin/targets/$ARCH zu finden." echo "Einfach cd $DOWNPATH/$FOLDER/bin/targets/$ARCH in der Konsole eingeben oder im Filer/Dateimanager suchen."
Ich habe oft festgestellt, wenn man SBC Boards (aka Raspberry Pi oder Banana Pi) oder x86 mit openwrt verwenden möchte, das die Größe der root Partition und ggf. auch der boot Partition ab und zu etwas zu klein ist. Für bestimmte Projekte sind die 100 MB ausreichend, die in der root Partition zur Verfügung steht. Aber da ggf. auch mehr Speicher (> 100MB) auf der SD-Karte oder SSD zur Verfügung steht, möchte man ggf. auch etwas mehr Speicher haben.
Hier eine kleine Anleitung:
# den Bereich im der Datei suchen! # # Image Options # #CONFIG_SUNXI_SD_BOOT_PARTSIZE=20 #CONFIG_TARGET_ROOTFS_PARTSIZE=104 CONFIG_SUNXI_SD_BOOT_PARTSIZE=200 CONFIG_TARGET_ROOTFS_PARTSIZE=1024
Dann wie gewohnt das Image bauen. Nun bekommt man ein Image, das etwas mehr Platz bietet (in dem Fall 1GB). Ob man boot anpasst, muss jeder selbst wissen.