At-Taste funktioniert nicht im macOS-Terminal

Im Terminal unter macOS kann es vorkommen, dass die At-Taste nicht funktioniert. Wird die Kombinationen von Option + L gedrückt, passiert in einem solchen Fall nichts. Lösen lässt sich dieses Problem über die Einstellungen des Terminals.

Die Einstellungen des Terminals

Dort findet sich unter Profile und dem Tab Tastatur der Punkt Option-Taste als Meta-Taste verwenden. Wird dieser deaktiviert, funktioniert das At-Zeichen auch im Terminal wieder.

Simple Web Server

Ab und an kann es vorkommen, dass ein Webserver auf dem eigenen Rechner benötigt wird. Natürlich existieren hierfür auch Lösungen für das Terminal, aber wenn eine grafische Oberfläche gewünscht ist, muss auf andere Werkzeuge ausgewichen werden. Eines dieser Werkzeuge ist der Simple Web Server.

Simple Web Server unter macOS

Über diesen kann unter macOS und Windows einfach ein Webserver konfiguriert und bei Bedarf ausgeführt werden. Die eingerichteten Server werden hierbei persistiert, sodass sie auch zu einem späteren Zeitpunkt wieder genutzt werden können. Zu finden ist die Applikation auf der offiziellen Webseite. Das Projekt ist freie Software, lizenziert unter der MIT-Lizenz. Der Quelltext ist auf GitHub zu finden.

Passwort für Batocera im Terminal setzen

Die Retro-Gaming-Distribution Batocera ist nicht auf Sicherheit getrimmt. So wird der Account root, standardmäßig mit dem Passwort linux ausgeliefert. Wer sich per SSH mit einer Batocera-Installation verbindet, wird feststellen das eine Änderung über passwd nicht möglich ist:

[root@BATOCERA ~]# passwd
-bash: passwd: Kommando nicht gefunden.

Stattdessen muss hier anders vorgegangen werden. Im ersten Schritt muss die Option Enforce Security aktiviert werden. Dazu muss die entsprechende Konfigurationsdatei bearbeitet werden:

nano /userdata/system/batocera.conf

Dort muss der Security-Block aktiviert werden:

## Security
## Enable this to enforce security, requiring a password to access the network share.
system.security.enabled=1

Anschließend kann das Passwort gesetzt werden:

batocera-config setRootPassword secret123

Auch hier fällt wieder auf, dass die Sicherheitseinstellungen der Distribution zu wünschen übrig lassen:

*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

Das neu gesetzte Passwort gilt immer nur nach einem Neustart, sodass dieser ebenfalls durchgeführt werden muss:

reboot

Anschließend kann sich mit dem neuen Passwort, z. B. per SSH, verbunden werden. Das Passwort kann daneben in den Systemeinstellungen der Batocera-Oberfläche unter Sicherheit eingesehen werden.

Datenträger im Terminal unter macOS formatieren

Ab und an, bietet es sich an einen Boot-Stick, z.B. für die Linux-Distribution seiner Wahl zu erstellen. Problematisch wird es, wenn versucht wird diesen über das Festplattendienstprogramm unter macOS wieder zu formatieren. Dann kann es durchaus zu Fällen kommen, in denen dies nicht mehr möglich ist. Hier bietet es sich dann an den Datenträger im Terminal zu formatieren. Im ersten Schritt muss dazu ermittelt werden, wie der konkrete Datenträger angesprochen werden muss:

diskutil list

Im Normalfall wird ein Gerät mit den Attributen external und physical gesucht:

/dev/disk14 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *62.9 GB    disk14
   1:       Microsoft Basic Data                         6.3 GB     disk14s1
   2:                        EFI ESP                     5.2 MB     disk14s2
   3:       Microsoft Basic Data                         307.2 KB   disk14s3
   4:           Linux Filesystem                         56.6 GB    disk14s4

Wurde das Gerät gefunden, kann der Datenträger ausgehängt werden:

diskutil unmountDisk /dev/disk14

Anschließend kann die eigentliche Formatierung gestartet werden:

diskutil eraseDisk ExFAT USB GPT /dev/disk14

Mit ExFAT wird in diesem Fall das Dateisystem, mit USB der Name und mit GPT das Partitionsschema definiert. Nach einer kurzen Wartezeit sollte die Formatierung dann abgeschlossen sein:

Started erase on disk14
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk14s2 as ExFAT with name USB
Volume name      : USB
Partition offset : 411648 sectors (210763776 bytes)
Volume size      : 122466304 sectors (62702747648 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset       : 2048 sectors (1048576 bytes)
# FAT sectors    : 4096
Number of FATs   : 1
Cluster offset   : 6144 sectors (3145728 bytes)
# Clusters       : 478360
Volume Serial #  : 697b38bb
Bitmap start     : 2
Bitmap file size : 59795
Upcase start     : 3
Upcase file size : 5836
Root start       : 4
Mounting disk
Finished erase on disk14

Merge unter Git erzwingen

Normalerweise ist ein Merge unter Git kein Problem. Im Terminal könnte das Ganze wie folgt aussehen:

git merge feature-xyz

Interessant wird es, wenn es dabei zu einem Fehler kommt:

fatal: refusing to merge unrelated histories

In diesem Fall besteht das Problem darin, dass die History des Quellbranches nicht mit der des Zielbranches zusammenhängt. Wer in einem solchen oder ähnliches Fall trotzdem einen Merge erzwingen möchte, kann dies mit einem zusätzlichen Parameter bewerkstelligen:

git merge feature-xyz --allow-unrelated-histories

Damit wird der Quellbranch zwangsweise in den Zielbranch gemergt.