===== was nirgends rein passt - aber gesucht werden kann ===== OS X: Beim kopieren eines Ordners mit **Copy/Paste und Options-Taste** (oder drag und drop) fragt er, ob er nur geänderte Dateien ersetzen soll - brauchte ich im Juni 2020 beim Update vom DokuWiki. **Joule-Tief und DC-DC Stepp Converter ist das Gleiche**. Again what learned. Eigentlich ging es darum, einen ESP mit nur einer Batterie zu betreiben, statt meinen Lithium-Akkus, ich kam aber schnell auf meine Solar Lampe, die ich vor längerer Zeit auseinander genommen hatte, da sie nicht zur Zufriedenheit gearbeitet hatte. Idee war Stepp zum Laden und Joule Tief um die Batterie bis runter zu benutzen. Gibts aber alles schon. Man Google einfach nach QX5252F oder schaue mal in die 3 Links [[https://www.conrad.de/de/ratgeber/technik-einfach-erklaert/led-solarleuchte-selber-bauen.html|LED Solarleuchte selber bauen]], [[http://www.elexs.de/led5.htm|extrem klein mit SMD und mit Batterie nur 4 Bauteile]], [[http://sites.prenninger.com/elektronik/solar/solar-leuchten/step-up-wandler|Sammlung vieler Infos]] ==== Hätte ich das vorher gewusst, hätte ich mich nicht damit rumgequält ==== yield() oder wait() geht nicht in Funktionen, die im Interrupt aufgerufen werden - hat mich beim esp8266 und schreiben von rtc_memory einen halben Tag gekostet. Ist immer wieder abgestürzt dhcpcd und network/interfaces vertragen sich nicht - Meldung im DHCP, dass er nicht starten kann wegen statischer ip. Theoretisch alles auf Standard, aber ein paar wichtige Zeilen kann man doch in interfaces unterbringen. urllib urllib2 und timeout - das schalten meines Luftbefeuchtern klappte aus python2 heraus nicht. vor allem, wenn der 'esp8266-Server', also das Relais nicht angeschlossen war. Also ein timeout rein, dass aber nicht funktioniert hat. Erst mit urllib2 ging es. Das Internet sagt: urllib ist das älteste, dann kam urllib2 mit Erweiterungen. urllib3 und request sind für python3. Dateisystem Zugriffe anschauen: https://www.macobserver.com/tmo/article/os_x_using_fs_usage_as_a_troubleshooting_tool sudo fs_usage mdworker mds launchd sudo fs_usage -w -f filesys mds_stores Mit welchem wifi Netzwerk bin ich verbunden: iwgetid Mit der Erweiterung "apt-get install wicd-cli" kann man recht einfach die Wlan-Verbindungen wechseln. wicd-cli --wireless -c "myssid" "mypassword" ==== iTunes und Streams ==== Seit jungen Jahren habe ich immer die Top 10 mitgeschnitten und rauf und runter gehört. Warum derer, Spotify oder was auch immer, es gibt doch Streaming Radio. Mit den kostenlosen Kommandozeilen-Tools für Icecast fIcy und einem Hilfsprogramm fPls nehme ich einfach einen Tag lang ein paar Streams auf - Antenne Bayern, Chillout, Top40 und Costa del Mar Radio - und dann habe ich wieder eine zeitlang Ruhe. Auch wenn sich die Pfade zu den Streams immer wieder ändern, ging alles ganz gut, bis vor kurzem. Der Stream brach immer wieder ab mit der Meldung "invalid metadata stream". Die Source hatte ich ja. Dort alle Pfade von /Library/Developer/CommandLineTools/usr/lib/clang/10.0.0/ auf /Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/ umbiegen, dann noch entsprechend /Library/Developer/CommandLineTools/SDKs/ und dann hat wenigstens das make funktioniert. In der icy.cc dann noch meinen 'hack' eingebaut und jetzt läuft es wieder. // check for NULL termination if(mBuf[lenght - 1]) { //normal: //antennebayern: und die tatsächliche länge passt auch nicht... //throw std::runtime_error("invalid metadata stream"); printf("invalid metadata stream;\nan position [%lu] kein nullbyte gefunden.\nsetze dort ein nullbyte - auf eigene Gefahr.",lenght); mBuf[lenght - 1] = 0; printf("<%s>\n",mBuf); } Ach ja, und da zwei Stationen AAC streamen, dachte ich mir nichts dabei. iTunes konnte die leider nicht importieren. Aber da hilft ein kleines kostenloses Programm, der [[https://www.mediahuman.com/?mh_product=audio-converter&mh_version=1.9.8&mh_source=app-about|Audio Converter]] - Danke an die Entwickler! ==== services ==== laufende services anzeigen systemctl list-units --type=service --all service --status-all ==== Prozesse ==== Welcher Prozess nutzt welchen Port? sudo netstat -tlnpu ==== apt-get ==== Paket nochmal installieren - Achtung, geänderte config-Dateien gehen verloren sudo apt-get --reinstall install phpmyadmin -y ==== phpmyadmin ==== Um statt apache2 den lighttpd zu nutzen, musste man die Config-Datei ändern und folgenden code anhängen # Alias for phpMyAdmin directory alias.url += ( "/phpmyadmin" => "/usr/share/phpmyadmin", ) # Disallow access to libraries $HTTP["url"] =~ "^/phpmyadmin/libraries" { url.access-deny = ( "" ) } $HTTP["url"] =~ "^/phpmyadmin/setup/lib" { url.access-deny = ( "" ) } # Limit access to setup script $HTTP["url"] =~ "^/phpmyadmin/setup" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/phpmyadmin/htpasswd.setup" auth.require = ( "/" => ( "method" => "basic", "realm" => "phpMyAdmin Setup", "require" => "valid-user" ) ) } Nach der Installation hat er phpmyadmin nicht gefunden. Es fehlte noch der Link. sudo ln -s /usr/share/phpmyadmin/ /var/www/ Leider kommen bei phpmyadmin immer irgendwelche Fehler. Bei der Standardinstallation wird 4.6.6.deb5 installiert. Auf der [[https://devanswers.co/manually-upgrade-phpmyadmin/|Seite]] steht ganz toll beschrieben, wie man einfachst die aktuellste Version (5.1.3) installiert. Hat leider nichts genützt. Also vielleicht liegt es am lighttpd. Das ist dann der nächste Kandidat. Aktuell war es Version 1.4.53. Es gibt aber schon 1.4.64 aktuelle version eines Paketes (Packets) mit alt-get finden sudo apt-cache policy lighttpd Um lighttpd zu installieren musste ich mit sudo arbeiten (ohne ging es nicht) wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.tar.gz sudo tar xzf lighttpd-1.4.64.tar.gz rm lighttpd-1.4.64.tar.gz cd lighttpd-1.4.64 sudo apt-get install libpcre2-dev sudo ./autogen.sh sudo ./configure sudo make hm, komisch, auf der Webseite steht:Nach der Installation hat er den pwd /etc/www/phpmyadmin nicht mehr gekannt, obwohl die config in /etc/lighttpd/lighttpd.conf die richtigen Einträge hat. Nachdem ich den Link umgesetzt habe auf /var/www/html/phpmyadmin geht die Log-Seite. Aber nach dem anmelden kam entweder 'Index/route=/' kann nicht gefunden werden, oder das man wohl nicht https genommen hat. Was ist das jetzt schon wieder?? Der Fehler ist immer, wenn man auf eine Spalte zum sortieren klickt in der Art: Fehler beim Bearbeiten der Anfrage Fehlercode: 400 Fehlertext: Bad Request (rejected) Es scheint, dass die Verbindung zum Server verloren gegangen ist. Bitte überprüfen Sie Ihre Netzwerkverbindung und den Serverstatus. Ich habe dann in der config die ersten Zeilen deaktiviert und komme jetzt wieder rein. Aber es geht immer noch nicht, mit dem klick auf die Spalte, um zu sortieren. Auch bei anderen Tabellen. Jetzt bleibt fast nur noch, dass phpmysql nicht mit lighttpd zusammenarbeitet? Erst der böse Kommentar auf einer Webseite "[[https://redmine.lighttpd.net/boards/2/topics/8610| Do you even read lighttpd's front page?]]" hat mich auf die Lösung gebracht. Man muss in der config die Zeile auskommentieren - dann geht es! sudo nano /etc/lighttpd/lighttpd.conf # "url-ctrls-reject" => "enable",# recommended #cd lighttpd1.4 ./autogen.sh ./configure -C --prefix=/usr/local # ./configure --help for additional options make -j 4 make check #sudo make install ==== SSH Abbruch bei laufendem Prozess ==== Schon immer hat es mich geärgert, dass ich was am Kompilieren war, und plötzlich bricht die SSH-verbindung zusammen. Viele empfehlen screen zu nutzen, aber geht das nicht auch anders? sudo vi /etc/ssh/sshd_config ClientAliveInterval 1200 ClientAliveCountMax 3 sudo systemctl reload sshd Der Timeout-Wert beträgt 1200 Sekunden * 3 = 3600 Sekunden. Dies entspricht einer Stunde, was bedeutet, dass die ssh-Sitzung für eine Stunde ohne Unterbrechung bestehen bleibt. Oder halt gleich 3600 in den ClientAliveInterval. TCPKeepAlive von der Client-Seite: ssh -o TCPKeepAlive=yes ==== AKASO Camera und USB ==== Anschluss nur mit richtigem USB-Kabel. Die meisten sind nur Ladekabel, aber auch bei den anderen funktioniert nicht jedes. Nach dem Anschluss muss an der Camera ein Menü mit 4 Knöpfen erscheinen, sonst geht es nicht. Die SD-Karte direkt in den Rechner schieben funktioniert leider auch nicht.Zusätzlich habe ich noch das Problem, dass beim Übertragen der Daten die USB-Verbindung immer wieder unterbrochen wird, so als ob man den Stecker zieht. Dafür habe ich noch keine Lösung, könnte aber am Kabel oder der Schlafeinstellung der Kamera liegen ==== AppleScript Spotify Werbung / Advertisement entfernen ==== Nachdem ich gemerkt habe, dass man Spotify ja nicht bezahlen muss, habe ich es mal ausprobiert. Nach der Testphase kam dann die Werbung. Ab und zu ist ja nicht schlimm, aber dann wurde sie nervig. Einzige Möglichkeit scheint zu sein, während der Werbung den Ton leise zu schalten. Aber nicht die Systemlautstärke, sondern den Ton in Spotify. Nachteil ist, dass Spotify bei der Werbung die Lautstärke automatisch wieder erhöht. Das nachfolgende AppleScript umgeht das alles. Stand April 2024 set currentTrack to "unknown" set savedTrack to "" set i to 0 set normalSoundVolume to 100 set silentVolume to 10 set playingAdvertisement to 0 set progress description to "Spotify Mute Advertising" set progress additional description to "Preparing…" set progress total steps to -1 set progress total steps to 100 set progress completed steps to i global flag global currentTrack set flag to false on quit set flag to true end quit do shell script "open -a \"Spotify\"" delay 5 set progress additional description to "Waiting for Advertisement…" repeat while appIsRunning("Spotify") and flag is false set progress description to "Advertisings muted: " & i set progress completed steps to i --if playingAdvertisement = 1 then set progress additional description to currentTrack --end if tell application "Spotify" if player state is playing then set currentTrack to current track's name if currentTrack is "Advertisement" or currentTrack is ".." or currentTrack is "Spotify" or currentTrack is "20 Jahre - Mach mit und tu Gutes!" or currentTrack is "Website des Studieninformationstages" then set sound volume to silentVolume set playingAdvertisement to 1 if savedTrack is not currentTrack then set savedTrack to currentTrack set i to i + 1 -- set progress description to "Werbung " & i -- set progress completed steps to i end if else set sound volume to normalSoundVolume set playingAdvertisement to 0 --currentTrack end if end if end tell if playingAdvertisement = 0 then delay 2 end if end repeat on appIsRunning(appName) tell application "System Events" to (name of processes) contains appName end appIsRunning