GUI-Programm automatisch auf startx starten

865
avelampudi

Ich habe GUI-Code in PyQt geschrieben, in main.pydem ich nach dem Start automatisch starten möchte startx.

Ich habe mein beaglebone (Debian) bereits so konfiguriert, dass startx beim Einschalten ausgeführt wird.

Ich habe anfangs folgendes in aufgenommen/etc/x11/xinitrc: @/usr/bin/python3 /root/PyQt/main.py

Dies funktionierte einwandfrei, bis ich einige Dateien gelöscht habe /root, um Platz auf meiner Beaglebone zu schaffen. Ich bin mir nicht sicher, was genau löschte ich (meistens Logfiles), aber ich könnte auch die gelöscht haben .XAuthority, .bash_profile, .configOrdner, .dbusOrdner.

Seitdem wurde mein main.pyOn-Boot nicht mehr automatisch gestartet. Sogar jetzt, nach neuen .XAuthority, .bash_profilehaben usw. erstellt worden ist, ist es immer noch nicht selbststart mein Programm.

Gibt es eine Möglichkeit, dies zu beheben? Oder einen anderen Weg zum Autostart main.py?

Hinweis: Ich verwende Debian auf meiner Beaglebone und meinem Lxqt.

1

2 Antworten auf die Frage

0
Alessandro Dotti Contra

Sie können folgende Zeile hinzufügen ~/.xsession:

/usr/bin/python3 /root/PyQt/main.py& 

(beachte das Finale &) vor der letzten Zeile.

Oder Sie können sich auf Ihren Fenstermanager verlassen, um ihn für Sie zu starten.

Ich habe bereits versucht, es zu `xsession` hinzuzufügen, und es funktioniert nicht. Wie kann ich den Window Manager dazu bringen, ihn für mich einzurichten? avelampudi vor 7 Jahren 0
Das hängt wirklich von Ihrem Fenstermanager ab. Können Sie uns sagen, welche Sie verwenden? Alessandro Dotti Contra vor 7 Jahren 0
-2
user5519192

Schritt 1: Datei bearbeiten /etc/systemd/system/gogs_webhook.service

Dateiinhalt

[Unit]

Description= your description (here Service) After=syslog.target After=network.target

[Service] Type=simple User=gogs Group=gogs WorkingDirectory=/root ExecStart=/usr/bin/python3 /root/PyQt/main.py Environment=USER=gogs HOME=/home/gogs TimeoutStartSec=5 Restart=on-failure RestartSec=5 RemainAfterExit=yes

[Install] WantedBy=multi-user.target


Schritt 2: sudo systemctl daemon-reload

Schritt 3: sudo systemctl enable youselfservice.service

Setp 4: OK ,, um Ihren PC neu zu starten oder sudo systemctl start youselfservice.service

Könntest du erklären, wie und warum das funktioniert? avelampudi vor 7 Jahren 1