Python Skript als Systemctl Service: Was beachten?

Hallo, ich habe ein paar grundlegende Fragen darüber wie genau die Systemctl Services unter Linux (Ubuntu Server ohne GUI) funktionieren.

Hintergrund: Ich habe ein Pyhton Skript, welches innerhalb einer virtuellen Python Umgebung fehlerfrei funktioniert und das macht was es soll (sich als Client auf einem MQTT Server anmelden und Daten in einen SQL Server schreiben). Das Skript soll beim Hochfahren des entsprechenden PCs immer automaisch im Hintegrund ausgeführt werden, dafür möchte ich das ganze als Systemctl Service benutzen. Wenn ich das Skript aber als Service anlege funktioniert es nicht mehr (Daten werden nicht gespeichert) und ich habe nicht wirklich Ideen wie ich mein Problem debuggen soll, da auch der Log vom Service nicht auffällig ist. Dort steht immer nur Service Start Successfull beim Hochfahren und Service Stop beim Runterfahren, aber keine Fehlermeldungen oder der gleichen.

2 Ich habe letztendlich 2 Fragen zum generellen Verständnis, die mich hoffentlich meinem Fehler ein Stückchen näher bringen würden:

  1. Wo müssen verwendete Python Module installiert sein? Bzw. wie kann man den Ort, an dem Systemctl nach den Modulen schaut angezeigt und verändert werden?
  2. Innerhalb des Skripts nutze ich die Client.loopforever() Funktion aus dem paho-mqtt Modul, d.h. wird das Skript einmal gestartet, läuft es ohne jemals zu enden. Ist diese Charakteristik problematisch innerhalb des Service Kontextes? Ruft der Service das Skript periodisch auf und könnte ich mir somit einen solchen Dauerloop sparen? Und wenn das so ist, kann man die Periode der Skriptaufrufe anpassen?
Server, Linux, Service, Ubuntu, Python, SQL-Server, Ubuntu Server, mqtt
Linux GNU screen Terminal splitten funktioniert nicht?

Ich habe eine Frage zu screen in Linux.

Mein System:

Virtuelle Maschine (VirtualBox) mit:

Ubuntu Server 20.04.4 LTS als Guest

Windows 10 als Host

Screen Version ist 4.04.00 (GNU)

Ich möchte nun innerhalb des Ubuntu Server Guests den Terminal Multiplexer Screen benutzen, hauptsächlich um mir mehre Terminals neben-/untereinander anzeigen und benutzen zu können. Screen funktioniert auch soweit, also die meisten der Befehle und Shortcuts zumindest. Nur die beiden für mich wichtigsten Befehle Bildschirm vertikal splitten: Strg + a + | (Strg + a + Alt Gr + <) und horizontal splitten: Strg + a + S (Strg + a + Shift + s) funktionieren nicht. Zweiterer führt immer nur zum Freezen des Terminals (wegen dem Strg + s Kommando) und ersterer bewirkt gar nichts. Komischerweise hat es vor ein paar Tagen mal funktioniert, nun aber nicht mehr.

Ich denke mein Hauptproblem ist die genaue Art und Weise wie ich die Befehle eingebe in die Tastatur.. Bei allen anderen Befehlen mache ich immer erst Strg (gedrückt halten), dann a (gedrückt halten) und dann den entsprechenden Buchstaben, z.b. c zum erstellen eines neuen Fensters und lasse nach Druck auf c alle Tasten gleichzeitig los. Das funktioniert so auch, nur halt nicht bei den beiden oben genannten Befehlen.

Ein weiterer Befehl, bei dem ich mich frage, wie ich den eingeben soll ist der zum Umbenennen eines Fensters (Strg + a + A). Wie soll man sowas rein physikalisch in eine Tastatur eingeben?

Vielleicht kennt sich hier ja jemand mit Linux und GNU Screen aus, dann würde ich mich sehr über eine Antwort freuen.

Linux, screen, VirtualBox, Ubuntu Server
MQTT und SQL Server auf gleicher Ubuntu Server VM?

Ich betreibe einen MQTT Server (Mosquitto Broker) innerhalb einer Ubuntu Server Distribution innerhalb einer VM und würde gern einen Microsoft SQL Server in der gleichen VM laufen lassen um die Daten, die an den MQTT-Broker geschickt zu werden speichern zu können.

  1. Frage: Ich kann beide Server installieren und diese laufen auch parallel, aber wie stelle ich von außen bei Anfragen sicher, den richtigen Server zu erwischen? Weil die Server IP ist bei beiden gleich, wird das nur über den Port geregelt ? (MQTT: 1883 und MS-SQL Server: 1433 ?)
  2. Ich habe ein Pyhton Skript, welche alle MQTT Topics abonniert und die Daten in die Datenbank schreibt. Wie sorge ich dafür, dass dieses in Dauerschleife für immer ausgeführt wird und parallel zu den beiden Servern vom Betriebssystem ausgeführt wird? (Habe bereits Python Entwicklungsumgebung installiert, und kann Skripte einfach so ausführen), Klar kann ich da ne Dauerschleife reinprogrammieren, aber wie bediene ich dann parallel den Rest? Somit kommen wir zu Frage 3:
  3. Wie kann ich mir MQTT Server Konsole, SQL-Server Konsole und Ausgaben des Python Skript gleichzeitig anzeigen lassen? (Ubuntu Server nur in Terminalversion, keine grafische Benutzeroberfläche)

Bin offensichtlich nicht so vertraut mit Linux und habe das Gefühl mir würden nur ein paar Grundlagen fehlen..
Hoffe ihr könnt mir helfen, danke!

Server, Computer, Linux, SQL, Ubuntu, Datenbank, Python, mqtt
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.