robsite

In linux

Terminal Red Line

Um Befehle besser zu trennen und eine schöne rote Linie über die gesamte Breite des Terminals zu malen, mit Pfad darunter:

COLUMNS=$(tput cols)
RED='\[\e[1;31m\]'
RESET='\[\e[0m\]'
export PS1="\[\e]2;\w\a$RED\`for (( i=0 ; i < \"\$COLUMNS\";i++)) ; do echo -n '_'; done\`\n$RED\$PWD)$RESET "

In .bash_profile oder .bashrc packen.

Für ZSH in .zshrc (nach 4 Fragen übersetzt von GPT-4 🤯):

COLUMNS=$(tput cols)
RED=$'\e[1;31m'
RESET=$'\e[0m'

# Generate the red line
red_line() {
  for (( i=0 ; i < $COLUMNS; i++ )); do
    echo -n '_'
  done
}

# Set the prompt with the current working directory
PROMPT="${RED}%d)${RESET} "

# Use precmd to print the red line before the prompt
precmd() {
  echo -n "${RED}$(red_line)${RESET}"
  echo
}
Bild eines macOS Terminals mir roter Linie
· chatgpt, command line, linux, macOS, terminal ·

git pull sound

Um einen Sound nach fast1 jedem git pull auf macOS oder Linux zu spielen:

  1. Damit das ganze in allen git Repositories verfügbar ist,
    ~/.git-templates/hooks Ordner anlegen oder haben. Darin:
  2. Sound-Datei reinkopieren, z.B. ~/.git-templates/sounds/pigpull.mp3
    Beliebige Sounds sind möglich, sinnvoll ist aber nur pigpull.mp3 basierend auf dem damage a4-Sound der Angry Birds Schweine.
  3. ~/.git-templates/hooks/post-merge anlegen. Darin:
#!/bin/bash

afplay .git/hooks/sounds/pigpull.mp3 # oder mplayer auf Linux
echo "PULL! 🐷"
  1. chmod +x post-merge um das Script ausführbar zu machen.
  2. git init in jedem neuen oder existierenden git-Repository, das den Sound spielen soll. Dies kopiert post-merge und den Sound ins Repo.
    Obacht: Wenn sich das Template ändert, überschreibt erneutes git init die lokale Version nicht, sie muss vorher erst gelöscht werden. Auch aufpassen, falls es schon post-merge Hooks gibt.

Ergebnis:

1

git pull --rebase bleibt still, da nichts gemerged wurde. Merged man wiederum manuell, spielt der Sound, obwohl es keinen Pull gab.

· git, linux, macOS, 🐷 ·

Let's Encrypt

Let's Encrypt hat gerade sein einmillionstes Zertifikat ausgestellt. Ist erstaunlich einfach einzurichten, vor allem mit Apache auf Debian/Ubuntu:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/
$ ./letsencrypt-auto --help
$ ./letsencrypt-auto --apache -d robsite.net

Dann Mailadresse eingeben, ToS zustimmen, HTTP/HTTPS oder HTTPS-only wählen, fertig.

Bildschirmfoto 2016-03-08 um 08. März | 17.38.06

Wenn HTTP komplett verboten ist und man noch irgendwo hardcodierte HTTP-Links drin hat, mault der Browser über unsichere Verbindungen. Also alle URLs wenn möglich zu https://bla... ändern und in Zukunft lieber gleich das flexiblere //bla... nehmen.

Das Zertifikat ist 90 Tage gültig, wobei Let's Encrypt in der Beta-Phase noch kein Auto-Renewal bietet. Stattdessen dann gelegentlich
./letsencrypt-auto certonly --apache --renew-by-default -d robsite.net -d zweitedomain.de
ausführen. Oder einfacher, do.co/le-renew per Cron laufen lassen:

$ sudo vim /usr/local/sbin/le-renew # Script reinkopieren, vorher lesen
$ sudo crontab -e
0 0 * * 1 /usr/local/sbin/le-renew robsite.net >> /var/log/le-renew.log

Prüft jeden Montag um 00:00, ob die Certs in den nächsten 30 Tagen ablaufen und erneuert sie dann.

Mit nginx auch nicht viel komplizierter.

· apache, https, linux, webdev ·

Printer Sharing von Mac OS X zu Ubuntu

Nachdem ich im Netz keinerlei Anleitungen dafür finden konnte, poste ich hier nun meine Lösung, auf die ich nach einigem herumprobieren gekommen bin. Die offensichtlichen Wege den Drucker unter Linux einzurichten haben alle nicht funktioniert.

Mac OS X 10.6.1
Ubuntu 9.10
Drucker: Brother HL-1430

Gastbeitrag von Ludwig

Mac OS X einrichten

1. Drucker und Dateifreigabe aktivieren
2. Drucker-User anlegen (maria)
3. Für gewünschten Drucker als freigegebener User hinzufügen

/images/posts/0000/2116/printer-1_big.jpg

4. Dateifreigabe SMB aktivieren und auch hier den gleichen User hinzufügen (maria)

/images/posts/0000/2122/printer-2_big.jpg

5. Den exakten Drucker-Namen aufschreiben so wie Mac OS X ihn anzeigt (Groß/Kleinschreibung, Leerzeichen, alles halt)

Drucker unter Linux hinzufügen

6. System -> Drucker -> Neu
7. Unter Sonstiges Printer-Pfad eingeben: smb://IP/Drucker-Name (Siehe Schritt 5)

/images/posts/0000/2128/printer-3_big.jpg

8. Nun den Druckertreiber auswählen. Hier kann es sein, dass eine andere Kombination notwendig ist. Am besten erstmal den Generic ausprobieren, wie in meinem Fall.

/images/posts/0000/2134/printer-4_big.jpg

9. Als nächstes Post-Script wählen

/images/posts/0000/2140/printer-5_big.jpg

10. Im nächsten Schritt können Drucker-Optionen gewählt werden
11. Im darauf folgenden Schritt kann der Drucker blbg. benannt werden

/images/posts/0000/2146/printer-6_big.jpg

12. Der Drucker ist fertig eingerichtet und kann benutzt werden

/images/posts/0000/2152/printer-7_big.jpg

· drucker, freigabe, linux, mac, printer, sharing ·
Mastodon