Einführung
Vorab etwas zur Beruhigung: für den Betrieb des HQPLayer Betriebssystems benötigst du keine Linux-Befehle. Wenn du aber etwas unter der Haube schrauben möchtest, wollen wir dir einige Tipps geben. Das HQPlayer OS wurde extrem auf die Bedürfnisse des HQPlayers zugeschnitten und hat daher einen sehr eingeschränkten Fuktionsumfang. Der übliche Linux-Befehl sudo
entfällt zum Beispiel. Alle Tipps erfolgen unter Ausschluss jeglicher Gewährleistung.
Tastaturbelegung
Bevor du remote (SSH) gehen kannst, musst du Bildschirm und mindestens eine Tastatur anschließen. Wenn du eine deutsche Tastatur verwendest, sind die Tasten anders belegt als bei einer US amerikanischen Tastatur. Damit du nicht ewig suchen musst haben wir eine kleine Liste erstellt.
US "/" = DE "-"
Lesebeispiel: um „Slash /“ einzugeben klickst du auf der deutschen Tastatur auf die Taste mit dem „Trennzeichen –„.US "_" = DE "?"
US "Y" = DE "Z"
Hier ist die US-Tastaturbelegung:
Root
Um wirksam die Codierung zu ändern oder systemrelevante Abfragen zu tätigen musst du Root-Rechte haben. Nach dem Booten gibst du einfach im HQPlayer OS ein: root
. Schon arbeitest du in der Root-Shell.
SSH Zugang
Das HQPlayer Betriebssystem ist eigentlich nur mit Bildschirm und Tastatur auf deinem Audio PC zugänglich. Wäre es nicht schön einen Fernzugriff zu haben? Mittels SSH (Secure Shell) kannst du eine verschlüsselte Verbindung zur Kommandozeile (Shell) des HQPlayer OS herstellen. Wir beschreiben hier nur den Weg über einen Apple Mac Computer. Ähnliches gilt auch für Windows.
SSH mit dem Nano Editor einrichten
Als erstes musst du dir noch die Mühe machen dich direkt über den Audio PC einzuloggen. Nach dem Booten gibst du wie oben beschrieben root
in die Befehlszeile ein. Scheibe dann: nano /etc/ssh/sshd_config
. Nano ist ein umfangreicher Editor und die Datei sshd_config enthält die Konfigurationseinstellungen für den SSH Zugang.
Um den SSH Zugang freizuschalten gehe mit dem Cursor zu PermitRootLogin und entferne die Auskommentierung „#“ und ändere die Zeile auf PermitRootLogin yes
. Anschließend speicherst du das ab: ^X (Exit)
. Du wirst vorher noch gefragt ob du das sichern möchtest. Beantworte das mit yes
.

Danach erstellst du einen neuen Benutzer mit useradd NEWUSER
. Ersetze „NEWUSER“ mit dem gewählten Benutzernamen. Zum neuen User erstellst du ein Passwort für die Root-Shell. Tippe passwd NEWUSER
. Ersetze „NEWUSER“ mit dem gewählten Benutzernamen. Anschließend wirst du gebeten ein Passwort einzugeben, welches du nochmal bestätigen musst. In der Konfigurationsoberfläche des HQPlayers kannst du dann das System neu booten. Die Web-Konfigurationsoberfläche wird im Browser mit http://hqplayer.local:8088/ aufgerufen.
Nun kannst du an deinem Mac verproben, ob der SSH Zugang funktioniert. Öffne dafür das Terminal (Befehlszeilen-Interface) und tippe: ssh NEWUSER@ip-address-of-hqplayer
. Eingabebeispiel: „ssh user@192.178.188.10“. Der User ist dein neuer Benutzername und die IP-Adresse ist natürlich die von deinem HQPlayer! Dann wird nach deinem Passwort gefragt, welches du dir hoffentlich gemerkt hast. Bei der ersten Anmeldung wird noch ein RSA Fingerprint angelegt, bestätige das mit yes
.
Unklücklicherweise kannst du dieses Einstellungen nicht bei einem HQPlayer Update übernehmen. Da fängt das Spiel leider wieder von vorne an.
Bei Fehlermeldung RSA Fingerprints erneuern (MacOS)
Wenn einer IP-Adresse bereits ein RSA Fingerprint zugeordnet wurde, kommt es bei einer erneuten Zuordnung zur Abweisung. In desem Fall muss der gespeicherte Fingerprint gelöscht werden. Wenn du einen Mac verwendest, gibst du im Terminal (Befehlszeilen-Interface) folgendes ein: open /Users/YOURUSERNAME/.ssh/known_hosts
. Ersetze YOURUSERNAME durch deinen Apple User.
Danach sollte sich der voreingestellte Texteditor mit der known_hosts Datei öffnen. Hier sind hinter verschiedenen IP-Addressen die verschlüsselten RSA Fingerprints hinterlegt. Lösche die Zeile(n) mit der betreffenden IP-Adresse, auf die vergeblich versucht wurde zuzugreifen. Speichere die Datei. Danach ist der Zugriff wieder möglich.
htop – ein interaktiver Prozessviewer
Beim HQPlayer ist es nützlich gelegentlich die Prozessauslastung zu prüfen. Das Programm öffnest du mit htop
. Mit der Taste „F2“ sind individuelle Anpassungen möglich. Nützlich ist zum Beispiel das Hinzufügen der CPU Taktfrequenzen.
Musterkonfiguration
Für die oben gezeigte schlanke Anzeige kann eine Musterkonfiguration verwendet werden. Achte bitte auf die htop Version.
Download als Textdatei für htop-Version 3.2.2.
Tippe nano $HOME/.config/htop/htoprc
. Ersetze die Paramenter mit folgenden Einstellungen oder kopiere sie aus der Musterkonfiguration:
Linux Fehlermeldung
Wenn im htop Programm in der Zeile „Systemd: degraded“ steht, dann wurden beim Booten nicht alle Dienste gestartet.
Gib für die Ursachenanalyse folgenden Befehl ein:systemctl;status
. Du erhältst eine Liste aller Dienste und kannst jetzt gezielt nach nicht gestarteten Diensten suchen. Im Beispiel unten ist es der Dienst „smb.mount“, also der Service, welcher zum Beispiel die Alben im Netzwerk ausliest. Dieser Fehler kommt beim HQPlayer immer dann, wenn der Netzwerkzugriff nicht möglich war. Zum Beispiel wenn du dein NAS oder deinen Musik Server später startest als den Audio PC.
Die Fehlerbehebung geht am einfachsten, wenn du den HQPLayer nochmal neu startest. Dann sollte htop so aussehen: „Systemd: running“.
CPU Temperatur
Leider ist die Temperaturanzeige kein Bestandteil von htop. Mit dem Befehl cat/sys/class/thermal/thermal_zone*/temp
lässt sich nur die Gesamttemperatur aller Kerne auslesen. Wenn der Befehl mehrfach eingegeben wird, lässt sich die Bandbreite der Temperaturentwicklung ablesen. Der wichtige Wert ist beim fis Audio PC der zweite.
Im Beispiel unten liegt die niedrigste Temperatur bei 49°C und die höchste bei 65°C.

ip-Adresse anzeigen
Um schnell die ip-Adresse herauszufinden kann der Befehl ifconfig
verwendet werden. Für die Ausführung des Befehls sind root Rechte erforderlich: su root
.
Die ip-Adresse wird unter „inet addr.:“ angezeigt. Außerdem werden die Netzwerkadapter angezeigt. Im Beispiel unten sind es zwei SFP Ports. Der Port enp1s0f0np0 ist mit RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) inaktiv, während beim Port enp1s0f1np1 mit „RX bytes:473767729 (451.8 MiB), TX bytes:21515175245 (20.0 GiB)“ ein reger Netzwerkverkehr ausgewiesen wird. “RX bytes” gibt die Gesamtzahl der über die Schnittstelle empfangenen Bytes an. “TX bytes” gibt die Gesamtzahl der über die Schnittstelle gesendeten Bytes an. Etwaige Paketfehler sind unter „errors“ ersichtlich.

ethtool – ein umfangreiches Netzwerktool
Ein sehr umfangreiches Netzwerktool rufst du mit der Anwendung ethtool auf. Es würde hier zu weit führen alle Parameter zu erklären. Die Hilfe ist mit ethtool -h
erreichbar. Eine gute Dokumentation mit Beispielen gibt es auf wiki.ubuntuusers.de/ethtool. Für die Ausführung des Befehls sind root Rechte erforderlich: su root
.
Interruptmoderation deaktivieren
Wir empfehlen beim aktiven Netzwerkadapter die Interruptmoderation zu deaktiven, weil es die Latenzen erhöht. Wir wollen jedoch geringsmögliche Latenzen haben.
Für die Ausführung des Befehls sind root Rechte erforderlich: su root
. Die aktuellen Einstellungen liest du mit diesem Befehl aus: ethtool -c eth1
. Die Adapterbezeichnung (im Beispiel „eth1“) hinter dem „-c“ hast du vorher mit ifconfig
ausgelesen. Bei „Adaptive RX: on“ ist die Interruptmoderation aktiviert.

Die Interruptmoderation deaktivierst du mit dem Befehl: ethtool -C eth1 adaptive-rx off
. Achte dabei auf die richtige Adapterbezeichnung. Das „C“ muss groß geschrieben werden. Hinweis: Beim verwenden des HQPlayer OS bleibt die Einstellung leider nicht dauerhaft gespeichert und muss nach dem Neustart erneut deaktivert werden.
Flusssteuerung (flow control) aktivieren
Um Datenverluste oder Überlastungen zu vermeiden, gibt es Verfahren zur Datenflusssteuerung (engl. flow control), die den Datenstrom zwischen Sender und Empfänger anpassen. Flow control wird vor allem bei Vollduplex-Ethernet eingesetzt, das eine gleichzeitige Übertragung in beide Richtungen erlaubt. Dabei sendet der Empfänger dem Sender ein spezielles Pause-Frame, wenn sein Puffer voll ist oder er aus anderen Gründen die Übertragung unterbrechen möchte. Der Sender muss dann für eine bestimmte Zeit die Übertragung stoppen, bis er ein Resume-Frame vom Empfänger erhält.
Flow Control soll beim HQPlayer verwendet werden. Um die Einstellungen von Flow Control abzufragen, kannst du den Befehl ethtool -a eth1
verwenden (ersetze „eth1“ durch den Namen deiner Netzwerkkarte). Dabei müssen die Werte so aussehen: rx on tx on
.
Falls die Werte auf „off“ stehen kannst du Flow Control mit diesem Befehl aktivieren: ethtool -A eth1 rx on tx on
.
HQPlayer Systemadministration
Die Web-Konfigurationsoberfläche wird im Browser mit http://hqplayer.local:8088/ aufgerufen. Die Einstellungen werden in der Datei hqplayerd.xml gesichert. Nicht jedem dürfte bekannt sein, dass diese Datei einige verborgene Einstellungen enthält. Die Datei kann recht einfach mit einem Text Editor bearbeitet werden, indem ein „Configuration backup“ in der Web-Konfigurationsoberfläche durchgeführt wird. Nach der Bearbeitung wird sie einfach wieder mit „Configuration restore“ hochgeladen.
Der andere Weg ist die direkte Bearbeitung unter Linux. Für die Ausführung des Befehls sind root Rechte erforderlich: su root
. Rufe die Datei mit nano /etc/hqplayer/hqplayerd.xml
auf.
Es liegt eine kleine Tücke in diesem Modell. Wenn du irgendwann nicht mehr an diese Änderung denkst und dein gesichertes Setup bei einer neuen HQPlayer Version lädst, kann es zu Fehlfunktionen kommen. Denn es wird dann immer deine Änderung mitgeladen. Das ist nützlich, wenn die Programmlogik gleich bleibt. Aber nur dann!
CPU Kerne administrieren
In den Desktop Versionen gibt es die Möglichkeit die Kernzuordnung zu ändern. Unter „Settings > Advanced“ steht dafür das Optionsfeld „Multicore DSP“ zur Verfügung. Dieses Optionsfeld gibt es unter HQPlayer Embedded nicht, stattdessen kann die Konfigurationsdatei hqplayerd.xml konfiguriert werden:
- Wenn das Auswahlfeld ausgegraut ist, ist die automatische Erkennung und Konfiguration aktiv und kann eine beliebige Anzahl von Kernen verwenden. Für eine optimale Leistung wird empfohlen, die automatische Erkennung zu verwenden. Das entspricht in der Konfigurationsdatei hqplayerd.xml dem Befehl: multicore=“auto“.
- Wenn das Kästchen deaktiviert ist, wird die Verarbeitung für Fälle optimiert, in denen die Anzahl der Kerne gleich oder geringer ist als die Anzahl der Ausgabekanäle. Zum Beispiel Dual-Core-CPUs, wenn die Ausgabe in Stereo erfolgt. Das entspricht in der Konfigurationsdatei hqplayerd.xml dem Befehl: multicore=“0″.
- Wenn das Kontrollkästchen voll aktiviert ist, wird die Verarbeitung für moderne Multi- Core-CPUs mit einer viel höheren Kernanzahl als Anzahl der Ausgabekanäle optimiert. Da diese Parallelisierung den Verarbeitungs-Overhead erhöht, steigt auch der gesamte CPU-Zeitverbrauch. Wenn bei der Einstellung „auto“ Leistungsprobleme auftreten, ist es in der Regel sinnvoll, diese Option zu verwenden. Das entspricht in der Konfigurationsdatei hqplayerd.xml dem Befehl: multicore=“1″. Diese Einstellung hat sich ab der HQPlayer Version 5 für den Intel® Core™ i9-13900K Prozessor als die Beste herausgestellt.
Im Bild unten ist diese Einstellung etwas versteckt, siehe Markierung.

CPU Kernzuordnung administrieren
Eine weitere Linux Einstellung steht mit einer einzelnen Kernzuordnung zur Verfügung. Hier wird einfach in der Konfigurationsdatei hqplayerd.xml eine neue Zeile hinzugefügt. Zum Beispiel: HQPLAYER_RESERVED_CORES=1001
. Dies weist den HQPlayer an, die Kerne 0 und 3 (also den ersten und den vierten Kern) nicht zu verwenden. Bei einer Vierkern-CPU ist das noch übersichtlich. Bei einem Intel® Core™ i9-13900K Prozessor sind das im Zweifel 32 Threads, wenn alle Kerne und Hyper-Threading aktiviert sind.
date – Date mich 🙂
Mit diesem Linux Befehl kommst du zwar nicht zu Tinder, dafür kannst du die aktuelle Systemzeit auslesen: date
. Zurück kommt zum Beispiel diese Anzeige: Tue Sep 13 07:25:00 UTC 2022
. Das Kürzel UTC beschreibt die aktuelle Zeitzone (Koordinierte Weltzeit). Für Änderungen ergänzt du einfach das Datum und die aktuelle Uhrzeit mi folgender Syntax: date MMTThhmmJJ
. Die Kürzel stehen für:
MM = Monat
TT = Tag
hh = Stunden
mm = Minuten
JJ = Jahr
Für die Ausführung des Befehls sind root Rechte erforderlich: su root
. Für den 13. Sept. 2022 um 20.11 Uhr wäre das der Befehl: date 0913201122
. Übernimm das auch für das Motherboard, damit es dauerhaft gespeichert bleibt: hwclock –systohc
. Nun ändere deine Zeitzone. Für Europa und Berlin wäre das: ln -sf/usr/share/zoneinfo/Europe/Berlin /etc/localtime
.
Verzeichnis wechseln*
Der Befehl in der Linux-Konsole, um das aktuelle Verzeichnis zu wechseln, ist cd
. Hier sind einige Beispiele, wie du ihn verwenden kannst:
- Um in ein bestimmtes Verzeichnis zu wechseln:
cd /pfad/zum/zielverzeichnis
- Um in das übergeordnete Verzeichnis zu wechseln:
cd ..
- Um ins Home-Verzeichnis des aktuellen Benutzers zu wechseln:
cd ~
- Um direkt ins Root-Verzeichnis zu wechseln (Vorsicht, dies erfordert oft Administratorrechte):
cd /
- Um schnell zum vorherigen Verzeichnis zu wechseln:
cd -
- Um zu einem Verzeichnis unter Angabe des Pfads relativ zum aktuellen Verzeichnis zu wechseln:
cd pfad/relativ/zum/aktuellen/verzeichnis
Stelle sicher, dass du die korrekten Verzeichnispfade angibst, wenn du den cd
-Befehl verwendest. Du kannst auch die Tab-Taste verwenden, um automatisch Vervollständigungen von Verzeichnisnamen einzufügen, was das Navigieren erleichtern kann.
Linux Konsolenbefehl für Verzeichnisanzeige*
Der Befehl in der Linux-Konsole, um den Inhalt eines Verzeichnisses anzuzeigen, ist ls
. Hier sind einige Beispiele, wie du ihn verwenden kannst:
- Um den Inhalt des aktuellen Verzeichnisses anzuzeigen:
ls
- Um den Inhalt eines bestimmten Verzeichnisses anzuzeigen:
ls /pfad/zum/zielverzeichnis
- Um den Inhalt eines Verzeichnisses detailliert anzuzeigen (mit Berechtigungen, Eigentümer, Größe usw.):
ls -l
- Um den Inhalt eines Verzeichnisses einschließlich versteckter Dateien anzuzeigen:
ls -a
- Um den Inhalt eines Verzeichnisses detailliert und einschließlich versteckter Dateien anzuzeigen:
ls -la
- Um den Inhalt eines Verzeichnisses detailliert anzuzeigen und Dateigrößen in einem menschenlesbaren Format (z. B. KB, MB) anzuzeigen:
ls -lh
- Um den Inhalt mehrerer Verzeichnisse gleichzeitig anzuzeigen:
ls /pfad/verzeichnis1 /pfad/verzeichnis2
*ChatGPT hat mir beim Schreiben geholfen.