[opensuse] Starting a program at boot time
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time: /etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time? Thanks in advance, Wolfgang -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local". Or you can create a new systemd service. - -- Cheers, Carlos E. R. (from openSUSE 15.0 x86_64 at Telcontar) -----BEGIN PGP SIGNATURE----- iHoEARECADoWIQQZEb51mJKK1KpcU/W1MxgcbY1H1QUCXVK/ERwccm9iaW4ubGlz dGFzQHRlbGVmb25pY2EubmV0AAoJELUzGBxtjUfV5FwAn3vlAPWa14E7zu2+1bsP 8yrTKVQqAJ9oHyq/JLB9X8Q+8rrbNFlYGpjCKQ== =RKR+ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Carlos E. R. wrote:
On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local".
Do they actually still work?
Or you can create a new systemd service.
Occasionally I like to use @reboot in a crontab. -- Per Jessen, Zürich (19.5°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 13/08/2019 15.56, Per Jessen wrote:
Carlos E. R. wrote:
On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local".
Do they actually still work?
Sure. I use both.
Or you can create a new systemd service.
Occasionally I like to use @reboot in a crontab.
Another way :-) -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
On Tue, 13 Aug 2019 at 15:45:53 +0200, Carlos E. R. wrote:
On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local".
I tried to call them one after the other, in vain. Then I tried to install them with yast2, but they are unknown both.
Or you can create a new systemd service.
No idea, how to do that. Could you please give me a hint? Thanks, Wolfgang -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday, 2019-08-13 at 16:23 +0200, Wolfgang Mueller wrote:
On Tue, 13 Aug 2019 at 15:45:53 +0200, Carlos E. R. wrote:
On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local".
I tried to call them one after the other, in vain. Then I tried to install them with yast2, but they are unknown both.
No, you have to create them, and have to be executables. I doubt a link would work. Example: cer@Telcontar:~> cat /etc/init.d/after.local #! /bin/bash if test -n "$failed" ; then cat /usr/share/sounds/au/computer.au > /dev/audio & else cat /usr/share/sounds/au/hal9.au > /dev/audio & fi cer@Telcontar:~> The failed part doesn't work, the var is never set when failed.
Or you can create a new systemd service.
No idea, how to do that. Could you please give me a hint?
I'm far from expert in that, but I wrote one or two, with help from others. Example: /etc/systemd/system/boot-marker.service: [Unit] Description=Write boot markers in /var/log/messages #Name=Write boot markers in /var/log/messages #systemd complains about Name Before=syslog.service [Service] Type=oneshot RemainAfterExit=true ExecStart=-/root/ThingsNeededForBoot/write-boot-marker start ExecStop=-/root/ThingsNeededForBoot/write-boot-marker stop [Install] WantedBy=multi-user.target - -- Cheers, Carlos E. R. (from openSUSE 15.0 x86_64 at Telcontar) -----BEGIN PGP SIGNATURE----- iHoEARECADoWIQQZEb51mJKK1KpcU/W1MxgcbY1H1QUCXVLKeRwccm9iaW4ubGlz dGFzQHRlbGVmb25pY2EubmV0AAoJELUzGBxtjUfV0vgAnj3FGo3GBC9oYdcSdQvo /PSA62t3AJ0ZYrSOigIIbyyQdZyvJnp8DxcOmQ== =SHAN -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
* Carlos E. R. <robin.listas@telefonica.net> [08-13-19 10:36]:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tuesday, 2019-08-13 at 16:23 +0200, Wolfgang Mueller wrote:
On Tue, 13 Aug 2019 at 15:45:53 +0200, Carlos E. R. wrote:
On Tuesday, 2019-08-13 at 15:26 +0200, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can use "after.local" or "boot.local".
I tried to call them one after the other, in vain. Then I tried to install them with yast2, but they are unknown both.
No, you have to create them, and have to be executables. I doubt a link would work.
Example:
cer@Telcontar:~> cat /etc/init.d/after.local #! /bin/bash
if test -n "$failed" ; then cat /usr/share/sounds/au/computer.au > /dev/audio & else cat /usr/share/sounds/au/hal9.au > /dev/audio & fi cer@Telcontar:~>
The failed part doesn't work, the var is never set when failed.
might if you tested for the value 1 or 0 -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.org openSUSE Community Member facebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet freenode -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 13/08/2019 19.55, Patrick Shanahan wrote:
* Carlos E. R. <> [08-13-19 10:36]:
Example:
cer@Telcontar:~> cat /etc/init.d/after.local #! /bin/bash
if test -n "$failed" ; then cat /usr/share/sounds/au/computer.au > /dev/audio & else cat /usr/share/sounds/au/hal9.au > /dev/audio & fi cer@Telcontar:~>
The failed part doesn't work, the var is never set when failed.
might if you tested for the value 1 or 0
Needs a reboot for each test. Or a virtual machine. My notes say "failed" is empty on arrival. So, something that was not carried over from initd to systemd. I have not investigated further. Have just added a line to log it: /usr/bin/logger -t Mine -p daemon.info "after.local got failed=$failed-" But I need a failed boot to happen to actually test it. -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
Am 13.08.19 um 15:26 schrieb Wolfgang Mueller:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
Thanks in advance, Wolfgang
generate a simple systemd-service for starting a programm: make a file: /etc/systemd/system/myservice.service it has to look like: [Unit] Description=myservice-should-start-something After=firewalld.service [or when ever you want to start it] [Service] Type=simple ExecStart=/usr/bin/path-to-the-file-you-like-to-start RemainAfterExit=no [Install] WantedBy=multi-user.target ------------------------ switch it on: systemctl enable myservice.service done. simoN -- www.becherer.de -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Tue, 13 Aug 2019 at 16:36:41 +0200, Simon Becherer wrote:
[...]
[Unit] Description=myservice-should-start-something After=firewalld.service [or when ever you want to start it]
[Service] Type=simple ExecStart=/usr/bin/path-to-the-file-you-like-to-start RemainAfterExit=no
[Install] WantedBy=multi-user.target
------------------------ switch it on: systemctl enable myservice.service
Thank you, Simon! Now, here is the file I made according to your sample: ****************** BEGIN OF nfs_wolfgang.service ******************* [Unit] Description=/etc/systemd/system/nfs_wolfgang.service After=xdm.service [Service] Type=simple ExecStart=/home/wolfgang/bin.BGR/nfsclient RemainAfterExit=no [Install] WantedBy=multi-user.target ******************* END OF nfs_wolfgang.service ******************** I switched it on by typing: systemctl enable nfs_wolfgang.service But it does not work. Do you see any error in my file? Thank you again, Wolfgang -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 8/14/19 10:01 AM, Wolfgang Mueller wrote:
I switched it on by typing: systemctl enable nfs_wolfgang.service
But it does not work. Do you see any error in my file?
You need to do basic debugging why things are not working. systemctl start nfs_wolfgang.service systemctl status nfs_wolfgang.service you need to see the log (status gets you tail of the log). Or you can do use `journalctl -u nfs_wolfgang`. You should be able to figure this out. Good luck and have lots of fun ;) - Adam -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Wed, 14 Aug 2019 at 10:12:32 +0200, Adam Majer wrote:
[...] You need to do basic debugging why things are not working.
systemctl start nfs_wolfgang.service systemctl status nfs_wolfgang.service
you need to see the log (status gets you tail of the log).
/root 56#systemctl start nfs_wolfgang.service /root 57#systemctl status nfs_wolfgang.service * nfs_wolfgang.service - soft link to /etc/systemd/system/wolfgangs_nfs.service Loaded: loaded (/etc/systemd/system/nfs_wolfgang.service; enabled; vendor preset: disabled) Active: inactive (dead) since Wed 2019-08-14 10:34:42 CEST; 2s ago Process: 3828 ExecStart=/home/wolfgang/bin.BGR/nfsclient (code=exited, status=0/SUCCESS) Main PID: 3828 (code=exited, status=0/SUCCESS) Aug 14 10:34:42 acer systemd[1]: Started soft link to /etc/systemd/system/wolfgangs_nfs.service. Aug 14 10:34:42 acer nfsclient[3828]: [1] 3834
Or you can do use `journalctl -u nfs_wolfgang`.
/root 62#journalctl -u nfs_wolfgang -- Logs begin at Wed 2019-08-14 10:29:41 CEST, end at Wed 2019-08-14 10:34:42 CEST. -- Aug 14 10:30:26 acer systemd[1]: Started soft link to /etc/systemd/system/wolfgangs_nfs.service. Aug 14 10:30:27 acer nfsclient[2015]: [1] 2023 Aug 14 10:34:42 acer systemd[1]: Started soft link to /etc/systemd/system/wolfgangs_nfs.service. Aug 14 10:34:42 acer nfsclient[3828]: [1] 3834
You should be able to figure this out.
You overestimate my skills. Can you please help me? Thank you in advance, Wolfgang -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 14/08/2019 10.54, Wolfgang Mueller wrote:
On Wed, 14 Aug 2019 at 10:12:32 +0200, Adam Majer wrote:
[...] You need to do basic debugging why things are not working.
systemctl start nfs_wolfgang.service systemctl status nfs_wolfgang.service
you need to see the log (status gets you tail of the log).
/root 56#systemctl start nfs_wolfgang.service /root 57#systemctl status nfs_wolfgang.service * nfs_wolfgang.service - soft link to /etc/systemd/system/wolfgangs_nfs.service Loaded: loaded (/etc/systemd/system/nfs_wolfgang.service; enabled; vendor preset: disabled) Active: inactive (dead) since Wed 2019-08-14 10:34:42 CEST; 2s ago Process: 3828 ExecStart=/home/wolfgang/bin.BGR/nfsclient (code=exited, status=0/SUCCESS) Main PID: 3828 (code=exited, status=0/SUCCESS)
I understand it did run, no errors. What I don't get is the soft link stuff it says. You could add log entries to your script, using "logger" (man logger). -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
Carlos E. R. wrote:
On 14/08/2019 10.54, Wolfgang Mueller wrote:
On Wed, 14 Aug 2019 at 10:12:32 +0200, Adam Majer wrote:
[...] You need to do basic debugging why things are not working.
systemctl start nfs_wolfgang.service systemctl status nfs_wolfgang.service
you need to see the log (status gets you tail of the log).
/root 56#systemctl start nfs_wolfgang.service /root 57#systemctl status nfs_wolfgang.service * nfs_wolfgang.service - soft link to /etc/systemd/system/wolfgangs_nfs.service Loaded: loaded (/etc/systemd/system/nfs_wolfgang.service; enabled; vendor preset: disabled) Active: inactive (dead) since Wed 2019-08-14 10:34:42 CEST; 2s ago Process: 3828 ExecStart=/home/wolfgang/bin.BGR/nfsclient (code=exited, status=0/SUCCESS) Main PID: 3828 (code=exited, status=0/SUCCESS)
I understand it did run, no errors.
What I don't get is the soft link stuff it says.
I thought that was weird too - I think Wolfgang has a link : /etc/systemd/system/nfs_wolfgang.service -> /etc/systemd/system/wolfgangs_nfs.service -- Per Jessen, Zürich (19.9°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Wolfgang Mueller wrote:
Now, here is the file I made according to your sample:
****************** BEGIN OF nfs_wolfgang.service ******************* [Unit] Description=/etc/systemd/system/nfs_wolfgang.service After=xdm.service
[Service] Type=simple ExecStart=/home/wolfgang/bin.BGR/nfsclient RemainAfterExit=no
[Install] WantedBy=multi-user.target ******************* END OF nfs_wolfgang.service ********************
I switched it on by typing: systemctl enable nfs_wolfgang.service
But it does not work. Do you see any error in my file?
Assuming this is an nfs mount, I would just add this to /etc/fstab: fileserver:/home/wolfgang /home/wolfgang nfs x-systemd.automount,x-systemd.idle-timeout=300,tcp,_netdev 0 0 (obviously adapt fileserver und /home/wolfgang toy our environment). -- Per Jessen, Zürich (15.6°C) http://www.cloudsuisse.com/ - your owncloud, hosted in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Hi wolfgang, Am 14.08.19 um 10:01 schrieb Wolfgang Mueller:
Now, here is the file I made according to your sample:
****************** BEGIN OF nfs_wolfgang.service ******************* [Unit] Description=/etc/systemd/system/nfs_wolfgang.service After=xdm.service
[Service] Type=simple ExecStart=/home/wolfgang/bin.BGR/nfsclient RemainAfterExit=no
[Install] WantedBy=multi-user.target ******************* END OF nfs_wolfgang.service ********************
I switched it on by typing: systemctl enable nfs_wolfgang.service
But it does not work. Do you see any error in my file?
no. but as carlos wrote for himself, i am also not an expert in this things :-(((
Thank you again, Wolfgang
ok, with
systemctl enable nfs_wolfgang.service you should get a output like: Created symlink /etc/systemd/system/multi-user.target.wants/nfs_wolfgang.service → /etc/systemd/system/nfs_wolfgang.service.
if you prefer yast, go to yast and "dienste verwaltung" you should see your service there. and you could show details, switching on and off also possible from there. or from the commandline: systemctl start nfs_wolfgang systemctl stop nfs_wolfgang systemctl status nfs_wolfgang you say its not working, i am not sure what is not working. try to start and stop manually, and look if working. here some further hints what i would do if not working: first check if the exec start line will be executed, for this i would do somthing simple: your progam (shellscript?) /home/wolfgang/bin.BGR/nfsclient let it do something you could easily check if its done: (renanme your original file first) content of "nfsclient": #! /bin/bash cp /home/wolfgang/bin.BGR/nfsclient /home/wolfgang/nfsclient-copy make it executable (i like to use midnight commander for this) start it an take a look if this copy was done. if yes, delete the nfsclient-copy try to start with "systemctl start nfs_wolfgang" take a look if the copy was done. (delte the copyed file after) now you boot your system and if then the nfsclient-copy was done, you are sure, the problem is not the .service file. then you have to check why your (original) command "/home/wolfgang/bin.BGR/nfsclient" will not work. if not, the service file has a problem. then i would try to change the line: After=xdm.service to something else (i do not know if xdm.service will work at all), check inside /etc/systemd/ and subdirs the files, what they have inside . if you have firewalld running (you could check inside yast dienstewerwaltung) try like my example. if working then your xdm.service will here not be accepted or will never be started at your system. hope this help you. if you (because of my english) not understand me, could mail private in german. -- www.becherer.de -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Wed, 14 Aug 2019 at 11:01:13 +0200, Simon Becherer wrote:
[...] ok, with systemctl enable nfs_wolfgang.service you should get a output like: Created symlink /etc/systemd/system/multi-user.target.wants/nfs_wolfgang.service â /etc/systemd/system/nfs_wolfgang.service.
if you prefer yast, go to yast and "dienste verwaltung" you should see your service there. and you could show details, switching on and off also possible from there.
or from the commandline: systemctl start nfs_wolfgang systemctl stop nfs_wolfgang systemctl status nfs_wolfgang you say its not working, i am not sure what is not working. try to start and stop manually, and look if working.
here some further hints what i would do if not working: first check if the exec start line will be executed, for this i would do somthing simple: your progam (shellscript?) /home/wolfgang/bin.BGR/nfsclient let it do something you could easily check if its done: (renanme your original file first)
content of "nfsclient": #! /bin/bash cp /home/wolfgang/bin.BGR/nfsclient /home/wolfgang/nfsclient-copy
make it executable (i like to use midnight commander for this)
start it an take a look if this copy was done. if yes, delete the nfsclient-copy
try to start with "systemctl start nfs_wolfgang" take a look if the copy was done. (delte the copyed file after)
now you boot your system and if then the nfsclient-copy was done, you are sure, the problem is not the .service file. then you have to check why your (original) command "/home/wolfgang/bin.BGR/nfsclient" will not work.
if not, the service file has a problem. then i would try to change the line: After=xdm.service to something else (i do not know if xdm.service will work at all), check inside /etc/systemd/ and subdirs the files, what they have inside . if you have firewalld running (you could check inside yast dienstewerwaltung) try like my example. if working then your xdm.service will here not be accepted or will never be started at yours hope this help you. if you (because of my english) not understand me, could mail private in german.
Dear Simon, don't worry about your English. Mine is not better, and that's the reason why we understand each other perfectly. Thanks a lot for all your hints. I don't remember which of them contributed in a crucial way to resolving my problem, but the important thing is that it works now. As you remember, nfs_wolfgang.service starts a script called nfsclient. And this script starts another script. Now I know that this nested start is not allowed for scripts started by a /etc/systemd/system/*.service. So, I changed the structure of my scripts a little bit to avoid the nested start described above, and now IT WORKS! Thanks a lot to you and all others who helped me. Best regards, Wolfgang -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 15/08/2019 21.15, Wolfgang Mueller wrote:
On Wed, 14 Aug 2019 at 11:01:13 +0200, Simon Becherer wrote:
[...]
As you remember, nfs_wolfgang.service starts a script called nfsclient. And this script starts another script. Now I know that this nested start is not allowed for scripts started by a /etc/systemd/system/*.service.
Are you sure of that? :-o
So, I changed the structure of my scripts a little bit to avoid the nested start described above, and now IT WORKS!
What I found with scripts started by network manager is that they have a limited time to run; after that limit, all its children are killed. I found the trick to avoid this, but I do not remember it now. Perhaps capture the killing signal. Maybe systemd does something similar, there is a timeout to start a service (can be changed). -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
On 13/08/2019 15:26, Wolfgang Mueller wrote:
In the good old days, it was sufficient to make a link to the program in /etc/init.d/rc3.d and /etc/init.d/rc5.d for starting it at boot time:
/etc/init.d/rc3.d/S50My_program -> /home/wolfgang/bin/My_program /etc/init.d/rc5.d/S50My_program -> /home/wolfgang/bin/My_program
But now under Leap 15.1, that does not work any more. Is there any other way to start a program a boot time?
You can start here [0], it has many further links. [0]: <https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files> -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (7)
-
Adam Majer
-
Carlos E. R.
-
Oleksii Vilchanskyi
-
Patrick Shanahan
-
Per Jessen
-
Simon Becherer
-
Wolfgang Mueller