Debian 12 VMware Workstation deinstallieren

18.01.2025 - Lesezeit: ~1 Minute

Nachdem ich die VMware Workstation seit gut einem Jahr nicht mehr benutzt habe, kann ich sie mit gutem Gewissen deinstallieren.

$ sudo vmware-installer -u vmware-workstation

Sollte ich doch noch Sehnsucht nach meinen alten Daten haben, kann ich über guestmount darauf zugreifen:

#!/bin/bash
dir="/media/wnf/sydney_platte_c"
if [[ ! -e $dir ]]; then
    sudo mkdir $dir
    sudo chmod 777 $dir
fi
guestmount -a /wnfdaten/vmware/Sydney/Delphi10-cl2.vmdk -i --ro $dir
Tags: VMware

Autostart Python-Script auf Raspi LXQT

15.01.2025 - Lesezeit: 2 Minuten

Literatur

Den Autostart Ordner anlegen, falls er nicht existiert. Danach eine Startdatei anlegen.

mkdir ~/.config/autostart
nano .config/autostart/wnfjukebox.desktop

Das Programm im Terminal starten, damit man eventuelle Fehlermeldungen sehen kann.

[Desktop Entry]
Type=Application
Name=wnfJukebox-Anzeige
Exec=xterm -hold -e '/home/bernd/bin/wnfjukenbox'

Das Programm arbeitet als Anzeige für MQTT. Da das Netzwerk beim Autostart noch nicht hochgefahren ist, muss auf das Netzwerk gewartet werden

from time import sleep
import paho.mqtt.client as mqtt

cMQTT_HOST = '192.168.80.107'
cMQTT_TOPIC = '/c2023/wnfPlay'

aMusikAnzeige = None

def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))
    client.subscribe(cMQTT_TOPIC)

def on_message(client, userdata, msg):
    global aMusikAnzeige
    # print(client)
    # print(userdata)
    # aJetzt = datetime.datetime.now().strftime("%H:%M")
    # print(aJetzt + " " + msg.topic + " " + str(msg.payload))
    if aMusikAnzeige:
        aMusikAnzeige.anzeige(msg)

def starteAnzeige(aAnzeige):
    global aMusikAnzeige
    aMusikAnzeige = aAnzeige
    client = mqtt.Client()
    client.on_connect = on_connect
    client.on_message = on_message
    # auf dem Raspi mit LXQT wird das Programm von Autostart gestartet
    # es kann sein, dass das Netzwerk noch nicht hochgefahren wurde.
    # Deshalb wir hier auf das Netzwerk gewartet.
    aConnected = False
    aAnz = 0
    while not aConnected and (aAnz < 10):
        try:
            client.connect(cMQTT_HOST, 1883, 60)
            aConnected = True
            client.loop_start()
        except Exception as E:
            print(E)
            sleep(5)
            aAnz += 1
Tags: LQXT Raspi Autostart

Python Bottle mit SSL (https)

14.01.2025 - Lesezeit: ~1 Minute

Änderung gegen über der Original-Quelle (Deprecated since version 3.6: OpenSSL has deprecated all version specific protocols.)

PROTOCOL_TLSv1_2 wird zu PROTOCOL_TLS_SERVER

  • test_bottle_https_ssl.py
from bottle import ServerAdapter,run,get

class SecureAdapter(ServerAdapter):
    def run(self, handler):
        from wsgiref.simple_server import make_server, WSGIRequestHandler, WSGIServer
        from socketserver import ThreadingMixIn
        import ssl

        if self.quiet:
            class QuietHandler(WSGIRequestHandler):
                def log_request(*args, **kw):
                    pass

            self.options['handler_class'] = QuietHandler

        #Setup SSL context for 'A+' rating from Qualys SSL Labs.
        context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER)
        context.load_cert_chain(certfile='server.pem')
        context.set_ciphers('EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH')

        class ThreadAdapter(ThreadingMixIn, WSGIServer): pass
        ssl_server = make_server(self.host, self.port, handler, server_class=ThreadAdapter, **self.options)
        ssl_server.socket = context.wrap_socket(ssl_server.socket, server_side=True)
        ssl_server.serve_forever()

@get("/x")
def get_x():
 return "Hi there"

run(server=SecureAdapter, host="0.0.0.0", port=8090)
Tags:

Raspberry Pi OS Lite mit Music Player Daemon (mpd)

11.01.2025 - Lesezeit: ~1 Minute

Auch unter Raspberry Pi OS Lite läuft der Music Player Daemon (mpd).

zur Beachtung:

  • der speaker-test blockiert die alsa-Schnittstelle, so dass der mpd keine Musik abspielen kann.
Tags: Raspi mpd

Raspi mit Music Player Daemon (mpd)

09.01.2025 - Lesezeit: 2 Minuten

Nachdem auf dem Raspi Zero das Soundsystem funktioniert, kann ich den mpd installieren.

sudo apt install mpd

Der User mpd muss zur Gruppe audio hinzugefügt werden

sudo usermod -aG audio mpd

Anzeige der vorhandenen Soundkarten

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Die Datei /etc/mpd.conf anpassen:

sudo nano /etc/mpd.conf

Die Zeile kommentieren, damit der Zugriff über das Handy funktioniert:

# bind_to_address                 "localhost"
audio_output {
        type            "alsa"
        name            "Hifi Berry DAC"
        device          "hw:1,0"        # optional
        mixer_type      "software"      # optional
##      mixer_device    "default"       # optional
##      mixer_control   "PCM"           # optional
##      mixer_index     "0"             # optional
}
sudo systemctl enable mpd
sudo service mpd restart
sudo service mpd status
music_directory      "/var/lib/mpd/music"
playlist_directory    "/var/lib/mpd/playlists"

Bei Problemen das journalctl anzeigen:

  • -f Follow (Live-Anzeige)
  • -u Unit mpd

journalctl -f -u mpd

Meine Fehlermeldungen:

Tags: Raspi mpd

Raspi mit Soundkarte hifiberry-dac

08.01.2025 - Lesezeit: 2 Minuten

Raspberry Pi Zero 2 W Rev 1.0 mit Soundkarte hifiberry-dac

Soundkarte hifiberry-dac

Da das Soundsystem unter Linux nicht trivial zu installieren ist, installiere ich ein komplettes Raspbian.

Raspi-imager

Auf dem Raspi die Soundkarte eintragen:

$ sudo nano /boot/firmware/config.txt

dtoverlay=hifiberry-dac

Nicht benötigte Programme deinstallieren

$ sudo apt purge firefox
mkdir bin
nano bin/wls_update
#!/bin/bash
sudo apt update && sudo apt dist-upgrade
sudo apt-get autoremove --purge
sudo apt-get autoclean
sudo chmod +x bin/wls_update

Das Soundsystem aktivieren

sudo raspi-config
6 - Advanced Options
A7 - Audio Config
1 - Pulse Audio

Den Raspi neustarten.

Die Soundausgabe testen:

aplay /usr/share/sounds/alsa/Front_Center.wav
aplay /usr/share/sounds/alsa/Front_Left.wav
aplay /usr/share/sounds/alsa/Front_Right.wav
aplay /usr/share/sounds/alsa/Front_Center.wav

oder mit

speaker-test -t wav -c 2 
Tags: Raspi hifiberry-dac alsa sound