Adobe-CC-Reste bereinigen

Abgelegt unter macOS

Um eine frische CC-Installation anlegen zu können, müssen nicht nur die Applikationen deinstalliert sein, auch die umfangreichen Prefs, Caches und sonstige Dateiresten müssen weg. Meist verhindern diese nicht gelöschten Adobe-Daten den Download komplett bzw. der Fortschritt stopt nach einer gewissen Zeit. Natürlich ohne eigene Fehlermeldung.
Es gibt ein entsprechendes Script, was ich schon ein paar Mal erfolgreich angewendet habe:


#!/bin/bash
sudo rm -rf /Applications/Adobe* /Applications/Utilities/Adobe* /Library/Application\ Support/Adobe /Library/Preferences/com.adobe.* /Library/PrivilegedHelperTools/com.adobe.* /private/var/db/receipts/com.adobe.* ~/Library/Application\ Support/Adobe* ~/Library/Application\ Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.adobe* ~/Library/Application\ Support/CrashReporter/Adobe* ~/Library/Caches/Adobe ~/Library/Caches/com.Adobe.* ~/Library/Caches/com.adobe.* ~/Library/Cookies/com.adobe.* ~/Library/Logs/Adobe* ~/Library/PhotoshopCrashes ~/Library/Preferences/Adobe* ~/Library/Preferences/com.adobe.* ~/Library/Preferences/Macromedia* ~/Library/Saved\ Application\ State/com.adobe.*

exit


Damit werden radikal ALLE lokalen Adobe-Daten gelöscht, die Orte, in denen das Script aktiv ist, sollte man sich mal in Ruhe anschauen. Interessant ist, das der Flash Player weiterhin unter der Marke Macromedia läuft (Macromedia wurde 2005 von Adobe gekauft).

Raspbian Audioplayer

Abgelegt unter DIY, Raspberry Pi

Um ein Audio-File mit einem simplen Tastendruck abspielen zu können, braucht man eine Mindest-Konfiguration aus RaspberryPi und einem Audio-Ausgabe-Gerät, in meinem Fall ein Raspberry Pi Zero WH und ein Speaker pHat. Dazu natürlich noch ein Taster und ein Gehäuse, beides sehr robust, beides von Conrad Electronics.

Zum Einrichten habe ich einen RPi 3+ und einen externen Speaker benutzt, danach sollte alles auch dem RPi Zero laufen. Zur Software: ich habe das Raspbian-Buster-Lite-Image benutzt, also ebenfalls die Minimal-Variante. Optional ist die SMB-Installation, ist nur einfach angenehmer um die Audio-Daten leicht hin- und herzuschieben. Das Script sieht folgendermassen aus:


from time import sleep

import RPi.GPIO as GPIO

import os

import sys

GPIO.setmode(GPIO.BCM)

button1=17

GPIO.setup(button1,GPIO.IN,pull_up_down=GPIO.PUD_UP)

while(1):

if GPIO.input(button1)==0:

print "Button 1 Was Pressed:"

os.system("amixer cset numid=1 85%")

os.system("aplay /home/pi/audiobutton/button/audio.wav -D sysdefault:CARD=0")

sleep(.1)

Wichtig die Kennung für den GPIO-Port, hier 17 (Pin: 11), und der Verweis auf die Audio-Datei plus optionaler Angabe des Audio-Devices (CARD=0). Bei integrierten, höherwertigen DACs ist diese Angabe empfehlenswert und notwendig, für den Standard-Klinken-Ausgang nicht. Auto-Starten des Scriptes: das passiert durch einen Eintrag in /etc/profile, meine Ergänzung lautet hier:


sudo python /home/pi/audiobutton/button/button.py &

Absolut wichtig hier: das System muss auf Auto-Login eingestellt sein, deswegen über sudo raspi-config > Boot Options > Desktop/CLI > Console AutoLogin dort die entsprechende Einstellung machen.

Hier noch ein hilfreicher Link zur allgemeinen Audio-Konfiguration unter Raspbian: https://dafrk-blog.com/de/audio-ueber-raspberry-pi-abspielen-mittel-und-wege/

System Profiler Commands

Abgelegt unter macOS

General Hardware Information:

system_profiler SPHardwareDataType

Serial Number:

system_profiler SPHardwareDataType | grep Serial

Exact CPU Model:

sysctl -n machdep.cpu.brand_string

Raspbian: Minimal Webcam

Abgelegt unter DIY, Raspberry Pi

Diese Variante einer mobilen Webcam enthält softwareseitig nur ein Skript für die Erstellung und FTP-Upload des “webcamimage.jpg” sowie einen Cron-Job der jede Minute ausgeführt wird.
An zusätzlicher Software wird sshpass benötigt, Datenübertragung erfolgt mit SFTP. Das normale FTP wird von kommerziellen Hosting-Firmen nicht mehr unterstützt.
Beispiel-Syntax für Download: user@host:directory/webcamimage.jpg
Beispiel-Syntax für Upload: user@host:directory/ <<< $'put webcamimage.jpg'
Hier das komplette Script (password muss in Quotationmarks):

#!/bin/bash
cd /home/pi/webcam/
sudo rm *.jpg
raspistill -rot 180 -w 1640 -h 1232 -o "webcamimage.jpg"
sleep 1
sshpass -p "password" sftp -oPort=22 user@host:directory/ <<< $'put webcamimage.jpg'
exit

Hardware ist hier ein Raspberry Pi Model B Plus Rev 1.2 plus Kamera Modul V2 plus TPLink TL-WN722n (Rev1, Atheros).

Turn Off/On SSH

Abgelegt unter macOS

Enabling SSH:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Disabling SSH:

$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist

Siehe auch Turn Off/On AFP/SMB

TimeMachine: Emergency Test

Abgelegt unter macOS

Ein TimeMachine-Backup zu haben ist schön, aber noch besser ist es, die exakte Notfall-Prozedur ebenfalls zu üben. Der Worst-Case wäre es, bei einem Ernstfall festzustellen, dass das TM-Backup nicht funktioniert. Die Gründe können auch da vielfältig sein, aber ein Szenario ist definitiv fehleranfällig: keine dezidierte Backup-Platte zu verwenden, sondern eine “gemischte Platte”, die den Backup-Ordner und andere Daten enthält. Diese neue Aufgabenstellung für diese Festplatte kann auch wieder neue Probleme generieren. In dieser Konstellation sollte unbedingt mal ein Test mit dem vorhandenen Backup durchgeführt werden.

Dazu im Recovery-Modus starten (Taste CMD und R beim Start gedrückt halten), danach im Recovery-Menü den ersten Punkt “Von TimeMachine-Backup wiederherstellen” auswählen. Dort würden zuerst die vorhanden TimeMachine-Orte aufgelistet werden (lokale Platten und/oder Netzwerk-Platten) und danach würde zweitens die TimeMachine-Zeit/Datum ausgewählt werden. Dass beides zusammen funktioniert ist NICHT zwingend, deswegen ist diese Prozedur so wesentlich. Falls also einer der Schritte nicht funktioniert: sofort ein neues Volume oder Festplatte für ein frisches Backup definieren und auch sofort durchführen.

Update: manche Probleme hinsichtlich eines (Netzwerk-) TimeMachine-Backups entstehen durch die nachträgliche Änderung des Computer-Namens, siehe auch diesen Artikel.

InfoSys 0.7

Abgelegt unter macOS, QC

Ein QC-Projekt, dass als ScreenSaver die aktuellen News der Fakultät darstellt. Die Datei in ~/Library/ScreenSaver bewegen und im Kontrollfeld “Bildschirmschoner” auswählen. Funktioniert nur bis macOS 10.13 HighSierra.

Mac ohne Tastatur betreiben

Abgelegt unter Exhibitions, macOS

Einen Desktop-Mac passiv (also ohne Tastatur, aber mit Monitor) zu betreiben kommt im Ausstellungskontext häufig vor. MacMinis, MacPros und iMacs, die mit vorgefertigten Programmen bestückt werden und nur noch eingeschaltet werden sollen. Das Problem dabei ist: der Bluetooth-Keyboard-Assistent startet bei nicht angeschlossenen Eingabe-Geräten automatisch (auch bei ausgeschalteten Bluetooth) und verhindert das nachfolgende Ausführen von Programmen, ScreenSaver etc.
Die Lösung ist, diesen Assistenten zu deaktivieren bzw. umzubenennen.

sudo mv "/System/Library/CoreServices/Bluetooth Setup Assistant.app" "/System/Library/CoreServices/Bluetooth Setup Assistant.dissabled.app"

Vorraussetzung dafür: SIP deaktivieren.
Um den Assistenten wieder einzuschalten kehrt man die Umbenennung um:

sudo mv "/System/Library/CoreServices/Bluetooth Setup Assistant.dissabled.app" "/System/Library/CoreServices/Bluetooth Setup Assistant.app"

Mujiwireless Version 2

Abgelegt unter Raspberry Pi

Ein wesentlicher Schwachpunkt bei Mujiwireless Version 1 ist die fehlende Information über die IP-Nummer, die das Gerät zugewiesen bekommt. Mit dem monochromen Mini-OLED-Display lässt sich dieser Makel elegant beheben. Das Display zeigt anhand der Demo-Datei stats.py schon alle wesentlichen Daten an: IP-Nummer, CPU-Load, RAM- und Disk-Belegung. Anhand von der CPU-Load kann man auch gut auf den ersten Blick erkennen, ob ein Zugriff auf das Gerät stattfindet. Die Disk-Belegung funktioniert ebenfalls zuverlässig. Alles in allem eine wesentliche Verbesserung was die Funktion angeht. Baulich ist das Display allerdings wesentlich höher als der Raspberry Pi Zero, so, es passt nicht mehr in das (namensgebende) Muji-Gehäuse. Eventuell kann man an den Header-Stiften schrauben …

Show Large Files in Terminal

Abgelegt unter macOS


#!/bin/sh
echo "Disk: "
read input_variable
echo "Search Sizes larger than x MB: "
read input_variable3
find "/volumes/$input_variable/" -type f -size +"$input_variable3"M -exec ls -lh {} \; 2> /dev/null | awk '{ print $5 " > " $NF}' #thatsit
exit

Update: die awk-Option “$NF” zeigt das letzte Feld des separierten Satzes an, zerschneidet dadurch aber Pfade mit Lehrzeichen. Die Option “$0” zeigt den kompletten Satz an, also auch den kompletten Pfad. Oder “$9 ” ” $10″, also Felder 9 und 10, das wäre der erste Teil des Pfades und der zweite Teil des Pfades inklusive einem künstlichen Lehrzeichen. Kann man noch weiter verfeinern, wichtig wäre aber Feld 9, den ohne den ersten Teil des Pfades hat man weniger Hinweise, wo man suchen würde …