Hallo Liste! Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd Die Skripte liegen ausführbar in /usr/local/bin: boot.local, boot .local service, rsnapshot-at-boot, zypper-update-n-l Aktivierung mit: cd /etc/systemd/system/ && ln -s /usr/local/bin/boot.local.service systemctl enable boot.local als root: systemctl start boot.local systemctl status boot.local boot.local.service - Runs /usr/local/bin/boot.local Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2022-03-18 13:37:13 CET; 4s ago Process: 22126 ExecStart=/usr/local/bin/boot.local (code=exited, status=1/ FAILURE) Main PID: 22126 (code=exited, status=1/FAILURE) CPU: 82ms Mär 18 13:37:12 master boot.local[22130]: job 2 at Fri Mar 18 13:40:00 2022 Mär 18 13:37:12 master boot.local[22131]: warning: commands will be executed using /bin/sh Mär 18 13:37:12 master boot.local[22131]: job 3 at Fri Mar 18 13:42:00 2022 Mär 18 13:37:12 master su[22132]: (to os) root on none Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session opened for user os(uid=1000) by (uid=0) Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session closed for user os Mär 18 13:37:13 master klipper[22136]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland- xcomposite-egl, waylan> Mär 18 13:37:13 master systemd[1]: boot.local.service: Main process exited, code=exited, status=1/FAILURE Mär 18 13:37:13 master systemd[1]: boot.local.service: Failed with result 'exit-code'. ~ Liegt der Fehler jetzt nur an "xcb"? Welche der vielen Pakete mit xcb fehlen? Vielen Dank schon mal für Ideen Oskar boot.local.service enthält: ################################################################################ # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ################################################################################ # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local ################################################################################ [Unit] Description=Runs /usr/local/bin/boot.local [Service] ExecStart=/usr/local/bin/boot.local [Install] WantedBy=multi-user.target
Hi tux-online, Am 18.03.22 um 13:52 schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd
Die Skripte liegen ausführbar in /usr/local/bin: boot.local, boot .local service, rsnapshot-at-boot, zypper-update-n-l
Aktivierung mit:
cd /etc/systemd/system/ && ln -s /usr/local/bin/boot.local.service systemctl enable boot.local
als root: systemctl start boot.local systemctl status boot.local
boot.local.service - Runs /usr/local/bin/boot.local Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2022-03-18 13:37:13 CET; 4s ago Process: 22126 ExecStart=/usr/local/bin/boot.local (code=exited, status=1/ FAILURE) Main PID: 22126 (code=exited, status=1/FAILURE) CPU: 82ms
Mär 18 13:37:12 master boot.local[22130]: job 2 at Fri Mar 18 13:40:00 2022 Mär 18 13:37:12 master boot.local[22131]: warning: commands will be executed using /bin/sh Mär 18 13:37:12 master boot.local[22131]: job 3 at Fri Mar 18 13:42:00 2022 Mär 18 13:37:12 master su[22132]: (to os) root on none Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session opened for user os(uid=1000) by (uid=0) Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session closed for user os Mär 18 13:37:13 master klipper[22136]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland- xcomposite-egl, waylan> Mär 18 13:37:13 master systemd[1]: boot.local.service: Main process exited, code=exited, status=1/FAILURE Mär 18 13:37:13 master systemd[1]: boot.local.service: Failed with result 'exit-code'. ~
Liegt der Fehler jetzt nur an "xcb"? Welche der vielen Pakete mit xcb fehlen?
Vielen Dank schon mal für Ideen Oskar
boot.local.service enthält:
################################################################################ # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ################################################################################ # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
################################################################################
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Eventuell liegt es gar nicht an deinen Script. Ich hatte vor ein paar Tagen das Problem, das die Plasma-X11-GUI nicht startete. (Ich habe einen passwortlosen Login) Statt der Plasma-Oberfläche kam ein schwarzer Bildschirm mit dem Mauszeiger. Sonst nichts. Und in ~/.local/share/sddm/xorg-session.log fand ich genau die gleiche Meldung wie du oben: qt.qpa.plugin: Could not load the Qt
platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Mit killen von X11 mit CTRL-ALT-BACKSPACE kam dann der Anmeldebildschirm und nach der Anmeldung ging es normal weiter. Ich habe dann die passwortlose Anmeldung abgeschaltet und damit ging es. Zwei Tage später habe ich diese wieder aktiviert und es geht immer noch. Keine Ahnung was das Problem war. Ich tippe auf einen Fehler in einem Update, aber das ist nur geraten. Ob dein Service File oben passt, kann ich dir nicht sagen. Ich habe sowas noch nie gemacht. Gruss Werner
Hi tux-online,
Am 18.03.22 um 13:52 schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd
Die Skripte liegen ausführbar in /usr/local/bin: boot.local, boot .local service, rsnapshot-at-boot, zypper-update-n-l
Aktivierung mit:
cd /etc/systemd/system/ && ln -s /usr/local/bin/boot.local.service systemctl enable boot.local
als root: systemctl start boot.local systemctl status boot.local
boot.local.service - Runs /usr/local/bin/boot.local
Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor
preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-03-18 13:37:13 CET; 4s
ago
Process: 22126 ExecStart=/usr/local/bin/boot.local (code=exited, status=1/
FAILURE)
Main PID: 22126 (code=exited, status=1/FAILURE)
CPU: 82ms
Mär 18 13:37:12 master boot.local[22130]: job 2 at Fri Mar 18 13:40:00 2022 Mär 18 13:37:12 master boot.local[22131]: warning: commands will be executed using /bin/sh Mär 18 13:37:12 master boot.local[22131]: job 3 at Fri Mar 18 13:42:00 2022 Mär 18 13:37:12 master su[22132]: (to os) root on none Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session opened for user os(uid=1000) by (uid=0) Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session closed for user os Mär 18 13:37:13 master klipper[22136]: qt.qpa.plugin: Could not load the Qt
Am Freitag, 18. März 2022, 17:14:36 CET schrieb Werner Franke: platform plugin "xcb" in "" even though it was found.
Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs,
linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland- xcomposite-egl, waylan> Mär 18 13:37:13 master systemd[1]: boot.local.service: Main process exited, code=exited, status=1/FAILURE Mär 18 13:37:13 master systemd[1]: boot.local.service: Failed with result 'exit-code'. ~
Liegt der Fehler jetzt nur an "xcb"? Welche der vielen Pakete mit xcb fehlen?
Vielen Dank schon mal für Ideen Oskar
boot.local.service enthält:
########################################################################## ###### # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ########################################################################## ###### # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
########################################################################## ######
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Eventuell liegt es gar nicht an deinen Script.
Ich hatte vor ein paar Tagen das Problem, das die Plasma-X11-GUI nicht startete. (Ich habe einen passwortlosen Login) Statt der Plasma-Oberfläche kam ein schwarzer Bildschirm mit dem Mauszeiger. Sonst nichts. Und in ~/.local/share/sddm/xorg-session.log fand ich genau die gleiche Meldung wie du oben:
qt.qpa.plugin: Could not load the Qt
platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Mit killen von X11 mit CTRL-ALT-BACKSPACE kam dann der Anmeldebildschirm und nach der Anmeldung ging es normal weiter. Ich habe dann die passwortlose Anmeldung abgeschaltet und damit ging es.
Zwei Tage später habe ich diese wieder aktiviert und es geht immer noch. Keine Ahnung was das Problem war. Ich tippe auf einen Fehler in einem Update, aber das ist nur geraten.
Ob dein Service File oben passt, kann ich dir nicht sagen. Ich habe sowas noch nie gemacht.
Gruss Werner
Hallo Werner! Das Problem, dass der Knopf mal zwischendurch nicht funktionierte, hatte ich auch schon. Leider hilft mir das soweit ich es einschätzen kann nicht bei meinem Problem. Trotzdem Danke! Viele Grüße Oskar
Evtl. solltest du dich mal mit den Innereien befassen, z.B. mit after oder requires in den service-Files https://systemd.io/ https://wiki.archlinux.org/title/systemd Stephan Am Freitag, 18. März 2022, 13:52:52 CET schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd
Die Skripte liegen ausführbar in /usr/local/bin: boot.local, boot .local service, rsnapshot-at-boot, zypper-update-n-l
Aktivierung mit:
cd /etc/systemd/system/ && ln -s /usr/local/bin/boot.local.service systemctl enable boot.local
als root: systemctl start boot.local systemctl status boot.local
boot.local.service - Runs /usr/local/bin/boot.local Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2022-03-18 13:37:13 CET; 4s ago Process: 22126 ExecStart=/usr/local/bin/boot.local (code=exited, status=1/ FAILURE) Main PID: 22126 (code=exited, status=1/FAILURE) CPU: 82ms
Mär 18 13:37:12 master boot.local[22130]: job 2 at Fri Mar 18 13:40:00 2022 Mär 18 13:37:12 master boot.local[22131]: warning: commands will be executed using /bin/sh Mär 18 13:37:12 master boot.local[22131]: job 3 at Fri Mar 18 13:42:00 2022 Mär 18 13:37:12 master su[22132]: (to os) root on none Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session opened for user os(uid=1000) by (uid=0) Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session closed for user os Mär 18 13:37:13 master klipper[22136]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland- xcomposite-egl, waylan> Mär 18 13:37:13 master systemd[1]: boot.local.service: Main process exited, code=exited, status=1/FAILURE Mär 18 13:37:13 master systemd[1]: boot.local.service: Failed with result 'exit-code'. ~
Liegt der Fehler jetzt nur an "xcb"? Welche der vielen Pakete mit xcb fehlen?
Vielen Dank schon mal für Ideen Oskar
boot.local.service enthält:
################################################################################ # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ################################################################################ # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
################################################################################
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Hallo Stephan! Hallo Liste! Ganz schön kompliziert ... Ich bräuchte dann wohl die Bedingung, dass mein service erst nach dem Start des Systems, also in runlevel 5 aufgerufen wird. Weiß jemand, wie das geht? Merkwürdig sind die Ergebnisse folgender Befehle: systemctl is-enabled boot.local enabled systemctl start boot.local Failed to start boot.local.service: Unit boot.local.service not found. "boot.local" als root gestartet macht übrigens, was es soll. Viele Grüße Oskar Am Freitag, 18. März 2022, 19:42:31 CET schrieb Stephan Hemeier:
Evtl. solltest du dich mal mit den Innereien befassen, z.B. mit after oder requires in den service-Files
https://systemd.io/ https://wiki.archlinux.org/title/systemd
Stephan
Am Freitag, 18. März 2022, 13:52:52 CET schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd
Die Skripte liegen ausführbar in /usr/local/bin: boot.local, boot .local service, rsnapshot-at-boot, zypper-update-n-l
Aktivierung mit:
cd /etc/systemd/system/ && ln -s /usr/local/bin/boot.local.service systemctl enable boot.local
als root: systemctl start boot.local systemctl status boot.local
boot.local.service - Runs /usr/local/bin/boot.local
Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor
preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-03-18 13:37:13 CET; 4s
ago
Process: 22126 ExecStart=/usr/local/bin/boot.local (code=exited, status=1/
FAILURE)
Main PID: 22126 (code=exited, status=1/FAILURE)
CPU: 82ms
Mär 18 13:37:12 master boot.local[22130]: job 2 at Fri Mar 18 13:40:00 2022 Mär 18 13:37:12 master boot.local[22131]: warning: commands will be executed using /bin/sh Mär 18 13:37:12 master boot.local[22131]: job 3 at Fri Mar 18 13:42:00 2022 Mär 18 13:37:12 master su[22132]: (to os) root on none Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session opened for user os(uid=1000) by (uid=0) Mär 18 13:37:13 master su[22132]: pam_unix(su:session): session closed for user os Mär 18 13:37:13 master klipper[22136]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. Mär 18 13:37:13 master klipper[22136]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs,
linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland- xcomposite-egl, waylan> Mär 18 13:37:13 master systemd[1]: boot.local.service: Main process exited, code=exited, status=1/FAILURE Mär 18 13:37:13 master systemd[1]: boot.local.service: Failed with result 'exit-code'. ~
Liegt der Fehler jetzt nur an "xcb"? Welche der vielen Pakete mit xcb fehlen?
Vielen Dank schon mal für Ideen Oskar
boot.local.service enthält:
########################################################################## ###### # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ########################################################################## ###### # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
########################################################################## ######
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Am Fr., 18. März 2022 um 22:37 Uhr schrieb tux-online <tux-online@web.de>:
Ganz schön kompliziert ... Ich bräuchte dann wohl die Bedingung, dass mein service erst nach dem Start des Systems, also in runlevel 5 aufgerufen wird.
Was ist ein Runlevel? Das Konzept gibt es bei openSUSE seit dem Umstieg auf systemd nicht mehr. Das war in 2011 mit 12.1. Achja: TOFU :-( Gruß Martin
Am Freitag, 18. März 2022, 22:37:00 CET schrieb tux-online:
Hallo Stephan! Hallo Liste!
Ganz schön kompliziert ... Ich bräuchte dann wohl die Bedingung, dass mein service erst nach dem Start des Systems, also in runlevel 5 aufgerufen wird. Weiß jemand, wie das geht?
Merkwürdig sind die Ergebnisse folgender Befehle: systemctl is-enabled boot.local enabled
systemctl start boot.local Failed to start boot.local.service: Unit boot.local.service not found.
"boot.local" als root gestartet macht übrigens, was es soll.
Viele Grüße Oskar
Wenn du ein delay einfügst? Damit das System erstmal sauber hochfährt. Gruß, Daniel
8 Am 19. März 2022 08:45:02 MEZ schrieb Daniel Fuhrmann <schoppehaller@web.de>:
Am Freitag, 18. März 2022, 22:37:00 CET schrieb tux-online:
Hallo Stephan! Hallo Liste!
Ganz schön kompliziert ... Ich bräuchte dann wohl die Bedingung, dass mein service erst nach dem Start des Systems, also in runlevel 5 aufgerufen wird. Weiß jemand, wie das geht?
Merkwürdig sind die Ergebnisse folgender Befehle: systemctl is-enabled boot.local enabled
systemctl start boot.local Failed to start boot.local.service: Unit boot.local.service not found.
"boot.local" als root gestartet macht übrigens, was es soll.
Viele Grüße Oskar
Wenn du ein delay einfügst? Damit das System erstmal sauber hochfährt.
Gruß, Daniel
Hallo Daniel! Wie füge ich denn ein delay in den service ein? Viele Grüße Oskar
Am 18.03.22 um 13:52 schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd ... boot.local.service enthält:
################################################################################ # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ################################################################################ # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
################################################################################
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Hallo Oskar, du willst sicherlich das Skript nach dem grafischen Dienst "display-manager.service" ausführen und dabei ist es allerdings auch als "oneshot" zu deklarieren, da es kein echter Dienst ist. Anschließend auch ein "RemainAfterExit" hinzufügen, um systemd den Exit-Status des Skriptes zu ermitteln und diesen dann bei Erfolg den Status als "active" anstatt "dead" zu markieren. Ich habe daher mal dein o.g. Snipplet wie folgt angepasst. --- Snip --- [Unit] Description=Runs /usr/local/bin/boot.local After=display-manager.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/boot.local [Install] WantedBy=multi-user.target --- Snap --- -- Gruß Sebastian - openSUSE Member (Freespacer) - Wichtiger Hinweis zur openSUSE Mailing Liste: https://de.opensuse.org/openSUSE:Mailinglisten_Netiquette
Am Samstag, 19. März 2022, 12:31:48 CET schrieb Sebastian Siebert:
Am 18.03.22 um 13:52 schrieb tux-online:
Hallo Liste!
Ich möchte nach dem Start Befehle ausführen lassen. Das hat lange Zeit wunderbar mittels Skripten unter /usr/local/bin und einem Aufruf derselben unter /etc/init.d/boot.local funktioniert. Ich habe jetzt versucht diese Aufrufe auf systemd umzustellen. https://www.redhat.com/sysadmin/replacing-rclocal-systemd
...
boot.local.service enthält:
########################################################################## ###### # mystartup.service # # This service unit is for testing my systemd startup service # By David Both # Licensed under GPL V2 # ########################################################################## ###### # This program should be placed in /usr/local/lib/systemd/system/. # Create a symlink to it from the /etc/systemd/system directory. #ln -s /usr/local/bin/boot.local
########################################################################## ######
[Unit]
Description=Runs /usr/local/bin/boot.local
[Service]
ExecStart=/usr/local/bin/boot.local
[Install]
WantedBy=multi-user.target
Hallo Oskar,
du willst sicherlich das Skript nach dem grafischen Dienst "display-manager.service" ausführen und dabei ist es allerdings auch als "oneshot" zu deklarieren, da es kein echter Dienst ist. Anschließend auch ein "RemainAfterExit" hinzufügen, um systemd den Exit-Status des Skriptes zu ermitteln und diesen dann bei Erfolg den Status als "active" anstatt "dead" zu markieren.
Ich habe daher mal dein o.g. Snipplet wie folgt angepasst.
--- Snip ---
[Unit] Description=Runs /usr/local/bin/boot.local After=display-manager.service
[Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/boot.local
[Install] WantedBy=multi-user.target
--- Snap ---
-- Gruß Sebastian - openSUSE Member (Freespacer) - Wichtiger Hinweis zur openSUSE Mailing Liste: https://de.opensuse.org/openSUSE:Mailinglisten_Netiquette
Hallo Sebastian! Vielen Dank! Ich habe die Ergänzungen in boot.local.service eingetragen. Das Ergebnis sieht wie folgt aus: systemctl enable boot.local systemctl status boot.local ○ boot.local.service - Runs /usr/local/bin/boot.local Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor > Active: inactive (dead) systemctl start boot.local Die 3 Befehle machen das Gewünschte, beinahe jedenfalls. Der letzte Befehl löst die gewünschten Aktionen aus, allerdings ist der Dienst nach einem Neustart unbekannt: systemctl status boot.local Unit boot.local.service could not be found. Damit passiert auch nichts automatisch. Hast Du dazu auch noch eine Idee? Danke und viele Grüße Oskar
Am 19.03.22 um 18:28 schrieb tux-online:
Hallo Sebastian!
Vielen Dank! Ich habe die Ergänzungen in boot.local.service eingetragen. Das Ergebnis sieht wie folgt aus:
systemctl enable boot.local
systemctl status boot.local ○ boot.local.service - Runs /usr/local/bin/boot.local Loaded: loaded (/etc/systemd/system/boot.local.service; enabled; vendor > Active: inactive (dead)
systemctl start boot.local
Die 3 Befehle machen das Gewünschte, beinahe jedenfalls. Der letzte Befehl löst die gewünschten Aktionen aus, allerdings ist der Dienst nach einem Neustart unbekannt: systemctl status boot.local Unit boot.local.service could not be found. Damit passiert auch nichts automatisch. Hast Du dazu auch noch eine Idee?
Hallo Oskar, vielleicht wäre es besser, dass man boot.local.service in boot-local.service umbenennt. Für den Fall, dass er sich am ersten Punkt stört und sich dann komisch verhält. Zudem hast du schon systemd angewiesen, die Services neu einzulesen? Sollte man besser bei jeder Anpassung einmal aufrufen. # systemctl daemon-reload -- Gruß Sebastian - openSUSE Member (Freespacer) - Wichtiger Hinweis zur openSUSE Mailing Liste: https://de.opensuse.org/openSUSE:Mailinglisten_Netiquette
Hallo Oskar,
vielleicht wäre es besser, dass man boot.local.service in boot-local.service umbenennt. Für den Fall, dass er sich am ersten Punkt stört und sich dann komisch verhält.
Zudem hast du schon systemd angewiesen, die Services neu einzulesen? Sollte man besser bei jeder Anpassung einmal aufrufen.
# systemctl daemon-reload -- Gruß Sebastian - openSUSE Member (Freespacer) - Wichtiger Hinweis zur openSUSE Mailing Liste: https://de.opensuse.org/openSUSE:Mailinglisten_Netiquette
Hallo Sebastian! Ich habe die Punkte durch "-" ersetzt. Das Ergebnis sieht sieht nach erneutem Aufruf von "enable" und einem Neustart wie folgt aus: systemctl status boot-local Unit boot-local.service could not be found. Danke für weitere Ideen und viele Grüße Oskar
tux-online schrieb:
Ich habe die Punkte durch "-" ersetzt. Das Ergebnis sieht sieht nach erneutem Aufruf von "enable" und einem Neustart wie folgt aus:
systemctl status boot-local Unit boot-local.service could not be found.
Wenn ich das in Deinem ersten Beitrag richtig gesehen habe, machst Du einen Softlink von /etc/systemd/system/boot-local.service auf eine gleichnamige Datei auf /usr/local/bin . Kann es sein, dass /usr/local/bin/ eventuell nicht auf der Root-Partition ist? Dann kann systemd die Service-Datei nicht lesen, weil dazu müsste ja die andere Partition gemounted sein, das macht aber der systemd erst zum geeigneten Zeitpunkt selbst und dazu muss er schon alle Unit-Dateien gelesen haben. Henne-Ei-Problem sozusagen. Oder der Softlink bringt den systemd irgendwie anderweitig ins Schleudern. Es wäre jedenfalls einen Versuch wert, den Softlink wegzulassen und die Service-Datei "hart" auf /etc/systemd/system/ zu speichern... -- Manfred Härtel, DB3HM mailto:Manfred.Haertel@rz-online.de http://rz-home.de/mhaertel
Warum boot.local? Warum nicht einfach ein service File erstellen, nach /etc/systemd/systemd verschieben, enablen und starten? Stephan
Am Sonntag, 20. März 2022, 09:48:11 CET schrieb Stephan Hemeier:
Warum boot.local?
Warum nicht einfach ein service File erstellen, nach /etc/systemd/systemd verschieben, enablen und starten?
Stephan
Hallo Stephan! "boot-local" hatte ich erstellt, weil ich darin 3 andere Skripte zeitlich nacheinander mittels at aufrufe. Wahrscheinlich geht das eleganter, aber es funktioniert. Die zweite Idee ohne Symlink zu arbeiten hatte auch Manfred, das war die Lösung. Danke an alle Mitdenkenden! Viele Grüße Oskar
Wenn ich das in Deinem ersten Beitrag richtig gesehen habe, machst Du boot- local.service - Runs /usr/local/bin/boot-local einen Softlink von /etc/systemd/system/boot-local.service auf eine gleichnamige Datei auf /usr/local/bin .
Kann es sein, dass /usr/local/bin/ eventuell nicht auf der Root-Partition ist? Dann kann systemd die Service-Datei nicht lesen, weil dazu müsste ja die andere Partition gemounted sein, das macht aber der systemd erst zum geeigneten Zeitpunkt selbst und dazu muss er schon alle Unit-Dateien gelesen haben. Henne-Ei-Problem sozusagen.
Oder der Softlink bringt den systemd irgendwie anderweitig ins Schleudern.
Es wäre jedenfalls einen Versuch wert, den Softlink wegzulassen und die Service-Datei "hart" auf /etc/systemd/system/ zu speichern...
-- Manfred Härtel, DB3HM mailto:Manfred.Haertel@rz-online.de http://rz-home.de/mhaertel
Hallo Manfred! /usr liegt in einem automatisch bei der Installation angelegten Subvolume eines btrfs Dateisystems. Ich habe die Datei boot-local.service jetzt direkt nach /etc/systemd/system/ kopiert und "systemctl enable boot-local" als root aufgerufen. Nach einem Neustart gibt es nun folgendes Ergebnis: ● boot-local.service - Runs /usr/local/bin/boot-local Loaded: loaded (/etc/systemd/system/boot-local.service; enabled; vendor preset: disabled) Active: active (exited) since Sun 2022-03-20 09:53:41 CET; 1h 9min ago Process: 1662 ExecStart=/usr/local/bin/boot-local (code=exited, status=0/ SUCCESS) Main PID: 1662 (code=exited, status=0/SUCCESS) CPU: 21ms Mär 20 09:53:41 master systemd[1]: Starting Runs /usr/local/bin/boot-local... Mär 20 09:53:41 master boot-local[1663]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1663]: job 26 at Sun Mar 20 09:55:00 2022 Mär 20 09:53:41 master boot-local[1669]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1669]: job 27 at Sun Mar 20 09:56:00 2022 Mär 20 09:53:41 master boot-local[1675]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1675]: job 28 at Sun Mar 20 09:58:00 2022 Mär 20 09:53:41 master systemd[1]: Finished Runs /usr/local/bin/boot-local. ~ Also klappt es jetzt. Vielen Dank! Die Idee mit dem Softlink kam von der Anleitung auf einer Redhat-Seite, die ich in der ersten Mail genannt hatte. Viele Grüße Oskar
Ich hab den Thread eben erst gesehen, ich mach das genauso. Habe einen RAMdrive für /tmp, dort liegen ein paar Browserprofile, denen ich nur temporäre Daten gestatte und deren Webseiten ich misstraue. Mein Startupskript kopiert einen vordefinierten Status nach /tmp, der Browser nutzt dann /tmp/blabla als data dir. So kann ich Präferenzen setzen (hell/dunkel, some Cookies, Plugins, Lesezeichen und Tabs zum Öffnen on Start, Scriptsafe- Regeln, Ublock und Privacy-Badger-Einstellungen etc.), aber dennoch jedes mal von einer vordefinierten tabula rasa beginnen - in einer "kleinen" quasi Browser-sandbox. Und das Template ist gleich auch ein Backup des Browserprofils. 1) tmpfs-Eintrag in fstab für /tmp -> alle Daten dort sind wieder wirklich temporär und /tmp ist schnell 2) ein service-file erstellen mit link zu script 3) systemctl enable 4) script editieren und ausführbar machen (oder mit bash ... aufrufen), im script kopiere ich das Browser-user-data-dir-template nach /tmp 5) dann noch via ansible einrichten oder einfach mit Next/Owncloud auf Clients verteilen. funzt. Wenn ich Änderungen am Template will, öffne ich den Browser mit dem data-dir des templates. Ist für mich einfacher so als in den JSON-Files rumzupfriemeln.:-) Hat ein wenig gedauert, das rauszufinden, ist sicher unorthodox, aber es tut sehr gut. Am Sonntag, 20. März 2022, 11:10:31 CET schrieb tux-online:
Wenn ich das in Deinem ersten Beitrag richtig gesehen habe, machst Du boot-
local.service - Runs /usr/local/bin/boot-local
einen Softlink von /etc/systemd/system/boot-local.service auf eine gleichnamige Datei auf /usr/local/bin .
Kann es sein, dass /usr/local/bin/ eventuell nicht auf der Root-Partition ist? Dann kann systemd die Service-Datei nicht lesen, weil dazu müsste ja die andere Partition gemounted sein, das macht aber der systemd erst zum geeigneten Zeitpunkt selbst und dazu muss er schon alle Unit-Dateien gelesen haben. Henne-Ei-Problem sozusagen.
Oder der Softlink bringt den systemd irgendwie anderweitig ins Schleudern.
Es wäre jedenfalls einen Versuch wert, den Softlink wegzulassen und die Service-Datei "hart" auf /etc/systemd/system/ zu speichern...
Hallo Manfred!
/usr liegt in einem automatisch bei der Installation angelegten Subvolume eines btrfs Dateisystems. Ich habe die Datei boot-local.service jetzt direkt nach /etc/systemd/system/ kopiert und "systemctl enable boot-local" als root aufgerufen. Nach einem Neustart gibt es nun folgendes Ergebnis:
● boot-local.service - Runs /usr/local/bin/boot-local Loaded: loaded (/etc/systemd/system/boot-local.service; enabled; vendor preset: disabled) Active: active (exited) since Sun 2022-03-20 09:53:41 CET; 1h 9min ago Process: 1662 ExecStart=/usr/local/bin/boot-local (code=exited, status=0/ SUCCESS) Main PID: 1662 (code=exited, status=0/SUCCESS) CPU: 21ms
Mär 20 09:53:41 master systemd[1]: Starting Runs /usr/local/bin/boot- local... Mär 20 09:53:41 master boot-local[1663]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1663]: job 26 at Sun Mar 20 09:55:00 2022 Mär 20 09:53:41 master boot-local[1669]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1669]: job 27 at Sun Mar 20 09:56:00 2022 Mär 20 09:53:41 master boot-local[1675]: warning: commands will be executed using /bin/sh Mär 20 09:53:41 master boot-local[1675]: job 28 at Sun Mar 20 09:58:00 2022 Mär 20 09:53:41 master systemd[1]: Finished Runs /usr/local/bin/boot-local. ~
Also klappt es jetzt. Vielen Dank! Die Idee mit dem Softlink kam von der Anleitung auf einer Redhat-Seite, die ich in der ersten Mail genannt hatte.
Viele Grüße Oskar
-- Best Regards - Mit freundlichen Grüßen, Markus Feilner, Feilner IT - 20 years of open services - https://nitter.net/mfeilner ------------------------- Digital sovereignty in three words: "Exit Strategy First!" Digitale Souveränität in Drei Worten. ------------------------- Digitale Souveränität, Nachhaltigkeit, Dokumentation Linux, Security, Strategy, Politics, Journalism, Networking. https://www.feilner-it.net, 93059 Regensburg Wöhrdstr. 10, +49 170 302 7092 (+Signal) PGP: 40A3C306F96133067C11CFD9A958A906268C9F0A http://www.feilner-it.net/files/MFpub.asc Xing: http://www.xing.com/profile/Markus_Feilner LinkedIn: https://www.linkedin.com/in/markusfeilner @mfeilner: Matrix, Jabber, Skype, Twitter, Diaspora, ...
Am 20.03.22 um 12:41 schrieb Markus Feilner:
Ich hab den Thread eben erst gesehen, ich mach das genauso.
Habe einen RAMdrive für /tmp, dort liegen ein paar Browserprofile, denen ich nur temporäre Daten gestatte und deren Webseiten ich misstraue. Mein Startupskript kopiert einen vordefinierten Status nach /tmp, der Browser nutzt dann /tmp/blabla als data dir. So kann ich Präferenzen setzen (hell/dunkel, some Cookies, Plugins, Lesezeichen und Tabs zum Öffnen on Start, Scriptsafe- Regeln, Ublock und Privacy-Badger-Einstellungen etc.), aber dennoch jedes mal von einer vordefinierten tabula rasa beginnen - in einer "kleinen" quasi Browser-sandbox. Und das Template ist gleich auch ein Backup des Browserprofils.
1) tmpfs-Eintrag in fstab für /tmp -> alle Daten dort sind wieder wirklich temporär und /tmp ist schnell 2) ein service-file erstellen mit link zu script 3) systemctl enable 4) script editieren und ausführbar machen (oder mit bash ... aufrufen), im script kopiere ich das Browser-user-data-dir-template nach /tmp 5) dann noch via ansible einrichten oder einfach mit Next/Owncloud auf Clients verteilen.
funzt. Wenn ich Änderungen am Template will, öffne ich den Browser mit dem data-dir des templates. Ist für mich einfacher so als in den JSON-Files rumzupfriemeln.:-)
Hat ein wenig gedauert, das rauszufinden, ist sicher unorthodox, aber es tut sehr gut.
Interessante Idee :) Hab ich gleich in meine Sammlung aufgenommen:) -- Gruss Bernd
Am Sonntag, 20. März 2022, 13:05:12 CET schrieb Bernd Obermayr:
Am 20.03.22 um 12:41 schrieb Markus Feilner:
Ich hab den Thread eben erst gesehen, ich mach das genauso.
Habe einen RAMdrive für /tmp, dort liegen ein paar Browserprofile, denen ich nur temporäre Daten gestatte und deren Webseiten ich misstraue. Mein Startupskript kopiert einen vordefinierten Status nach /tmp, der Browser nutzt dann /tmp/blabla als data dir. So kann ich Präferenzen setzen (hell/ dunkel, some Cookies, Plugins, Lesezeichen und Tabs zum Öffnen on Start, Scriptsafe- Regeln, Ublock und Privacy-Badger-Einstellungen etc.), aber dennoch jedes mal von einer vordefinierten tabula rasa beginnen - in einer "kleinen" quasi Browser-sandbox. Und das Template ist gleich auch ein Backup des Browserprofils.
1) tmpfs-Eintrag in fstab für /tmp -> alle Daten dort sind wieder wirklich temporär und /tmp ist schnell 2) ein service-file erstellen mit link zu script 3) systemctl enable 4) script editieren und ausführbar machen (oder mit bash ... aufrufen), im script kopiere ich das Browser-user-data-dir-template nach /tmp 5) dann noch via ansible einrichten oder einfach mit Next/Owncloud auf Clients verteilen.
funzt. Wenn ich Änderungen am Template will, öffne ich den Browser mit dem data-dir des templates. Ist für mich einfacher so als in den JSON-Files rumzupfriemeln.:-)
Hat ein wenig gedauert, das rauszufinden, ist sicher unorthodox, aber es tut sehr gut.
Interessante Idee :) Hab ich gleich in meine Sammlung aufgenommen:)
:-) Ich bin offen für Verbesserungsvorschläge. Das Backup teile ich via Next/ Owncloud, so dass ich das Profil auf allen meinen Clients nutzen kann. Wichtig ist nur, den Browser vor dem Sichern/Kopieren zu schließen, sonst liegen lockfiles drin. Klassische works4me solution.... fing an mit der Idee, ein Browser-Setup per Kunde zu haben, mit allen relevanten Tabs Lesezeichen Settings etc via .desktop-file startbar. Auch die synce ich über alle meine Desktops.
-- Gruss Bernd
-- Best Regards - Mit freundlichen Grüßen, Markus Feilner, Feilner IT - 20 years of open services - https://nitter.net/mfeilner ------------------------- Digital sovereignty in three words: "Exit Strategy First!" Digitale Souveränität in Drei Worten. ------------------------- Digitale Souveränität, Nachhaltigkeit, Dokumentation Linux, Security, Strategy, Politics, Journalism, Networking. https://www.feilner-it.net, 93059 Regensburg Wöhrdstr. 10, +49 170 302 7092 (+Signal) PGP: 40A3C306F96133067C11CFD9A958A906268C9F0A http://www.feilner-it.net/files/MFpub.asc Xing: http://www.xing.com/profile/Markus_Feilner LinkedIn: https://www.linkedin.com/in/markusfeilner @mfeilner: Matrix, Jabber, Skype, Twitter, Diaspora, ...
vielleicht wäre es besser, dass man boot.local.service in boot-local.service umbenennt. Für den Fall, dass er sich am ersten Punkt stört und sich dann komisch verhält.
Hallo Sebastian! Ein zweiter Rechner ohne /usr auf Subvolume (btrfs) zeigte, dass die Umbenennung vo "." zu "-" geholfen hat. Damit gab es bei mir insgesamt drei Fehler: - den Punkt - s.o. (Sebastian); - das Subvolume (Manfred und Stephan); - Ergänzungen für das gewünschte Verhalten in *.service (Sebastian). Danke nochmals. Viele Grüße Oskar
participants (10)
-
Bernd Obermayr
-
Daniel Fuhrmann
-
Manfred Haertel, DB3HM
-
Markus Feilner
-
Martin Schröder
-
Sebastian Siebert
-
Stanczyk
-
Stephan Hemeier
-
tux-online
-
Werner Franke