Pinch Geste in iTerm2 deaktivieren

Im großartigen MacOS Terminal Programm iTerm2 gibt es ein sehr lästiges Feature, mit welchem man mittels Trackpad-Pinch-Geste (also die aufziehende Geste zum Vergrößern von Bildern z.B.) die Schriftgröße des aktuellen Terminals verändert. Leider gibts dafür auch keine direkte Einstellung, aber wenigstens ein hidden Setting. Und das aktivierst du so:

  1. Öffne die “terminal” Applikation
  2. gib folgenden Befehl ein:
    defaults write com.googlecode.iterm2 PinchToChangeFontSizeDisabled -bool true

     

Nextcloud mit nginx reverse proxy macht endlos reloads

Langer Titel, einfaches Problem.

Ich habe eine Nextcloud Instanz, die lokal läuft und dann mittels Nginx Reverse Proxy aus dem Internet nur per HTTPS erreichbar ist. Nach einem der üblichen Updates endete dieses Setup, welches bis dahin problemlos lief, immer in einer Endlossschleife – aber nur für die Website. Die Nextcloud Sync Clients liefen problemlos weiter.

Mir war also klar, dass es irgendwie mit dem Reverse Proxy zusammenhängen muss. Und so war es dann auch. Nachdem ich folgendes zur Config Datei hinzugefügt hatte, lief es wieder:

'overwritehost'     => 'WWW.MEINE.DOMAIN',
'overwriteprotocol' => 'https',

Das Problem war einfach, dass scheinbar Nextcloud intern auf HTTP gehen wollte, was durch den Auto-Redirect des Nginx auf HTTPS dann für die Endlosschleife gesorgt hatte 🙂

Wie kann ich auf das Timemachine Backup eines anderen Macs zugreifen?

Folgende Problemstellung: Du hast eine Timemachine USB Festplatte mit Backups eines anderen Macs, aus denen du einzelne Dateien auf deinen aktuellen Mac kopieren möchtest. Prinzipiell geht das einfach über den Finder, aber der Zugriff auf bestimmte Ordner, wie z.B. den Documents oder Images Ordner eines Users kannst du nicht öffnen, da dafür eine Beschränkung aktiviert ist. Um diese Beschränkung zu umgehen, rufe folgendes Command in einem Terminal aus:

sudo vsdbutil -d '/Volumes/[NAME_DEINER_USB_PLATTE]'

Mit diesem Command werden die Dateizugriffsrechte für diesen Pfad deaktiviert und du hast vollen Zugriff darauf.

[Quicktip] Wie kann ich alle installierten Python pip Packages upgraden?

Über einen kleinen Umweg kann man auf der Bash ganz einfach alle aktuell installierten pip Pakete updaten / upgraden:

pip freeze | sed -e 's/==.*//g' > upgrade.txt
pip install --upgrade -r upgrade.txt
rm upgrade.txt

Das Script lässt sich alle installierten Pakete ausgeben, entfernt das “==[Versionsnummer]” hinter dem Namen und packt diese Liste in die Datei upgrade.txt. Anschließend wird diese Datei bei einem “pip upgrade” als “requirements.txt” übergeben und mit dem upgrade Befehl ausgeführt.

[Einzeiler] Dateien nach einem String durchsuchen, aber nur, wenn ein zweiter String nicht vorkommt

Sorry für die verwirrende Überschrift, aber anders kann ich es nicht in einen Satz zusammenfassen 😉

mit grep alle Dateien im aktuellen Ordner rekursiv durchsuchen

Ihr wollt in einem Ordner inkl. Unterordner alle Dateien nach einer Zeichenkette durchsuchen? Dann verwendet folgendes Kommando:

grep -ir "das will ich finden" ./*

Der Parameter “i” bewirkt, dass bei dem zu suchenden Begriff nicht auf die Groß-/Kleinschreibung geachtet wird, das “r” sorgt dafür, dass der zu durchsuchende Ordner auch rekursiv, also mit allen Unterordnern, durchsucht wird.

grep mit einem NOT verwenden

Wollt ihr nun noch nach Wort Nummer 1 suchen, aber Wort Nummer 2 soll nicht in der gleichen Zeile vorkommen? Dann kommt folgendes Kommando zum Einsatz:

grep -ir "das will ich finden" ./* | grep -iv "das soll nicht in der gleichen Zeile stehen"

Wie ihr seht, filtern wir das Ergebnis des ersten grep einfach nochmal mit grep, wenden aber den Parameter “v” an. Dieser bewirkt, dass grep sich genau umgekehrt wie sonst verhält – es werden also alle Zeilen angezeigt, die das gesuchte Wort NICHT enthalten.

[Quicktip] aktuellen git branch im bash prompt anzeigen

Hier mal wieder etwas nettes für die Mac bzw. Linux User unter euch. Mittels der hier beschriebenen Methode könnt ihr euch einfach – sofern ihr euch innerhalb eines mit git versionierten Ordners befindet – den aktuell ausgecheckten Branch anzeigen lassen. Die hier verwendete Methode gilt für die bash. Mit kleinen Abwandlungen sollte es aber auch auf anderen Shells laufen.

In eurem Homeverzeichnis – mittels eines einfachem “cd” gelangt ihr dort hin – müsst ihr nur die Datei “.bash_profile” bzw. unter Linux die “.bash_rc” editieren und folgende Zeile einfügen (es handelt sich um eine Zeile!):

export PS1='\[\033[01;32m\]\u\[\033[01;34m\] \w\[\033[31m\]$(git branch 2>/dev/null|cut -f2 -d\* -s) \[\033[01;34m\]$\[\033[00m\] '

Falls ein “export PS1” bereits vorhanden ist, müsst ihr es ersetzen bzw. beide zusammenführen.

Was passiert? Durch die Formatierung wird das aktuelle Verzeichnis in grün angezeigt, ein evtl. anzeigbarer Branchname in rot. Die Farbe kommt von den Zahlenwerten in den eckigen Klammern. Wenn ihr keine farblichen Veränderungen wünscht, dann lasst die entsprechenden Codes einfach weg.

Falls ihr bereits eigene Formatierungen für die PS1 vorgenommen habt, findet ihr hier den eigentlich relevanten Teil für die Ausgabe des git branches:

$(git branch 2>/dev/null|cut -f2 -d\* -s) 

Nachdem ihr die bash_profile bzw. bash_rc editiert habt, speichert alles ab, schließt das Konsolenfenster und öffnet es dann erneut. Und schon sind die Änderungen sichtbar.

via asemanfar.com

[php] Einzeiler: aktuelles Jahr, Monat oder Tag auslesen

Wenn ihr mal eine Möglichkeit braucht, um das aktuelle Jahr, den aktuellen Monat oder den aktuellen Tag auszulesen und dies in einer Zeile erledigen wollt, dann macht es doch so:

$year = date("Y");
$month = date("m");
$day = date("d");

Wenn ihr das komplette Datum braucht, dann geht das so:

$date = date("d.m.Y");

Und falls ihr nicht den aktuellen Zeitpunkt, sondern einen gegebenen Timestamp verwenden wollt, dann geht das so:
$date = date("d.m.Y", $timestamp);