Difference between revisions of "Zynthian SystemD Startup"

From ZynthianWiki
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
=== systemctl ===
 
=== systemctl ===
  
This allows maintenance of the systemd environment allowing you to stop, start and extract a status from the running services that SystemD is managing.
+
This command line tool allows maintenance of the systemd environment allowing you to stop, start and extract a status from the running services that SystemD is managing.
  
 
Just typing systemctl on the command line. Gives us over a hundred running services..
 
Just typing systemctl on the command line. Gives us over a hundred running services..
Line 25: Line 25:
 
[[File:Systemctl-status-zynthian.png|right|300px]]
 
[[File:Systemctl-status-zynthian.png|right|300px]]
 
Shows us the status of various zynthian services.  
 
Shows us the status of various zynthian services.  
 +
<br clear=all>
 
Notice they all very kindly tell you where these unit files are located. . .  
 
Notice they all very kindly tell you where these unit files are located. . .  
  
Line 33: Line 34:
  
 
The first two services zynthian & zynthian-webconf are both running whilst zynthian-config-on-boot has done it's thing about 2 days ago . . .  
 
The first two services zynthian & zynthian-webconf are both running whilst zynthian-config-on-boot has done it's thing about 2 days ago . . .  
Active: inactive (dead) since Wed 2021-10-13 10:52:30 BST; 2 days ago
+
Active: inactive (dead) since Wed 2021-10-13 10:52:30 BST; 2 days ago.
 +
 
 +
and here are the files:
 +
 
 +
[[File:Visual Studio unit scripts.png|left|600px]]
 +
<br clear=all>
 +
Things to notice:
 +
 
 +
=== Config-On-Boot Service ===
 +
* It occurs before the jack2 service. So zynthian is really just a big jack2 engine :-)
 +
* It's a one time fire
 +
* /zynthian/zynthian-sys/sbin/config-on-boot.sh then does the actual setup.
 +
 
 +
=== Zynthian Webconf ===
 +
* /zynthian/zynthian-webconf/zynthian_webconf.sh runs it.
 +
* It's completely independent of other zynthian services.
 +
* It will always restarts after five seconds of being killed.
 +
 
 +
=== Zynthian===
 +
* Zynthian won't run without jack
 +
* /usr/bin/startx ./zynthian.sh  runs it.
 +
* There is a similar restart directive as with webconf.
 +
 
 +
 
 +
So remember normal kill -9 and such tricks will simply result in zynthian, or zynthian-webconf just restarting.
 +
 
 +
If you do want to stop them for ritualistic disembowelment on a desk, then use systemctl with stop and start.
 +
 
 +
systemctl stop zynthian
 +
 
 +
and to restart
 +
 
 +
systemctl start zynthian

Latest revision as of 14:08, 17 October 2021

1 Zynthian systemD startup

When playing with a Zynthian never forget this is all just Linux underneath. And at the moment ( October 2021) that means you are going to be using Systemd, the latest in several methods of starting up a system. It seems to do things reasonably quietly and primarily revolves around unit file which are chunks of start up procedure with dependencies on other services right back to bare metal.

You have two primary ways of interacting

  • systemctl
  • journalctl

1.1 systemctl

This command line tool allows maintenance of the systemd environment allowing you to stop, start and extract a status from the running services that SystemD is managing.

Just typing systemctl on the command line. Gives us over a hundred running services..

Systemctl output.png

and as with most things in linux it's left up to you to strip out the good stuff using word filters like grep and a unix pipe. . .

Systemctl-grep-zynthian.png

As you can see the -all option shows services in all states, and indeed you can ask systemctl to give up far more information using the status command on a specific service .

Systemctl-status-zynthian.png

Shows us the status of various zynthian services.
Notice they all very kindly tell you where these unit files are located. . .

  • Loaded: loaded (/etc/systemd/system/zynthian-webconf.service; enabled; vendor preset: enabled)
  • Loaded: loaded (/etc/systemd/system/zynthian.service; enabled; vendor preset: enabled)
  • Loaded: loaded (/etc/systemd/system/zynthian-config-on-boot.service; enabled; vendor preset: enabled)


The first two services zynthian & zynthian-webconf are both running whilst zynthian-config-on-boot has done it's thing about 2 days ago . . . Active: inactive (dead) since Wed 2021-10-13 10:52:30 BST; 2 days ago.

and here are the files:

Visual Studio unit scripts.png


Things to notice:

1.2 Config-On-Boot Service

  • It occurs before the jack2 service. So zynthian is really just a big jack2 engine :-)
  • It's a one time fire
  • /zynthian/zynthian-sys/sbin/config-on-boot.sh then does the actual setup.

1.3 Zynthian Webconf

  • /zynthian/zynthian-webconf/zynthian_webconf.sh runs it.
  • It's completely independent of other zynthian services.
  • It will always restarts after five seconds of being killed.

1.4 Zynthian

  • Zynthian won't run without jack
  • /usr/bin/startx ./zynthian.sh runs it.
  • There is a similar restart directive as with webconf.


So remember normal kill -9 and such tricks will simply result in zynthian, or zynthian-webconf just restarting.

If you do want to stop them for ritualistic disembowelment on a desk, then use systemctl with stop and start.

systemctl stop zynthian

and to restart

systemctl start zynthian