btop++ autostart funktioniert nicht bei endeavouros - kde plasma

simplyroman

Cadet 4th Year
Registriert
Dez. 2018
Beiträge
65
Hi, ich würde gerne btop++ als eine Art SensorPanel auf meinem dritten Monitor nutzen. Mit Hilfe von Fensterregeln in KDE bekomme ich es nach manuellem Start auf den dritten Monitor. Das passt so weit. Der einzige und eigentlich auch leichteste Punkt funktioniert nicht, nämlich der Autostart nach Neustart oder dem Hochfahren. Die btop.desktop in ~/.config/autostart lässt sich von Hand starten und alles läuft wie gewünscht. Ich würde aber dennoch den Autostart bevorzugen, wenn es nur irgendwie möglich ist.

Hat jemand eine Idee?
 
In Autostart unten auf + Hinzufügen und dann Script Anwendung hinzufügen.

dann das script hinzufügen, in dem du btop drin starten lässt :-)
Beispielinhalt für das Script Namens btopstart.sh
Bash:
#!/bin/bash
btop

Namen ggf. anpassen. Und ich bin mir gerade nicht ganz sicher, ob amn das auch ausfürhbar setzen muss Das Script dann auch noch ausführbar setzen in den Dateiattributen (kannste in den Dateieigenschaften - rechtsklick auf die datei- einstellen)

Edit:
Ist jetzt nur so ausm Gedächtnis aufgeschrieben ohne test.
 
Hallo Alexander, das klappt leider auch nicht. Muss man eventuell eine Verzögerung einberechnen (bis alle Monitore aufgewacht sind)?
 
kannst du testen, mit "sleep 1" kannst du eine einsekündige pause einbauen, mit "sleep 2" entsprechend 2 sekunden und so weiter..

teste aber auch mal in dem terminal ob das script überhaupt funktioniert. wenn du in der konsole in dem ordner mit dem script bist kannst du mit "./scriptname" das starten lassen.
Da würdest du auch entsprechende Fehlermeldungen sehen.


Bash:
#!/bin/bash
sleep 1
btop

Bei dem script das ich mal für mich gemacht hatte hatte ich 5 sekunden warten lassen vor den anderen sachen im Script. Bei mir sollten andere sachen halt zuvor gestartet sein.

Edit:
Noch ne Idee, bei einigen Terminals kannst du ab start per Befehl mitgeben, was es ausführen soll (erfährt man in der Hilfe des Terminals wie das geht, wenn es unterstützt wird.)

Bei Terminology zum beispiel mit "-e"
2023-09-10_20-20_09.png


Da könnte man entsprechend entweder direkt auch das btop mitgeben oder das Script. und das ins autostart packen. Nicht, das beim aufrufen von dem programm nicht direkt nen terminal mitgestartet wird, das könnte auch das problem sein. Ist ja ein Terminalprogramm?
 
Zuletzt bearbeitet:
Schreib mal exec &> /tmp/btop.log über den 'btop' Befehl in dem Script. Dann starte neu und schau in die Datei. Dadurch wird jede Ausgabe in die Datei umgeleitet.

Wenn es ein Terminalprogramm ist, wirst Du jenes vielleicht auch aufrufen müssen, damit die Ausgabe (tty) des Programms entsprechend verbunden werden kann.
 
Uridium schrieb:
exec &> /tmp/btop.log
Alexander2 schrieb:
Hallo zusammen, ich bekomme die folgende Fehlermeldung in /tmp/btop.log:

[0;91mERROR: [1;97mNo tty detected! btop++ needs an interactive shell to run.[0m

Was kann ich machen?
 
btop++ ist ein Kommandozeilenprogramm, welches ein Terminal zum ablaufen braucht. Das kannst Du nicht "einfach so" starten. Entwender indem Du es via Konsole startest (konsole -e btop) oder ein entsprechendes Konsolen-Pasmoid (sowas wie termoid), wenn es so als im Desktop-Hintergrund eingebettetes Widget laufen soll.
 
  • Gefällt mir
Reaktionen: simplyroman
Danke, das hat tatsächlich geholfen. Jetzt wäre es ideal, wenn man den Fenstertitel beim Ausführen des Befehls konsole -e btop irgendwie noch abändern könnte. Für meine Fensterregeln muss der Aufruf eindeutig sein, sonst öffnet sich eine "leere" Konsole ebenfalls auf dem dritten Monitor und das will ich nicht.
 
Per default übernimmt Konsole für den Fenstertitel das aktuelle Verzeichnis und dann kriegt man einen Titel nach dem Schema
aktverz - konsole
Ansonsten bietet Konsole ja auch noch ne DBUS-Schnittstelle, die sich prinzipiell verwenden lässt.
Da kann man auch mal mit herum experimentieren. Was so Kommandozeilenargumente und DBUS angeht, so ist das auch im Handbuch von Konsole beschrieben:
https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf
 
  • Gefällt mir
Reaktionen: simplyroman
andy_m4 schrieb:
btop++ ist ein Kommandozeilenprogramm, welches ein Terminal zum ablaufen braucht. Das kannst Du nicht "einfach so" starten. Entwender indem Du es via Konsole startest (konsole -e btop) oder ein entsprechendes Konsolen-Pasmoid (sowas wie termoid), wenn es so als im Desktop-Hintergrund eingebettetes Widget laufen soll.
Termoid ist perfekt dazu geeignet. Danke für den Tipp.
 
  • Gefällt mir
Reaktionen: Alexander2
Zurück
Oben