Foundry VTT unter Ubuntu als Service installieren

Bei Foundry VTT handelt es sich um eine Virtual Tabletop-Plattform, welche selbst gehostet werden kann. Daneben existieren Versionen für macOS und Windows. Soll Foundry VTT unter Ubuntu gehostet werden, muss im ersten Schritt Node.js installiert werden:

apt install -y libssl-dev
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt install -y nodejs

Anschließend kann ein Nutzer für Foundry VTT angelegt werden und in diesen gewechselt werden:

adduser --disabled-login --gecos "" foundryvtt
su - foundryvtt
mkdir foundry

Nachdem das aktuelle Release von Foundry VTT heruntergeladen wurde, sollte dieses im Ordner foundry entpackt werden:

cd foundry
unzip foundryvtt.zip
rm foundryvtt.zip

Anschließend wird der Kontext des Nutzers foundryvtt verlassen und eine neue Service-Unit für systemd angelegt:

exit
nano /etc/systemd/system/foundryvtt.service

Diese wird mit folgendem Inhalt befüllt:

[Unit]
Description=Foundry VTT
After=syslog.target
After=network.target

[Service]
Type=simple
User=foundryvtt
Group=foundryvtt
ExecStart=/usr/bin/node /home/foundryvtt/foundry/resources/app/main.js --dataPath=/home/foundryvtt/foundrydata
Restart=always

[Install]
WantedBy=multi-user.target

Nachdem die Datei angelegt wurde, kann der Service aktiviert und gestartet werden:

systemctl enable foundryvtt
systemctl start foundryvtt

Lokal ist der Service nun per HTTP unter dem Port 30000 erreichbar. Damit der Service auch von außen erreichbar ist, kann Nginx als Reverse Proxy konfiguriert werden. Dazu muss die entsprechende Konfiguration hinterlegt werden:

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate        /etc/letsencrypt/live/example.org/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/example.org/privkey.pem;

    server_name example.org;

    client_max_body_size 512m;

    location / {

        # Set proxy headers
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # These are important to support WebSockets
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        # Make sure to set your Foundry VTT port number
        proxy_pass http://localhost:30000;
    }
}

Damit steht Foundry VTT auch von außen unter der entsprechenden Domain zur Verfügung und kann benutzt werden.

ffmpeg wird von zsh beendet

Beim Aufruf von ffmpeg im Terminal kam es unter macOS Big Sur auf einem M1-Mac zu folgender Fehlermeldung:

zsh: killed     ffmpeg

Installiert war ffmpeg über den Paketmanager Homebrew. In diesem Fall half es ffmpeg mitsamt seiner Abhängigkeiten wieder neu zu installieren:

rew reinstall $(brew deps ffmpeg) ffmpeg

Nach dieser Prozedur konnte ffmpeg im Terminal wieder normal benutzt werden.

Drehen der Dokumentansicht unter Affinity Photo deaktivieren

In Affinity Photo unter macOS kann die Dokumentansicht mittels des Maus-Scrollrads und einem Druck auf Command-Taste gedreht werden. Allerdings kann diese Voreinstellung auch ziemlich nervig sein, wenn die Dokumentansicht zum wiederholten Male unbeabsichtigt gedreht wurde.

Affinity Photo mit gedrehter Dokumentansicht

Über die Einstellungen von Affinity Photo kann dieses Verhalten abgeschaltet werden. Dort findet sich die Option Leinwandrotation mit Command + Scrollrad.

Die Einstellungen von Affinity Photo

Wird diese Einstellung deaktiviert, ist keine Rotation mit der Maus bzw. dem Scrollrad mehr möglich.

missing xcrun unter macOS

Wer nach einem Update der macOS-Installationen ein Befehl wie z.B. Git eingeben möchte und folgende Meldung erhält:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

muss die Command Line Developer Tools mittels des Befehls:

xcode-select --install

nachinstallieren. Danach können die Befehle im Terminal wie gewohnt ausgeführt werden.

Architektur einer ausführbaren Datei unter macOS ermitteln

Mit Apple Silicon können Applikationen unter macOS auf zwei unterschiedlichen Architekturen laufen. Wer sehen möchte welche Architektur eine App nutzt, kann dies in Aktivitätsanzeige sehen.

In der Aktivitätsanzeige wird die Architektur der ausgeführten Apps angezeigt

Allerdings muss die Applikation dafür gestartet werden. Im Terminal lässt sich die bereitgestellte Architektur der Applikation über den file-Befehl ermitteln:

file /Applications/Joplin.app/Contents/MacOS/Joplin

Als Ausgabe erscheinen dann die entsprechenden Architekturen welche in der ausführbaren Datei enthalten sind:

/Applications/Joplin.app/Contents/MacOS/Joplin: Mach-O 64-bit executable x86_64

Auch Universal Binaries können genutzt werden:

file /Applications/bsnes.app/Contents/MacOS/bsnes

Als Ausgabe erscheinen dann die entsprechenden enthaltenden Architekturen:

/Applications/bsnes.app/Contents/MacOS/bsnes: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64]
/Applications/bsnes.app/Contents/MacOS/bsnes (for architecture x86_64): Mach-O 64-bit executable x86_64
/Applications/bsnes.app/Contents/MacOS/bsnes (for architecture arm64): Mach-O 64-bit executable arm64