#### Gitea ##### Start und stop Nach Änderung von Einstellungen muss `gitea` neu gestartet werden. Das passiert über `supervisorctl`: ``` supervisorctl restart gitea ``` Es gibt analog auch `stop` und `start`. Nicht `~/gitea/gitea` selbst aufrufen! (Zumindest für diesen Zweck.) Diese Info findet man auch auf der [uberspace](https://lab.uberspace.de/guide_gitea.html#setup-daemon) Anleitung zu gitea. ##### Spawn Error Ohne Anlass habe ich plötzlich beim push und pull zu/ von gitea repo den Fehler ``` Gitea: Internal Server Error Get http://localhost:9000/api/internal/serv/command/3/flukx/moneyusage?mode=1&verb=git-upload-pack: dial tcp [::1]:9000: connect: connection refused ``` bekommen. Erst konnte ich mich auch auf der Maschine nicht mit ssh verbinden. Das ging später plötzlich wieder. [Start/ Stop](start-und-stop) wie oben beschrieben gingen nicht mit `Spawn Error`. Direkt `~/gitea/gitea` aufrufen ging nicht wegen eines locks auf `~/.gitconfig`. Daher habe ich `~/.gitconfig.lock` gelöscht und dann konnte ich gitea wieder wie [oben](start-und-stop) starten. Alles wieder gut. Merkwürdig, aber erledigt. #### gitlab-ci with my own docker image (TU Dresden MN) When using gitlab-ci one way is to use a docker image with the necessary software for compilation etc. The docker image to use must come from somewhere. The standard is to pull it from [dockerhub](https://hub.docker.com/) but that's very wastefull in case of big docker images like mine with texlive-full for my [masterthesis](https://gitlab.mn.tu-dresden.de/s1140568/masterthesis/). Also I was blocked (understandably) after a while. So it's better to store the image together with the repo on the gitlab. This is done in the so-called *Container Registry*, findable in the gitlab-menu (on the left) under `Packages & Registries` — `Container Regsitry`. (or just add [`/container_registry`](https://gitlab.mn.tu-dresden.de/s1140568/masterthesis/container_registry) to the repo url. 1) Get the image locally on your computer. You can build it yourself or as I did, pull it from dockerhub: ``` docker pull texlive/texlive:latest ``` 2) Re`tag` it with the name needed for the gitlab registry. This can be found in the CLI command for "Build an image" on the abovementioned gitlab menu. In my case it is ``` docker tag texlive/texlive:latest gitlab.mn.tu-dresden.de:8000/s1140568/masterthesis ``` 3) Login to the docker registry. The command is also mentioned as one of CLI commands. In case of the TU Dresden, you need to be in the university network or use **VPN** to be in it! You can type your username and password or use a password manager (`s1140568` is my username, `pass` my password manager): ``` pass uni/gitlab.mn.tu-dresden.de | head -1 | docker login gitlab.mn.tu-dresden.de:8000 -u s1140568 --password-stdin ``` 4) Push the docker image to the gitlab container registry as mentioned as CLI command. ``` docker push gitlab.mn.tu-dresden.de:8000/s1140568/masterthesis ``` 5) Use this image in your ci. For this mention it as the image to be used in the [`.gitlab-ci.yml`](https://gitlab.mn.tu-dresden.de/s1140568/masterthesis/-/blob/master/.gitlab-ci.yml), for example by having the first line. ``` image: gitlab.mn.tu-dresden.de:8000/s1140568/masterthesis:latest ``` #### Automatisches mounten einer Partition. Erklärt unter [Ubuntu help](https://help.ubuntu.com/community/AutomaticallyMountPartitions). Bei meinen Daten-Partitionen hat das zu den Kommandos ``` udisksctl mount --block-device /dev/disk/by-uuid/99fb08ea-47fb-4595-9527-c259f318331c ``` und ``` udisksctl mount --block-device /dev/disk/by-uuid/7AB0D22F35BD16B1 ``` geführt. Unter Einstellungen - Sitzung und Startverhalten - Automatisch gestartete Anwendungen - Hinzufügen diesen Befehl hinzugefügt. #### Touchpad deaktivieren in Lubuntu - vollständig deaktivieren: `synclient TouchpadOFF=1` - curser aktivieren, klicken deaktivieren: `synclient TouchpadOFF=2` - Touchpad voll aktivieren: `synclient TouchpadOFF=0` Auch dieser Befehl macht sich gut im Autostart. #### Trackpoint sensitivity _Disclaimer: unsicher, ob diese Einstellung nötig ist oder überhaupt etwas tut, denn der [nächste](#drift-des-trackpoints-vermeiden) Punkt bearbeitet das gleiche Thema._ Der Trackpoint ist bei mir sehr langsam gewesen. Nervig. [askubuntu](https://askubuntu.com/a/553926) hat die Lösung: `xinput` installiert. Im Output von `xinput` den TrackPoint gefunden: `TPPS/2 IBM TrackPoint` und damit mit `xinput list-props` die zugehörige Eigenschaft `libinput Accel Speed` gefunden. Diese Informationen ermöglichen Einstellen der Sensitivität im Bereich `[-1, 1]` mit ```sh xinput --set-prop 'TPPS/2 IBM TrackPoint' 'libinput Accel Speed' 1.0 ``` Für dauerhaftes Übernehmen dieser Einstellung die Datei `~/.xsessionrc` erstellt mit ```sh xinput set-prop 'TPPS/2 IBM TrackPoint' 'libinput Accel Speed' 1 ``` Außerdem habe ich die [Geschwindigkeit](#drift-des-trackpoints-vermeiden) erhöht. #### Drift des Trackpoints vermeiden _Disclaimer: eigentliche Lösung am Ende_ Wenn man lange mit dem Trackpoint in eine Richtung bewegt, bewegt sich der Trackpoint häufig zurück, denn er kalibriert neu mit der Bewegung als 0-Punkt. Um das zu verringern, soll die Datei `/sys/devices/platform/i8042/serio1/serio2/drift_time` zuständig sein. [Dokumentation](https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-platform-trackpoint) scheint es zu geben. Daher habe ich die `5` in dieser Datei durch eine `8` ersetzt und schaue jetzt mal. Genauso habe ich `.../speed` von `97` auf `120` erhöht. Dummerweise werden diese Werte beim Start des Computers zurückgesetzt. Daher muss eine [`udev`](https://wiki.archlinux.org/index.php/TrackPoint#udev_rule)-Regel erstellt werden: in `/etc/udev/rules.d/trackpoint.rules`: ``` ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/sensitivity}="210", ATTR{device/speed}="220", ATTR{device/drift_time}="8", ``` #### Einstellungen für eduroam an der TU Dresden: Halte dich an die Anleitung auf der ZIH-TU-Seite. Dort gibt es funktionierende Installationsprogramme (Bash-Skript für Linux, App + Config-Datei für Android) #### Einrichten von vpn ins TU-Dresden-Netz mit OpenVPN Hauptsächlich entsprechend der [Anleitung](https://tu-dresden.de/zih/dienste/service-katalog/arbeitsumgebung/zugang_datennetz/vpn/openvpn/linux#section-2). Dann: - System: Fedora 33 mit KDE Oberfläche - Fehlermeldung nach Import über Benutzeroberfläche: "Connection Timed out" - Problem: TLS-Settings falsch und TLS-Crypt Zertifikat fehlt - Lösung: - Kopiere den Teil des tls-crypt aus der TUD.ovpn in eine Datei (in meinem Fall: ~/.local/share/networkmanagement/certificates/TUD/tls-crypt ): ``` # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- 9b32985687664a47084463da740ff2a2 8976d0f78b2264e7feda8486efe02289 7ff5abc2f1bfe170eb620e63fb0cba01 fb65e4f6668fd3a718e1b3d4d94ac2a5 56a1d53f8f971fb0307034d425758cb3 1aeb8156b05ceb2fe79eaf56777c3bb5 0fa26bc1f3a0b21d3a1a8787f133c626 5776465ab7848443d8b153300853a7c2 167d72baf41b6372db1b801499ac1aa3 3506442dfb204bb037e961c938fd9571 cb62228eb0c482f3db4598f08f8c26fe 1d72031e82f5bd163e961310fe781806 8e546e4957f6eae73585b245ae3a6273 fc4375d385cb2c95646af01ec31a23cc e7fbbd353a27ec216f6e677fed8a4298 6b0c01f429db0ddb52fd0760788c32d5 -----END OpenVPN Static key V1----- ``` - öffne VPN-Einstellungsoberfläche (Suche "Connections" in Systemmenü) - wähle TUD-VPN-Verbindung (setzt vorherigen import voraus) - im Reiter "VPN (openvpn)" klicke "Advanced..." - öffne Reiter "TLS Settings" - wähle "Verify peer (server) certificate usage signature" (ich weiß nicht, ob das mit dem Problem zusammenhängt, aber es war vorher nicht ausgewählt) - wähle Mode: "TLS-Crypt" - wähle im Key File die oben erstellte Datei Wenn ich stattdessen den vorgeschlagenen Kommandozeilenimport ``` sudo nmcli connection import type openvpn file /TUD.ovpn ``` mache und versuche zu verbinden, bekomme ich den Fehler `The service providing the VPN connection was stopped.` Dafür ist die oben beschriebene Einstellung auf Anhieb richtig, allerdings sind die beiden Zertifikate (das oben beschriebene und das CA Certificate) in `/root` und damit nicht erreichbar. Nachdem ich beide durch die Zertifikate in `~` ersetzt habe, hat's geklappt. #### Installation/ Einrichten von vpn ins TU Dresden-Netz mit Cisco *Cisco is proprietary software and unnecessary. Rather use OpenVPN*. hauptsächlich entsprechend der [Anleitung](https://tu-dresden.de/zih/dienste/service-katalog/arbeitsumgebung/zugang_datennetz/vpn/ssl_vpn/howto_anyconnect_linux/index) um die GUI von Cisco AnyConnect zu öffnen wird das Paket `libpangox` benötigt. Habe ich über den Paketmanager installieren können. Cisco AnyConnect ist die Datei `/opt/cisco/anyconnect/bin/vpnui` #### Ordner vergleichen Ich habe 2 Festplatten, die eigentlich den gleichen Inhalt haben sollten. Irgendwie habe ich es immer wieder hinbekommen, dass der Inhalt doch nicht gleich ist. Zum Vergleichen der Ordner auf den beiden Festplatten habe ich verschiedene Software ausprobiert: meld reagiert oft nicht, `diff` und `git diff` schauen sich jede Datei komplett an, was bei großen Filmen ewig dauert. Dann wurde ich darauf aufmerksam gemacht, dass `rsync` mit `--dry-run` einem diese Information geben kann: ```sh rsync --size-only --itemize-changes --dry-run --verbose --recursive dir1/ dir2 ``` Dabei ist das `/` at `dir1/` wichtig! Sonst wird simuliert, wie `dir1` in `dir2` hineinkopiert wird (nicht der Inhalt von `dir1`)! Problem dabei noch: wenn die Dateien gleich, aber die timestamps unterschiedlich sind, werden diese Dateien mit angezeigt. Daher noch ein `grep` nachschieben: ```sh rsync --size-only --itemize-changes --dry-run --verbose --recursive dir1/ dir2 | grep --invert-match '^\.' ``` Das funktioniert, weil `--itemize-changes` Dateien, die zwar übertragen werden, aber keine Änderung haben, mit einem `.` am Anfang markiert. `'^\.'` ist eine regular expression, die ein `.` am Anfang der Zeile (`^`) beschreibt. (s. `man rsync`) ##### Rsync copy Zum Kopieren der Daten von einer Sicherungsfestplatte zur anderen: ```sh rsync --progress --size-only --itemize-changes --verbose --recursive /media/user/origdrive/subdir /media/user/newdrive ``` ##### Rsync delete Zum Löschen von Dateien, die auf einer Sicherungsfestplatte gelöscht wurden und auf der anderen auch weg sollen. ```sh rsync --dry-run --delete --existing --ignore-existing --progress --size-only --itemize-changes --verbose --recursive /media/user/origdrive/subdir /media/user/newdrive # check again, then without dryrun: rsync --delete --existing --ignore-existing --progress --size-only --itemize-changes --verbose --recursive /media/user/origdrive/subdir /media/user/newdrive ``` and if necessary in the other way as well. #### Bilder verkleinern ``` for i in *.jpg; do convert $i -resize 541x304 $i; done ``` Achtung, Bilder werden ersetzt! (wenn nicht gewollt das `$i` um ein präfix ergänzen); gleiches ggf. mit `*.JPG` #### `lxde-rc.xml` Nach anpassen der Datei `lxde-rc.xml` mit den Shortcuts, rufe den Befehl `openbox --reconfigure` auf. Dann werden die Änderungen beachtet. #### `alias` In shells gibt es den Befehl `alias`, mit `help alias` gibt es alle relevanten Infos, mit `alias` bekommt man alle aktuellen aliase. `~/.bashrc` Dies wird beim Start jeder Konsole mit bash ausgeführt, kann angepasst werden. Entsprechend `~/.zshrc.local` und `~/.zshrc.pre` für die z-Shell. `~/.bash_aliases`: Diese Befehle werden von `.bashrc` aufgerufen, dort sollen alle aliases rein, die man jedes Mal haben möchte. Entsprechend `~/.zshrc.pre` für die z-Shell. `~/.config/gtk-3.0/bookmarks`: Dort stellt man ein, welche Ordner unter Places bzw. Orte in Thunar angezeigt werden. Einstellung um mein Tastaturlayouts beim Einloggen einzustellen: ``` localectl set-x11-keymap "my_neo2(my_neo2) ``` damit ist auch der nicht funktionierende Autostart umgangen. (Kommt vom [Arch wiki](https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg).) #### Ändern des Tastaturlayouts 1. Im Ordner `/usr/share/X11/xkb/symbols/` die Datei my\_neo öffnen 2. die entsprechende Taste finden und das zugehörige Level (Achtung, die sind nicht in der NEO-Reihenfolge), dort ändern, Unicode mit UHexnr, speichern 3. im Ordner `/var/lib/xkb/` alle xkm-Dateien löschen (das sind die kompilierten Dateien). Dafür sind root-Rechte nötig, also mit `sudo rm *.xkm` 4. `setxkbmap my_neo(my_neo)" -v` 5. Im Ordner `SSD-Daten/Startscreen` die entsprechenden Ebenen ändern mit KolourPaint 6. `./buildMyNeo.sh` 7. entsprechende Zeichen unter `~/Documents/Computer/LaTeX/exDocs/neoUTF8enc.tex` ergänzen und die Veränderung an andere Stellen, wo die Datei sitzt, kopieren ##### System-weites Ändern des Tastaturlayout Siehe Anleitung im [Arch-wiki](https://wiki.archlinux.org/index.php/Linux_console/Keyboard_configuration#Creating_a_custom_keymap), aber mit `/usr/lib/kbd/keymaps/xkb/` für die keymap`.map.gz`-Dateien. (Weiter noch nicht herumgespielt.) ##### Neo2-Layout in PyCharm Direkt nach Installation von PyCharm tun die Pfeiltasten, die in Neo2-Layout auf 3. Ebene eingebaut sind, nichts. Um sie zu aktivieren: Strg+Alt+S (Einstellungen) -> Keymap -> unter dem Auswahlfeld ist eine Checkbox mit "Use national layouts for shortcuts" -> anklicken -> OK (-> PyCharm neustarten) #### Internes Mikrofon wird nicht erkannt - (noch nicht sicher, ob das immer klappt) - Wenn das interne Mikrofon nichts aufnimmt, probiere das: - Test, ob es vom Betriebssystem erkannt wird: - `pavucontrol` starten - im Tab „Input Devices” schauen ob das „internal Microphone“ im „Built-in Audio Analog Stereo“ vorhanden ist - falls nicht: im Tab „Configuration“ im 2. Abschnitt „Built-in Audio” das Profile „Analog Surrounds 4.0 Output + Analog Stereo Input” wählen #### Dinge, die ich bei Shell Skripten leicht vergesse - in Bedingungsklammern `[]` von `if` muss am Anfang und am Ende ein " " (blank) stehen!! - Hinweise zu Bedingungen in if abrufbar unter `man test` - Nutze immer lieber `test` als `[]` oder `[[]]`, weil es überall (auch in `sh`) läuft. - bei Zuweisungen mit `=` darf zwischen Variablenname und `=` kein Leerzeichen sein! (sonst wird Variablenname als command interpretiert) #### SSH-Key Erstellung: Ausführliche (glaube gut lesbare) Anleitung bei [gitlab](https://docs.gitlab.com/ee/user/ssh.html) What I did: ``` ssh-keygen -t rsa -f BelaSSHKey ``` (ausgeführt in `~/.ssh`, weiss nicht ob das wichtig ist) Ausgabe: ``` The key fingerprint is: 4a:ad:de:1b:26:ed:f5:cb:78:01:b1:8c:98:38:1c:3e felix@felix-L450 The key's randomart image is: +--[ RSA 2048]----+ | | | . . | | o o o o o | | E o.. + | | o. S . | | . + . | | + + . . | | . = o +. | | . +...+. | +-----------------+ ``` Dateien wurden in `~/.ssh` erstellt. #### install Sublime Text ``` sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt-get install sublime-text-installer ``` Infos: [von uminöser Quelle](http://www.webupd8.org/2013/07/sublime-text-3-ubuntu-ppa-now-available.html) #### Fanfiction Download Dafür gibt es spezialisierte Seiten: [FF2ebook](http://www.ff2ebook.com/) und [FicSave](https://ficsave.xyz/) zum Beispiel. Dank an [AOOO](https://archiveofourown.org), wo das nicht nötig ist, da sie komplett-pdf-Downloads anbieten. #### Installation unseres EPSON WF-7620 Druckers (Druck, noch nicht scan) Installation von Treibern u.ä.: 0. Verbindung zu WLAN „GeckoNet“, nicht „Gecko Net Gast“ (sonst kann der Drucker nicht gefunden werden) 1. `sudo apt-get install lsb` 2. Unter [der Epson Seite](http://www.openprinting.org/printer/Epson/Epson-WF-7620_Series) download: [das Debian Paket](http://download.ebz.epson.net/dsc/op/stable/debian/dists/lsb3.2/main/binary-amd64/epson-inkjet-printer-escpr_1.4.1-1lsb3.2_amd64.deb) Installiere durch Doppelklick (ggf. vorher `gdebi` installieren) 3. Zusätzlich Epsons Kram installieren: unter [Epson Suche](https://download.ebz.epson.net/dsc/search/01/search) - suche nach "WF-7620 - Epson Printer Utility - amd64" download und installieren durch Doppelklick: `epson-printer-utility_1.0.0-1lsb3.2_amd64.deb` (Beim nächsten Versuch hatte der vorherige Schritt diesen schon erledigt.) 4. Dann cups starten: ``` /etc/init.d/cups restart ``` check with ``` ps -ef | grep cups ``` 5. `cups` im Browser üffnen: [localhost:631](http://localhost:631), durch Menüs wurschteln, dabei Epson WF-7620 Series auswählen (wird schon angezeigt, nur Einstellungen sollten überprüft werden). 6. In Standardeinstellungen wähle Normalpapier-Standard-Vivid Wenn nach Benutzername und Passwort gefragt wird, gib dein Benutzername und Passwort ein (geht wegen sudo). #### Installation des EPSON WF-7620 als Scanner Dezember 2022 in Kubuntu 20.04 war keine Einrichtung nötig. Dann mit SimpleScan scannen. Als ich die Datei gespeichert habe (muss man nach dem Scannen noch tun) schien SimpleScan abgestürzt zu sein, aber nach einer Weile war es wieder OK. Vermutlich reagiert das Programm nicht so lange es an der pdf-Erstellung arbeitet. Einstellungen in Simple Scan für Mitschriften-Scans: - Photo, 150 dpi, Brightness Mitte, Contrast maximal, Quality bei 2/3 In Einstellungen kann ein Skript zur Nachbearbeitung eingestellt werden. Da wäre OCR (Texterkennung) eine gute Idee. ##### Erste Einrichtung - Anleitung: [von Epson](http://download.ebz.epson.net/man/linux/iscan_e.html#sec6-1-3) - Download: [iscan](http://support.epson.net/linux/en/iscan_c.php?version=1.0.4) entpackt, README gelesen, `./install.sh --dry-run` \-- entsprechend Dinge per Hand getan in anderer Reihenfolge: ``` sudo apt-get install xsltproc sudo dpkg --install ./data/iscan-data_1.39.0-1_all.deb sudo dpkg --install ./core/iscan_2.30.3-1_amd64.deb sudo dpkg --install ./plugins/iscan-network-nt_1.1.1-1_amd64.deb ``` mit der Anleitung von [Ubuntuusers](https://wiki.ubuntuusers.de/SANE-Scanserver_im_Netzwerk/) ein Deamon immer beim Rechnerstart starten: ``` sudo systemctl enable saned.socket ``` und mit `simple-scan` scannen :) ##### Zweite Einrichtung Install `sane-utils` (`sane` organisiert das Scannen, libsane sollte schon installiert sein.) Füge IP-Adresse des Scanners in passende Datei ein: ``` /etc/sane.d/net.conf ``` am Ende der Datei einfügen: ``` 192.168.178.1 ``` Ich habe ausserdem die time-out Zeit (s. Datei) auf 10 sek gesetzt. #### Installation EPSON WF-7620 als Scanner Fedora 34 Erst das `./install.sh` skript von der [Epson Seite](https://support.epson.net/linux/en/imagescanv3.php#fedora) ausgeführt, aber dabei gab es Fehlermeldungen zu inkompatiblen Paketen. Ob das etwas getan hat, weiß ich nicht. Dann ausgeführt: ``` sudo dnf install kf5-libksane sane-backends sane-backends-daemon ``` wobei nur das dritte Paket vorher noch nicht installiert gewesen war. #### Installation Scanner BearPaw 2400 CU Plus Mustek Anleitung entsprechend [Ubuntuusers](https://wiki.ubuntuusers.de/Scanner/gt68xx/): 1. Firmware-Datei von [Sane-Backend](http://www.meier-geinitz.de/sane/gt68xx-backend/index.html): [für BearPaw 2400 CU Plus Mustek](http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/PS2Dfw.usb) downloaden 2. Kopiere diese Datei nach ``` /usr/share/sane/gt68xx ``` (erstelle den Ordner vorher) 3. Ergänze nach den Zeilen ``` # Autodetect Mustek BearPaw 2400 CU Plus usb 0x055f 0x021d ``` die Zeile ``` firmware /usr/share/sane/gt68xx/PS2Dfw.usb ``` in der Datei ``` /etc/sane.d/gt68xx.conf ``` Diese Änderung ist im Konfigurationsordner vorgenommen und an der richtigen Stelle ist nur ein Link. #### Signal installieren - signal-desktop installieren: - `sudo snap install signal-desktop` (sollte auch mit `dnf` gehen) - registrieren über signal-cli, nach https://ctrl.alt.coop/en/post/signal-without-a-smartphone/ - Hier für Windows (analog) erklärt: https://deinalptraum.iwr.sh/p/how-to-set-up-signal-messenger-via-landline-number-on-windows/ - (Aktuellste Version nehmen!) ``` wget https://github.com/AsamK/signal-cli/releases/download/v0.6.10/signal-cli-0.6.10.tar.gz tar xfv signal-cli-0.6.10.tar.gz` signal-cli-0.6.10/bin/signal-cli -u register signal-cil-0.6.10/bin/signal-cli -u verify sudo dnf install zbar # for reading qrcode signal-desktop # reading qr-code via zbar, getting link signal-cli-0.6.10/bin/signal-cli -u addDevice --uri "tsdevice:/?uuid=bo..." ``` - zum Synchronisieren von Kontakten, vor allem um den Nummern Namen zu geben, lies auch [die Anleitung](https://ctrl.alt.coop/en/post/signal-without-a-smartphone/) #### Zum Mappen notes nutzen Besseres gpx gibt folgendes skript: `https://github.com/richlv/osmnotes` Ich habe es aber noch nachbearbeitet um die Kommentare auf das Wesentliche zu konzentrieren: (entfernt Datum und Benutzernamen) ``` perl ~/.bin/osmnotes/osmnotes.pl "$@" | sed 's#\d\{4\}-\d\{2\}-\d\{2\} \d\{2\}:\d\{2\}:\d\{2\} UTC \[commented\] [^:]*: ##' | sed 's#\d\{4\}-\d\{2\}-\d\{2\} \d\{2\}:\d\{2\}:\d\{2\} UTC \[opened\] [^:]*: ##' ``` Meine erste Option war die api: Download via api: [Südvorstadt](http://api.openstreetmap.org/api/0.6/notes.gpx?bbox=13.6961424,51.0199804,13.7432142,51.043165) Dann das gpx auf das gps laden und das gpx mit dem Skript ``` ~/Documents/Hobby/OSM_Data/extract.py ``` (auch zu finden unter [meiner Website](https://flugit.hilsky.de/flukx/website/src/branch/master/extract-hinweise.py)) bearbeiten und das Produkt ausdrucken und mitnehmen. #### Zeit und Ort von Fotos berichtigen Meine Kamera kann die Aufnahmezeit (wie alle) und den Aufnahmeort (wenn gps eingeschaltet ist) von Fotos speichern. Beides kann falsch sein. Da ich den Ort mithilfe meines gps-Gerätes berichtigen möchte, möchte ich, dass die Zeit mit dem gps-Gerät übereinstimmt. Außerdem ist das gps-Gerät eine Funkuhr. Dafür habe ich gewartet bis die Uhr auf dem gps-Gerät umspringt zur nächsten Minute und sofort ein Foto gemacht. Ich nutze für alle Zwecke das exif-Feld "CreateDate", auszulesen mit ``` exiftool -CreateDate bild.jpg ``` oder ``` exiftool bild.jpg | grep "Create Date" # note the space ``` Es gibt noch einige weitere Date/Time Felder, die man nicht verwechseln sollte! Damit kann man den Offset berechnen. Interessant ist "gps-Zeit — Bild-Zeit". Bevor man die Zeiten ändert, lieber eine Sicherungskopie machen! Die Zeit der Bilder kann man ändern mit ``` exiftool "-CreateDate+=y:m:d h:m:s" *JPG ``` where `+` can be replaced by `-` and `y`, `m`, `d`, `h` are probably all 0. `*.JPG` muss natürlich durch alle zu verändernden Bilder ersetzt werden. Meine Kamera benennt sie mit `.JPG`, daher passt dieser Befehl alle meine Bilder im aktuellen Ordner an. Für das Ergänzen oder Berichtigen von Geolocations nutze ich [`gpicsync`](https://github.com/FrancoisSchnell/GPicSync.git), dass ich für meine Zwecke noch angepasst habe (inklusive Fehlerbehebungen): [belamu on github](https://github.com/belamu/GPicSync). Ich habe mir den alias `geolocateimages='python /path/to/GPicSync/srs/gpicsync.py'` erstellt. `--offset=2` behebt den Zeitunterschied zwischen Kamera und gps. (In Stunden.) Da muss ich immer ausprobieren, was der richtige Wert ist. Hängt wohl mit dem Unterschied zwischen GMT und hiesiger Zeit zusammen. Im Ordner mit den Bildern führe ich dann aus: ``` geolocateimages --offset=2 -d . -g ./pfad/zu/track.gpx rm *_original # remove unneeded original files ``` Das überschreibt *in meiner Variante des Programms* bestehende gps-Koordinaten nicht. Das ist für das Archivieren der Fotos das richtige. Für das Mappen für [osm](https://wiki.openstreetmap.org/wiki/How_to_contribute) möchte ich aber zusätlich auch die Variante haben, in der ich die Koordinaten vom Track nehme: ``` geolocateimages --offset=2 -d . -g ./pfad/zu/track.gpx --overwrite rm *_original ``` #### Ripping a CD (CD to mp3): Nutze `abcde` mit Anleitung [von Andrew](http://www.andrews-corner.org/linux/abcde/index.html) #### Fedora ##### Disabling wlan ``` su ip link set dev wls1 down ip addr flush dev wls1 dnf remove iproute-tc-5.4.0-1.fc31.x86_64 ``` Enabling might work like that ``` su dnf install iprout-tc ip link set dev wls1 up ``` The name `wls1` for wlan I know from `iwconfig`. ##### Setting my DNS Server Somehow setting the DNS Server to [digitalcourage](https://digitalcourage.de/support/zensurfreier-dns-server) was a very long journey. The reason to do that finally was to fix connection errors when using LAN to a PYUR KabelBox. I used `nmtui` but noticed than that the graphical interface from kde offers the same option. `nmtui` is installed via `inst NetworkManager-tui`. Start `nmtui`, choose the connection, where the DNS should be changed, choose method `automatic` instead of `shared` for ipv4 and ipv6 configuration and insert the ip addresses (v4 and v6 respectively) from digitalcourage. Then the connection must be reconnected (probably also possible with gui or): (thanks to [Brien](https://serverfault.com/a/969862)) ``` nmcli con down nmcli con up ``` `resolvectl status` shows now the correct ip address for the wired connection. (`enp0s25`) I have not used the option `ignore-auto-dns` which sounds helpful because it blocks the DNS information coming from the router but it works so far without this option. [Yannig](https://serverfault.com/a/1064938) automated this for all connections which is an option for later: ``` nmcli -g name,type connection show --active | awk -F: '/ethernet|wireless/ { print $1 }' | while read connection do nmcli con mod "$connection" ipv6.ignore-auto-dns yes nmcli con mod "$connection" ipv4.ignore-auto-dns yes nmcli con mod "$connection" ipv4.dns "5.9.164.112" # or your preferred DNS nmcli con mod "$connection" ipv6.dns "2a01:4f8:251:554::2" # or your preferred DNS nmcli con down "$connection" && nmcli con up "$connection" done ``` #### Ebay - Use https://myibidder.com - It needs your ebay credentials. So it could misuse it but it didn't misuse in several years yet. - for phones useful: - https://wiki.lineageos.org/devices/ - https://www.ifixit.com/ to check pone repairability (they have great instructionals) - https://www.gsmarena.com to check for specifications - There's a nice subreddit about product selection in general https://www.reddit.com/r/BuyItForLife/