Linux – die neusten Beiträge

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

Websocket Verbindung zwischen Android Client und Erlang Server?

Hallo,

Nachdem ich vor etwa einem Monat damit begann, meine eigene Handyapp zu entwickeln, um meine Kenntnisse zu festigen, bin ich momentan auf folgenden Stand:

Alte Frage: Kommunikation zwischen App und Webserver? (Computer, App, Server) - gutefrage

Ich kann mich mithilfe des HTTP Protokolls bei der App registrieren und anmelden. Kann Freunde hinzufügen und mit denen einen privaten Chat starten. Jedoch funktioniert alles noch über HTTPS und der Client stellt jede sekunde eine Anfrage an den Server. Nun würde ich gerne eine Websocketverbindung implementieren.

Auf den Server läuft Ubuntu, eine SQL Datenbank und ein Apache Webserver. Serverseitig würde ich gerne den Websocketserver mit Erlang programmieren, da bekannte SocialMedia Konzerne dies ebenfalls nutzen. Ich habe mich reichlich über die Websocketverbindung informiert und weis den Ablauf, jedoch finde ich keine ausreichenden Quellen, wie ich den Client in AndroidStudio/Java umsetzen kann, sodass er auch auf Servernachrichten reagiert. (Bisher habe ich nur zum Websocket hin kommunizieren können und direkte Anworten wahrnehmen können), gleicher Effekt wie mit dem HTTP Protokoll. Manche verwenden die Socketbibliothek, welche aber nur direkte Anworten auffangen kann. Andere verwenden SocketIO, dies habe ich aber nicht zum laufen bekommen.

Welche Bibliotheken sollte ich für meine Anforderungen nutzen und in welche Richtung sollte die Umsetzung erfolgen?

Liebe Grüße

Alex

App, Linux, Java, Android, Webserver

Raspberry Pi 3b - Ubuntu auf SSD flashen?

Hallo zusammen, ich versuche gerade mir einen kleinen "Alltags-PC" zum Surfen und Streamen zu basteln, damit für solche "simplen" Aufgaben nicht immer mein großer Gaming Desktop-PC laufen muss. Thema "Strom Sparen" und so ...

Hierzu möchte ich Linux Ubuntu 22.04 auf eine SSD flashen und diese anschließend an einem Raspberry Pi 3b betreiben.

Die entsprechenden Änderungen, damit der Pi theoretisch über USB von der SSD booten kann, habe ich bereits vorgenommen. Nur komme ich leider gar nicht so weit das auszuprobieren, da der Pi-Imager Ubuntu gar nicht auf die SSD flashen möchte. Der Installationsvorgang beginnt ganz normal und wird zunächst auch beendet, doch beim anschließenden Verifizieren erscheint dann plötzlich irgendwann diese Fehlermeldung :

Ich habe es schon mit einer zweiten SSD probiert, um auszuschließen, dass hier tatsächlich ein Defekt vorliegt. Das Ergebnis ist aber 1:1 identisch. Auch an Ubuntu liegt es nicht, da auch anderen Linux Distributionen, u. A. auch das hauseigene Raspberry OS genau an diesem Punkt scheitern. Es scheint also ein allgemeines Problem mit der SSD zu sein.

Kann mir jemand einen Rat geben, was man hier noch probieren könnte? Ich bin leider überfragt. Danke.

Ps.: Mir ist bewusst, dass Ubuntu 22.04. für den 3b etwas zu viel des Guten sein könnte, aber darum soll es hier bitte nicht gehen. Das müsste ich zur Not einfach mal ausprobieren. Wie bereits erwähnt, klappt es aber ja auch mit anderen Linux Distributionen nicht.

Bild zum Beitrag
PC, Computer, Betriebssystem, Technik, Linux, Ubuntu, SSD, Raspberry Pi

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

Meistgelesene Beiträge zum Thema Linux