<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Startup_script_linux%2Fde</id>
		<title>Startup script linux/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Startup_script_linux%2Fde"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;action=history"/>
		<updated>2026-05-11T20:53:32Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54608&amp;oldid=prev</id>
		<title>Manni at 10:27, 25 October 2024</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54608&amp;oldid=prev"/>
				<updated>2024-10-25T10:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:27, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 732:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 732:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript, mit ca´ 644 Funktionen, für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Bash &lt;/ins&gt;Skript, mit ca´ 644 Funktionen, für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:German Translations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:German Translations]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54605&amp;oldid=prev</id>
		<title>Manni at 10:25, 25 October 2024</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54605&amp;oldid=prev"/>
				<updated>2024-10-25T10:25:25Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:25, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Quicklinks|Startup_script_linux}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= SysVinit-Skripte für Linux =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= SysVinit-Skripte für Linux =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54604&amp;oldid=prev</id>
		<title>Manni: /* Andere OpenSimulator-Skripte für Linux */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54604&amp;oldid=prev"/>
				<updated>2024-10-25T10:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Andere OpenSimulator-Skripte für Linux&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:24, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 731:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 731:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript, mit ca´ 644 Funktionen, für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript, mit ca´ 644 Funktionen, für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:German Translations]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54602&amp;oldid=prev</id>
		<title>Manni: /* Andere OpenSimulator-Skripte für Linux */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54602&amp;oldid=prev"/>
				<updated>2024-10-25T09:55:33Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Andere OpenSimulator-Skripte für Linux&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:55, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 730:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 730:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript mit ca´ 644 Funktionen für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;mit ca´ 644 Funktionen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54601&amp;oldid=prev</id>
		<title>Manni: /* Andere OpenSimulator-Skripte für Linux */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54601&amp;oldid=prev"/>
				<updated>2024-10-25T09:54:56Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Andere OpenSimulator-Skripte für Linux&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:54, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 730:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 730:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] – Verwendung von tmux, einem Terminal-Multiplexer, um OpenSimulator auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree-Installationsanleitung]] – Adam Frisbys Linux-Skripte für Ogltree.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mit ca´ 644 Funktionen &lt;/ins&gt;für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54600&amp;oldid=prev</id>
		<title>Manni: /* Other OpenSimulator Linux scripts */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54600&amp;oldid=prev"/>
				<updated>2024-10-25T09:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Other OpenSimulator Linux scripts&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:51, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 726:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 726:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* journalctl -u opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* journalctl -u opensim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Other &lt;/del&gt;OpenSimulator Linux &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;scripts &lt;/del&gt;=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Andere &lt;/ins&gt;OpenSimulator&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Skripte für &lt;/ins&gt;Linux =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- Using &lt;/del&gt;tmux, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a terminal multiplexer&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to run &lt;/del&gt;OpenSimulator &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on server while retaining access to the terminal&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Tmux]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;– Verwendung von &lt;/ins&gt;tmux, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;einem Terminal-Multiplexer&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;um &lt;/ins&gt;OpenSimulator &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;auf einem Server auszuführen und gleichzeitig Zugriff auf das Terminal zu behalten.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Install Instructions&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;Adam &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Frisby's &lt;/del&gt;Linux &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ogltree scripts&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Ogltree_Install_Instructions|Ogltree&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Installationsanleitung&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;– &lt;/ins&gt;Adam &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Frisbys &lt;/ins&gt;Linux&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Skripte für Ogltree.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [https://github.com/ManfredAabye/opensimMULTITOOLS opensimMULTITOOL] - Manfred Aabeys 25000 Zeilen Skript für Ubuntu 18.04-24.04 64Bit, DOTNET, mySQL, MariaDB, mit Screen Funktionen ähnlich Tmux.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54599&amp;oldid=prev</id>
		<title>Manni: /* CentOS/RHEL 7 and 8 Systemd Service Unit */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54599&amp;oldid=prev"/>
				<updated>2024-10-25T09:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;CentOS/RHEL 7 and 8 Systemd Service Unit&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:37, 25 October 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 706:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 706:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Notes&lt;/del&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Anmerkungen&lt;/ins&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Should work on &lt;/del&gt;CentOS 7.x, CentOS 8.x, RHEL 7.x, RHEL 8.x. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Might work on other &lt;/del&gt;Redhat-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;based distros&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Sollte auf &lt;/ins&gt;CentOS 7.x, CentOS 8.x, RHEL 7.x, RHEL 8.x &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;funktionieren&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Möglicherweise funktioniert es auch auf anderen &lt;/ins&gt;Redhat-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;basierten Distributionen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;&amp;quot;--server&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;option sets default garbage collection &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mono which might be slightly faster for production usage&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Using &lt;/del&gt;&amp;quot;--desktop&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;instead should also work and will set the garbage collection system to avoid expanding the heap as much as possible at the expense of slowing down garbage collection a bit&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Option &lt;/ins&gt;&amp;quot;--server&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;legt die Standard-Garbage-Collection &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Mono fest, was möglicherweise für den Produktionseinsatz etwas schneller ist&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Verwendung von &lt;/ins&gt;&amp;quot;--desktop&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sollte ebenfalls funktionieren und stellt das Garbage-Collection-System so ein, dass das Heap-Wachstum so weit wie möglich vermieden wird, was jedoch die Garbage-Collection geringfügig verlangsamt&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;There's a default max timeout of &lt;/del&gt;60 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;seconds for shutdown&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Adjust as needed if that's not long enough on your server&lt;/del&gt;. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Es gibt ein Standard-Timeout von maximal &lt;/ins&gt;60 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Sekunden für das Herunterfahren&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Passe dies bei Bedarf an, falls dies auf deinem Server nicht ausreicht&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This example doesn't use screen so the &lt;/del&gt;OpenSim &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;console will not be available directly&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In diesem Beispiel wird kein Screen verwendet, daher ist die &lt;/ins&gt;OpenSim&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Konsole nicht direkt verfügbar&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Setup'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Setup'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Create an opensim user &lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;be sure to set shell to &lt;/del&gt;/sbin/nologin)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Erstelle einen Benutzer „opensim“ &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;achte darauf, die Shell auf &lt;/ins&gt;/sbin/nologin &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zu setzen&lt;/ins&gt;)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Install opensim &lt;/del&gt;in /opt/opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Installiere OpenSim &lt;/ins&gt;in /opt/opensim&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Save the above file as &lt;/del&gt;/etc/systemd/system/opensim.service&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Speichere die obige Datei als &lt;/ins&gt;/etc/systemd/system/opensim.service&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Usage&lt;/del&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Verwendung&lt;/ins&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl enable opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl enable opensim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl disable opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl disable opensim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 724:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 725:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl restart opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* systemctl restart opensim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* journalctl -u opensim&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* journalctl -u opensim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Other OpenSimulator Linux scripts =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Other OpenSimulator Linux scripts =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54598&amp;oldid=prev</id>
		<title>Manni: Created page with &quot;= SysVinit-Skripte für Linux =  == Anweisungen ==  Getestet auf Debian 5. Ändert die Benutzer-ID auf den Benutzer „opensim“. Unterstützt: start, stop, restart, status. ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Startup_script_linux/de&amp;diff=54598&amp;oldid=prev"/>
				<updated>2024-10-25T09:35:21Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= SysVinit-Skripte für Linux =  == Anweisungen ==  Getestet auf Debian 5. Ändert die Benutzer-ID auf den Benutzer „opensim“. Unterstützt: start, stop, restart, status. ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= SysVinit-Skripte für Linux =&lt;br /&gt;
&lt;br /&gt;
== Anweisungen ==&lt;br /&gt;
&lt;br /&gt;
Getestet auf Debian 5. Ändert die Benutzer-ID auf den Benutzer „opensim“. Unterstützt: start, stop, restart, status.&lt;br /&gt;
&lt;br /&gt;
Zum Implementieren: Tippe: `cat &amp;gt; /etc/init.d/opensim` Füge das Skript von dieser Seite ein Drücke: `CTRL+D` Tippe: `chmod +x /etc/init.d/opensim` Das Skript sollte nun auf dem Server vorhanden und ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Ändere den Header im Skript, um ihn an deinen Installationsordner und Benutzer anzupassen.&lt;br /&gt;
&lt;br /&gt;
== Aktualisiertes Skript ==&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu Tedds Originalskript unten verlässt sich dieses Skript auf die eigene PID-Funktion von OpenSimulator, daher musst du die PIDFile-Einträge im Abschnitt [Startup] von OpenSim.ini/Robust.ini auskommentieren und auf `/tmp/OpenSim.exe.pid` und `/tmp/Robust.exe.pid` setzen, je nach Bedarf.&lt;br /&gt;
&lt;br /&gt;
Dies ermöglicht es uns, das Skript zu vereinfachen und eine bessere Fehlerberichterstattung zu erhalten. Ein sauberes Herunterfahren von OpenSimulator wurde ebenfalls implementiert.&lt;br /&gt;
&lt;br /&gt;
Die Verzögerung zwischen dem Versuch, OpenSimulator sauber herunterzufahren und einem erzwungenen Herunterfahren wurde auf 20 Sekunden verdoppelt. In einigen Fällen könnte dies jedoch immer noch nicht ausreichen. In Zukunft wäre es besser, den Status abzufragen.&lt;br /&gt;
&lt;br /&gt;
Dieses Skript wird unter https://github.com/justincc/opensimulator-tools/blob/master/infrastructure/control/init.d/src/opensim gepflegt. Pull Requests sind willkommen!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:          OpenSimulator&lt;br /&gt;
# Required-Start:    $local_fs $network &lt;br /&gt;
# Required-Stop:     $local_fs&lt;br /&gt;
# Default-Start:     2 3 4 5&lt;br /&gt;
# Default-Stop:      0 1 6&lt;br /&gt;
# Short-Description: Tedds OpenSimulator init.d-script, with further changes by Justin Clark-Casey (http://justincc.org)&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
# Version 0.2.1&lt;br /&gt;
# Put script in /etc/init.d/&lt;br /&gt;
# Then execute /etc/init.d/opensim &amp;lt;start&amp;gt;|&amp;lt;stop&amp;gt;|&amp;lt;restart&amp;gt;|&amp;lt;status&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# You must configure Robust and OpenSim to create Robust.exe.pid and OpenSim.exe.pid PID files&lt;br /&gt;
# by configuring PIDFile in the [Startup] section of OpenSim.ini and Robust.ini&lt;br /&gt;
 &lt;br /&gt;
set -e&lt;br /&gt;
 &lt;br /&gt;
# Location of OpenSimulator binaries&lt;br /&gt;
DIR=/opt/opensim/bin&lt;br /&gt;
&lt;br /&gt;
# The directory where OpenSimulator and Robust are placing their pid files.  These must be of the form &amp;lt;service-name&amp;gt;.pid&lt;br /&gt;
# e.g. OpenSim.exe.pid&lt;br /&gt;
PIDDIR=/tmp/&lt;br /&gt;
 &lt;br /&gt;
# The user name which will execute the services&lt;br /&gt;
USER=opensim&lt;br /&gt;
&lt;br /&gt;
SERVICES=&amp;quot;Robust.exe OpenSim.exe&amp;quot;&lt;br /&gt;
#SERVICES=&amp;quot;Robust.exe&amp;quot;&lt;br /&gt;
#SERVICES=&amp;quot;OpenSim.exe&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
#&lt;br /&gt;
# Kill values (in seconds)&lt;br /&gt;
#&lt;br /&gt;
# How long between each service being started&lt;br /&gt;
DELAY_STARTUP=10&lt;br /&gt;
# How long between each service is sent shutdown command&lt;br /&gt;
DELAY_KILL=20&lt;br /&gt;
# After shutdown has been sent to all we do another loop with &amp;quot;kill&amp;quot;, then &amp;quot;kill -9&amp;quot;. How long between &amp;quot;kill&amp;quot; and &amp;quot;kill -9&amp;quot;.&lt;br /&gt;
DELAY_FORCEKILL=10&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Info on service handled by this script&lt;br /&gt;
 &lt;br /&gt;
# Name of service&lt;br /&gt;
NAME=opensim&lt;br /&gt;
# Description of service&lt;br /&gt;
DESC=&amp;quot;OpenSimulator Server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# Binaries&lt;br /&gt;
SCREEN=/usr/bin/screen&lt;br /&gt;
MONO=/usr/bin/mono&lt;br /&gt;
 &lt;br /&gt;
###########################&lt;br /&gt;
##### START OF SCRIPT #####&lt;br /&gt;
###########################&lt;br /&gt;
 &lt;br /&gt;
export PATH=&amp;quot;${PATH:+$PATH:}/usr/sbin:/sbin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# Load LSB log functions&lt;br /&gt;
_lsbFile=&amp;quot;&amp;quot;&lt;br /&gt;
if [ -e /etc/debian_version ]; then&lt;br /&gt;
    _lsbFile=&amp;quot;/lib/lsb/init-functions&amp;quot;&lt;br /&gt;
    if [ -f $_lsbFile ]; then&lt;br /&gt;
        . $_lsbFile&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;This script requires LSB init-functions file which does not exist: $_lsbFile&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
else&lt;br /&gt;
# [ -e /etc/init.d/functions ] ; then&lt;br /&gt;
    _lsbFile=&amp;quot;/etc/init.d/functions&amp;quot;&lt;br /&gt;
    if [ -e $_lsbFile ]; then&lt;br /&gt;
        . $_lsbFile&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;This script requires LSB init-functions file which does not exist: $_lsbFile&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
# Lets use fancy output&lt;br /&gt;
log_use_fancy_output&lt;br /&gt;
 &lt;br /&gt;
# Check that target directory exists&lt;br /&gt;
if test ! -d &amp;quot;$DIR&amp;quot;; then&lt;br /&gt;
    log_failure_msg &amp;quot;$NAME&amp;quot; &amp;quot;Target directory \&amp;quot;$DIR\&amp;quot; does not exist. Can not continue.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
# Create a reverse order for shutdown&lt;br /&gt;
SERVICES_REVERSE=&amp;quot;&amp;quot;&lt;br /&gt;
reverse() { SERVICES_REVERSE=&amp;quot;$9 $8 $7 $6 $5 $4 $3 $2 $1&amp;quot;; }&lt;br /&gt;
reverse $SERVICES&lt;br /&gt;
 &lt;br /&gt;
# Check if a service is running&lt;br /&gt;
isrunning() { &lt;br /&gt;
    ISRUNNING=&amp;quot;0&amp;quot;&lt;br /&gt;
    # Do we have PID-file?&lt;br /&gt;
    if [ -f &amp;quot;$PIDDIR/$1.pid&amp;quot; ]; then&lt;br /&gt;
        # Check if proc is running&lt;br /&gt;
        pid=`cat &amp;quot;$PIDDIR/$1.pid&amp;quot; 2&amp;gt; /dev/null`&lt;br /&gt;
        if [ &amp;quot;$pid&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
            if [ -d /proc/$pid ]; then&lt;br /&gt;
                # Process is running&lt;br /&gt;
                ISRUNNING=&amp;quot;1&amp;quot;&lt;br /&gt;
            fi&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
    #ISRUNNING=&amp;quot;0&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
#&lt;br /&gt;
# Process commands&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)&lt;br /&gt;
    # Start all services one by one&lt;br /&gt;
    for server in $SERVICES; do&lt;br /&gt;
        log_daemon_msg &amp;quot;Starting $NAME&amp;quot; &amp;quot;$server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        isrunning $server&lt;br /&gt;
        case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
            1) log_daemon_msg &amp;quot;Process already started. Please stop first&amp;quot;; log_end_msg 1 ;;&lt;br /&gt;
            0) &lt;br /&gt;
                # Process is not running&lt;br /&gt;
                # Start process and sleep...&lt;br /&gt;
                exefile=&amp;quot;/tmp/exe.OpenSim.$server.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                # Need to make external file, had big problems with screen params&lt;br /&gt;
                echo \#\!/bin/bash &amp;gt; $exefile&lt;br /&gt;
                echo cd $DIR &amp;gt;&amp;gt; $exefile&lt;br /&gt;
                echo $MONO --debug $server &amp;gt;&amp;gt; $exefile&lt;br /&gt;
                chmod +x $exefile&lt;br /&gt;
&lt;br /&gt;
                cmd_screen=&amp;quot;-S $server -d -m $exefile&amp;quot;&lt;br /&gt;
                start-stop-daemon --start --pidfile $PIDDIR/$server.pid -u $USER --chdir $DIR --chuid $USER -x /usr/bin/screen -- $cmd_screen&lt;br /&gt;
&lt;br /&gt;
                # Delay between services that are started&lt;br /&gt;
                sleep $DELAY_STARTUP&lt;br /&gt;
&lt;br /&gt;
                rm $exefile 2&amp;gt; /dev/null&lt;br /&gt;
 &lt;br /&gt;
                isrunning $server&lt;br /&gt;
                case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                    1) &lt;br /&gt;
                        # Process started ok&lt;br /&gt;
                        #log_daemon_msg &amp;quot;Success&amp;quot;; &lt;br /&gt;
                        log_end_msg 0 &lt;br /&gt;
                        ;;&lt;br /&gt;
                    0) &lt;br /&gt;
                        #log_daemon_msg &amp;quot;Failure&amp;quot;; &lt;br /&gt;
                        log_end_msg 1 &lt;br /&gt;
                        ;;&lt;br /&gt;
                esac&lt;br /&gt;
                ;;&lt;br /&gt;
        esac&lt;br /&gt;
    done&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
stop)&lt;br /&gt;
    _killCount=0&lt;br /&gt;
&lt;br /&gt;
    for server in $SERVICES_REVERSE; do&lt;br /&gt;
        log_daemon_msg &amp;quot;Stopping $NAME&amp;quot; &amp;quot;$server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        isrunning $server&lt;br /&gt;
        case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
        1) &lt;br /&gt;
            _killCount=`expr $_killCount + 1`&lt;br /&gt;
            log_daemon_msg &amp;quot;Sending shutdown command:&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
            cmd_screen=&amp;quot;$SCREEN -S $server -p 0 -X stuff quit$(printf \\r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            # We can't use start-stop-daemon here currently because it will only send a signal to OpenSim&lt;br /&gt;
            # --stop doesn't execute a command&lt;br /&gt;
            # start-stop-daemon --stop --pidfile $PIDDIR/$server.pid -u $USER --chuid $USER -- $cmd_screen&lt;br /&gt;
&lt;br /&gt;
            su $USER -c &amp;quot;$cmd_screen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            # Wait for it to shut down...&lt;br /&gt;
            sleep $DELAY_KILL&lt;br /&gt;
&lt;br /&gt;
            isrunning $server&lt;br /&gt;
            case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                1) log_daemon_msg &amp;quot;$server is still running.&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
                0) log_daemon_msg &amp;quot;$server has been shutdown&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
            esac&lt;br /&gt;
&lt;br /&gt;
            ;;&lt;br /&gt;
        0) &lt;br /&gt;
            log_daemon_msg &amp;quot;$server is not running&amp;quot;; log_end_msg 0&lt;br /&gt;
            ;;&lt;br /&gt;
        esac&lt;br /&gt;
&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    # Check if any procs are still running&lt;br /&gt;
    for server in $SERVICES; do&lt;br /&gt;
        isrunning $server&lt;br /&gt;
        case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
        1) &lt;br /&gt;
            log_warning_msg &amp;quot;Stopping $NAME&amp;quot; &amp;quot;$server is still running: Forcing kill&amp;quot;&lt;br /&gt;
            echo `kill $pid 2&amp;gt; /dev/null`;&lt;br /&gt;
            sleep $DELAY_FORCEKILL&lt;br /&gt;
            echo `kill -9 $pid 2&amp;gt; /dev/null`;&lt;br /&gt;
            sleep 1&lt;br /&gt;
&lt;br /&gt;
            # Now check again if it is still running...&lt;br /&gt;
            isrunning $server&lt;br /&gt;
            case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                0) log_daemon_msg &amp;quot;Success&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
                1) log_daemon_msg &amp;quot;Process is still running... Even after \&amp;quot;kill -9 $pid\&amp;quot;. WOW...&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
            esac&lt;br /&gt;
            ;;&lt;br /&gt;
        0) &lt;br /&gt;
            #log_daemon_msg &amp;quot;&amp;quot;; &lt;br /&gt;
            ;;&lt;br /&gt;
        esac&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    log_daemon_msg &amp;quot;$NAME: All done (stopped $_killCount processes)&amp;quot;; log_end_msg 0&lt;br /&gt;
&lt;br /&gt;
    ;;&lt;br /&gt;
&lt;br /&gt;
status)&lt;br /&gt;
    # Count how many processes we need&lt;br /&gt;
    PROCCOUNT=0&lt;br /&gt;
    for i in $SERVICES; do&lt;br /&gt;
        PROCCOUNT=`expr $PROCCOUNT + 1`&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    # Go through server PID files and count how many are running&lt;br /&gt;
    log_daemon_msg &amp;quot;$NAME: Running processes:&amp;quot;&lt;br /&gt;
    _pidCount=0&lt;br /&gt;
    for server in $SERVICES; do&lt;br /&gt;
&lt;br /&gt;
        isrunning $server&lt;br /&gt;
        case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
            1) &lt;br /&gt;
                # This server is running&lt;br /&gt;
                _pidCount=`expr $_pidCount + 1`&lt;br /&gt;
                log_daemon_msg &amp;quot;$server&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
            0) &lt;br /&gt;
                ;;&lt;br /&gt;
        esac&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
    log_daemon_msg &amp;quot; ($_pidCount of $PROCCOUNT processes are running)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check if running proc count matches requires proc count&lt;br /&gt;
    if [ $_pidCount -eq $PROCCOUNT ]; then&lt;br /&gt;
        log_daemon_msg &amp;quot;$NAME is running&amp;quot;&lt;br /&gt;
        exit 0&lt;br /&gt;
    else&lt;br /&gt;
        log_daemon_msg &amp;quot;$NAME is NOT running&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
&lt;br /&gt;
restart)&lt;br /&gt;
    $0 stop&lt;br /&gt;
    $0 start&lt;br /&gt;
    ;;&lt;br /&gt;
*)&lt;br /&gt;
    echo &amp;quot;Usage: /etc/init.d/$NAME {start|stop|restart|status}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tedd's Original Script plus clean shutdown tweak ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          OpenSimulator&lt;br /&gt;
 # Required-Start:    $local_fs $network &lt;br /&gt;
 # Required-Stop:     $local_fs&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: Tedds OpenSimulator init.d-script&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 # Put script in /etc/init.d/&lt;br /&gt;
 # then execute: update-rc.d opensim defaults&lt;br /&gt;
 &lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Directories&lt;br /&gt;
 #&lt;br /&gt;
 # Location of OpenSimulator installation&lt;br /&gt;
 DIR=/home/opensim/OpenSim/bin/&lt;br /&gt;
 # Different PID dir?&lt;br /&gt;
 PIDDIR=$DIR&lt;br /&gt;
 &lt;br /&gt;
 USER=opensim&lt;br /&gt;
 SERVICES=&amp;quot;Robust.exe OpenSim.exe&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Kill values (in seconds)&lt;br /&gt;
 #&lt;br /&gt;
 # How long between each service being started&lt;br /&gt;
 DELAY_STARTUP=10&lt;br /&gt;
 # How long between each service is sent shutdown command&lt;br /&gt;
 DELAY_KILL=10&lt;br /&gt;
 # After shutdown has been sent to all we do another loop with &amp;quot;kill&amp;quot;, then &amp;quot;kill -9&amp;quot;. How long between &amp;quot;kill&amp;quot; and &amp;quot;kill -9&amp;quot;.&lt;br /&gt;
 DELAY_FORCEKILL=10&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Info on service handled by this script&lt;br /&gt;
 &lt;br /&gt;
 # Name of service&lt;br /&gt;
 NAME=opensim&lt;br /&gt;
 # Description of service&lt;br /&gt;
 DESC=&amp;quot;OpenSimulator Server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Binaries&lt;br /&gt;
 SCREEN=/usr/bin/screen&lt;br /&gt;
 MONO=/usr/bin/mono&lt;br /&gt;
 &lt;br /&gt;
 ###########################&lt;br /&gt;
 ##### START OF SCRIPT #####&lt;br /&gt;
 ###########################&lt;br /&gt;
 &lt;br /&gt;
 export PATH=&amp;quot;${PATH:+$PATH:}/usr/sbin:/sbin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 # Load LSB log functions&lt;br /&gt;
 _lsbFile=&amp;quot;&amp;quot;&lt;br /&gt;
 if [ -e /etc/debian_version ]; then&lt;br /&gt;
     _lsbFile=&amp;quot;/lib/lsb/init-functions&amp;quot;&lt;br /&gt;
     if [ -f $_lsbFile ]; then&lt;br /&gt;
         . $_lsbFile&lt;br /&gt;
     else&lt;br /&gt;
         echo &amp;quot;This script requires LSB init-functions file which does not exist: $_lsbFile&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
     fi&lt;br /&gt;
 else&lt;br /&gt;
 # [ -e /etc/init.d/functions ] ; then&lt;br /&gt;
     _lsbFile=&amp;quot;/etc/init.d/functions&amp;quot;&lt;br /&gt;
     if [ -e $_lsbFile ]; then&lt;br /&gt;
         . $_lsbFile&lt;br /&gt;
     else&lt;br /&gt;
         echo &amp;quot;This script requires LSB init-functions file which does not exist: $_lsbFile&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
     fi&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Lets use fancy output&lt;br /&gt;
 log_use_fancy_output&lt;br /&gt;
 &lt;br /&gt;
 # Check that target directory exists&lt;br /&gt;
 if test ! -d &amp;quot;$DIR&amp;quot;; then&lt;br /&gt;
     log_failure_msg &amp;quot;$NAME&amp;quot; &amp;quot;Target directory \&amp;quot;$DIR\&amp;quot; does not exist. Can not continue.&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Create a reverse order for shutdown&lt;br /&gt;
 SERVICES_REVERSE=&amp;quot;&amp;quot;&lt;br /&gt;
 reverse() { SERVICES_REVERSE=&amp;quot;$9 $8 $7 $6 $5 $4 $3 $2 $1&amp;quot;; }&lt;br /&gt;
 reverse $SERVICES&lt;br /&gt;
 &lt;br /&gt;
 # Check if a service is running&lt;br /&gt;
 isrunning() { &lt;br /&gt;
     ISRUNNING=&amp;quot;0&amp;quot;&lt;br /&gt;
     # Do we have PID-file?&lt;br /&gt;
     if [ -f &amp;quot;$PIDDIR/$1.pid&amp;quot; ]; then&lt;br /&gt;
         # Check if proc is running&lt;br /&gt;
         pid=`cat &amp;quot;$PIDDIR/$1.pid&amp;quot; 2&amp;gt; /dev/null`&lt;br /&gt;
         if [ &amp;quot;$pid&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
             if [ -d /proc/$pid ]; then&lt;br /&gt;
                 # Process is running&lt;br /&gt;
                 ISRUNNING=&amp;quot;1&amp;quot;&lt;br /&gt;
             fi&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
     #ISRUNNING=&amp;quot;0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Process commands&lt;br /&gt;
 #&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 start)&lt;br /&gt;
     # Start all services one by one&lt;br /&gt;
     for server in $SERVICES; do&lt;br /&gt;
         log_daemon_msg &amp;quot;Starting $NAME&amp;quot; &amp;quot;$server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
         isrunning $server&lt;br /&gt;
         case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
             1) log_progress_msg &amp;quot;Process already started. Please stop first&amp;quot;; log_end_msg 1 ;;&lt;br /&gt;
             0) &lt;br /&gt;
                 # Process is not running&lt;br /&gt;
                 # Start process and sleep...&lt;br /&gt;
                 exefile=&amp;quot;/tmp/exe.OpenSim.$server.sh&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 # Need to make external file, had big problems with screen params&lt;br /&gt;
                 echo \#\!/bin/bash &amp;gt; $exefile&lt;br /&gt;
                 echo cd $DIR &amp;gt;&amp;gt; $exefile&lt;br /&gt;
                 echo $MONO $server &amp;gt;&amp;gt; $exefile&lt;br /&gt;
                 chmod +x $exefile&lt;br /&gt;
 &lt;br /&gt;
                 cmd_screen=&amp;quot;screen -S $server -d -m $exefile&amp;quot;&lt;br /&gt;
                 start-stop-daemon --start -b -x /bin/su -m --pidfile=/tmp/su.$server.pid --chdir &amp;quot;$DIR&amp;quot; -- - $USER &amp;quot;-c $cmd_screen&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 # Delay between services that are started&lt;br /&gt;
                 sleep $DELAY_STARTUP&lt;br /&gt;
 &lt;br /&gt;
                 rm $exefile 2&amp;gt; /dev/null&lt;br /&gt;
 &lt;br /&gt;
                 # Make PID-file&lt;br /&gt;
                 ps afxu | grep &amp;quot;mono $server&amp;quot; | grep -iEv &amp;quot;grep|screen&amp;quot; | awk {'print $2'} &amp;gt; &amp;quot;$PIDDIR/$server.pid&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 isrunning $server&lt;br /&gt;
                 case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                     1) &lt;br /&gt;
                         # Process started ok&lt;br /&gt;
                         #log_progress_msg &amp;quot;Success&amp;quot;; &lt;br /&gt;
                         log_end_msg 0 &lt;br /&gt;
                         ;;&lt;br /&gt;
                     0) &lt;br /&gt;
                         # Process did not start... remove pid-file&lt;br /&gt;
                         rm &amp;quot;$PIDDIR/$server.pid&amp;quot; 2&amp;gt; /dev/null&lt;br /&gt;
                         #log_progress_msg &amp;quot;Failure&amp;quot;; &lt;br /&gt;
                         log_end_msg 1 &lt;br /&gt;
                         ;;&lt;br /&gt;
                 esac&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 &lt;br /&gt;
     done&lt;br /&gt;
     ;;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 stop)&lt;br /&gt;
     _killCount=0&lt;br /&gt;
 &lt;br /&gt;
     for server in $SERVICES_REVERSE; do&lt;br /&gt;
         log_daemon_msg &amp;quot;Stopping $NAME&amp;quot; &amp;quot;$server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
         isrunning $server&lt;br /&gt;
         case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
         1) &lt;br /&gt;
             _killCount=`expr $_killCount + 1`&lt;br /&gt;
             log_progress_msg &amp;quot;Sending shutdown command:&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
             cmd_screen=&amp;quot;screen -S $server -p 0 -X stuff quit$(printf \\r)&amp;quot;&lt;br /&gt;
             su $USER -c &amp;quot;$cmd_screen&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
             # Wait for it to shut down...&lt;br /&gt;
             sleep $DELAY_KILL&lt;br /&gt;
 &lt;br /&gt;
             isrunning $server&lt;br /&gt;
             case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                 1) log_progress_msg &amp;quot;is still running.&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
                 0) log_progress_msg &amp;quot;has been shutdown&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
             esac&lt;br /&gt;
 &lt;br /&gt;
             ;;&lt;br /&gt;
         0) &lt;br /&gt;
             log_progress_msg &amp;quot;is not running&amp;quot;; log_end_msg 0&lt;br /&gt;
             ;;&lt;br /&gt;
         esac&lt;br /&gt;
 &lt;br /&gt;
     done&lt;br /&gt;
 &lt;br /&gt;
     # Check if any procs are still running&lt;br /&gt;
     for server in $SERVICES; do&lt;br /&gt;
         isrunning $server&lt;br /&gt;
         case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
         1) &lt;br /&gt;
             log_warning_msg &amp;quot;Stopping $NAME&amp;quot; &amp;quot;$server is still running: Forcing kill&amp;quot;&lt;br /&gt;
             echo `kill $pid 2&amp;gt; /dev/null`;&lt;br /&gt;
             sleep $DELAY_FORCEKILL&lt;br /&gt;
             echo `kill -9 $pid 2&amp;gt; /dev/null`;&lt;br /&gt;
             sleep 1&lt;br /&gt;
 &lt;br /&gt;
             # Now check again if it is still running...&lt;br /&gt;
             isrunning $server&lt;br /&gt;
             case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
                 0) log_progress_msg &amp;quot;Success&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
                 1) log_progress_msg &amp;quot;Process is still running... Even after \&amp;quot;kill -9 $pid\&amp;quot;. WOW...&amp;quot;; log_end_msg 0 ;;&lt;br /&gt;
             esac&lt;br /&gt;
             ;;&lt;br /&gt;
         0) &lt;br /&gt;
             #log_progress_msg &amp;quot;&amp;quot;; &lt;br /&gt;
             ;;&lt;br /&gt;
         esac&lt;br /&gt;
     done&lt;br /&gt;
 &lt;br /&gt;
     log_begin_msg &amp;quot;$NAME: All done (killed $_killCount procs)&amp;quot;; log_end_msg 0&lt;br /&gt;
 &lt;br /&gt;
     ;;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 status)&lt;br /&gt;
     # Count how many processes we need&lt;br /&gt;
     PROCCOUNT=0&lt;br /&gt;
     for i in $SERVICES; do&lt;br /&gt;
         PROCCOUNT=`expr $PROCCOUNT + 1`&lt;br /&gt;
     done&lt;br /&gt;
 &lt;br /&gt;
     # Go through server PID files and count how many are running&lt;br /&gt;
     log_begin_msg &amp;quot;$NAME: Running processed:&amp;quot;&lt;br /&gt;
     _pidCount=0&lt;br /&gt;
     for server in $SERVICES; do&lt;br /&gt;
 &lt;br /&gt;
         isrunning $server&lt;br /&gt;
         case &amp;quot;$ISRUNNING&amp;quot; in&lt;br /&gt;
             1) &lt;br /&gt;
                 # This server is running&lt;br /&gt;
                 _pidCount=`expr $_pidCount + 1`&lt;br /&gt;
                 log_progress_msg &amp;quot;$server&amp;quot;&lt;br /&gt;
                 ;;&lt;br /&gt;
             0) &lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
     done&lt;br /&gt;
 &lt;br /&gt;
     log_begin_msg &amp;quot; ($_pidCount of $PROCCOUNT processes are running)&amp;quot;; log_end_msg 0&lt;br /&gt;
 &lt;br /&gt;
     # Check if running proc count matches requires proc count&lt;br /&gt;
     log_begin_msg &amp;quot;$NAME is&amp;quot;&lt;br /&gt;
     if [ $_pidCount -eq $PROCCOUNT ]; then&lt;br /&gt;
         log_progress_msg &amp;quot;running&amp;quot;; log_end_msg 0&lt;br /&gt;
         exit 0&lt;br /&gt;
     else&lt;br /&gt;
         log_progress_msg &amp;quot;NOT running&amp;quot;; log_end_msg 0&lt;br /&gt;
         exit 1&lt;br /&gt;
     fi&lt;br /&gt;
     ;;&lt;br /&gt;
 &lt;br /&gt;
 restart)&lt;br /&gt;
     $0 stop&lt;br /&gt;
     $0 start&lt;br /&gt;
     ;;&lt;br /&gt;
 *)&lt;br /&gt;
     echo &amp;quot;Usage: /etc/init.d/$NAME {start|stop|restart|status}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CentOS/RHEL 6 and older script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# OpenSim      OpenSim&lt;br /&gt;
# author		 neowdj&lt;br /&gt;
# date            20131222&lt;br /&gt;
# version         0.1&lt;br /&gt;
 &lt;br /&gt;
# chkconfig: 2345 80 30&lt;br /&gt;
# description: OpenSim Server&lt;br /&gt;
# processname: mono&lt;br /&gt;
&lt;br /&gt;
. /etc/rc.d/init.d/functions&lt;br /&gt;
&lt;br /&gt;
#BIN dir&lt;br /&gt;
dir=&amp;quot;/opt/opensim/bin/&amp;quot;&lt;br /&gt;
# Robust or OpenSim&lt;br /&gt;
prog=&amp;quot;Robust&amp;quot;&lt;br /&gt;
#Launch program with the user opensim &lt;br /&gt;
user=&amp;quot;opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CMD=&amp;quot;su $user -c 'screen -dmS $prog mono --server $prog.exe'&amp;quot;&lt;br /&gt;
RUNNING=`ps -e | grep mono | wc -l`&lt;br /&gt;
SUBSYS=&amp;quot;/var/lock/subsys/mono&amp;quot;&lt;br /&gt;
PIDFILE=&amp;quot;/var/run/OpenSim/$prog.pid&amp;quot;&lt;br /&gt;
OPENSIM_TIMEOUT=&amp;quot;100&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
    	if [ &amp;quot;$RUNNING&amp;quot; -eq 1 ]; then&lt;br /&gt;
     		echo -n $&amp;quot;Starting $prog: &amp;quot;&lt;br /&gt;
                RETVAL=$?&lt;br /&gt;
                echo&lt;br /&gt;
&lt;br /&gt;
	else&lt;br /&gt;
		cd $dir&lt;br /&gt;
		echo -n $&amp;quot;Starting $prog: &amp;quot;&lt;br /&gt;
                daemon $CMD&lt;br /&gt;
        	RETVAL=$?&lt;br /&gt;
        	echo&lt;br /&gt;
        	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch $SUBSYS || \&lt;br /&gt;
           		RETVAL=1&lt;br /&gt;
		return $RETVAL&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
			echo -n $&amp;quot;Stopping $prog: &amp;quot;&lt;br /&gt;
                        su $user -c &amp;quot;screen -S $prog -p 0 -X stuff quit$(printf \\r)&amp;quot; 2&amp;gt;&amp;amp;1&lt;br /&gt;
        		RETVAL=$?&lt;br /&gt;
			if [ $RETVAL -eq 0 ] ; then&lt;br /&gt;
			rm -f $SUBSYS&lt;br /&gt;
			timeout=0&lt;br /&gt;
	                while : ; do&lt;br /&gt;
                        [ -f $PIDFILE ] || break&lt;br /&gt;
                        if [ $timeout -ge $OPENSIM_TIMEOUT ]; then&lt;br /&gt;
                                echo&lt;br /&gt;
                                return 1&lt;br /&gt;
                        fi&lt;br /&gt;
                        sleep 2 &amp;amp;&amp;amp; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
                        timeout=$((timeout+2))&lt;br /&gt;
                	done&lt;br /&gt;
                	echo_success&lt;br /&gt;
                	echo&lt;br /&gt;
        	else&lt;br /&gt;
                	echo_failure&lt;br /&gt;
                	echo&lt;br /&gt;
        	fi&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
&lt;br /&gt;
}	&lt;br /&gt;
&lt;br /&gt;
statusos() {&lt;br /&gt;
        status -p $PIDFILE $prog&lt;br /&gt;
        exit 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        start&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        stop&lt;br /&gt;
        ;;&lt;br /&gt;
  restart)&lt;br /&gt;
	stop&lt;br /&gt;
	start&lt;br /&gt;
	;;&lt;br /&gt;
  status)&lt;br /&gt;
        statusos&lt;br /&gt;
        ;;&lt;br /&gt;
  *)&lt;br /&gt;
        echo &amp;quot;Usage: $0 {start|stop|restart|status}&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
exit $?&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Systemd Service Units for Linux =&lt;br /&gt;
&lt;br /&gt;
== CentOS/RHEL 7 and 8 Systemd Service Unit ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# Systemd Service Unit for OpenSimulator &lt;br /&gt;
# Author: steevithak&lt;br /&gt;
#&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenSimulator service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=opensim&lt;br /&gt;
Group=opensim&lt;br /&gt;
Type=simple&lt;br /&gt;
LimitSTACK=1048576&lt;br /&gt;
TimeoutStopSec=60&lt;br /&gt;
WorkingDirectory=/opt/opensim/bin&lt;br /&gt;
ExecStart=/usr/bin/mono --server /opt/opensim/bin/OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* Should work on CentOS 7.x, CentOS 8.x, RHEL 7.x, RHEL 8.x. Might work on other Redhat-based distros.&lt;br /&gt;
* The &amp;quot;--server&amp;quot; option sets default garbage collection in mono which might be slightly faster for production usage. Using &amp;quot;--desktop&amp;quot; instead should also work and will set the garbage collection system to avoid expanding the heap as much as possible at the expense of slowing down garbage collection a bit.&lt;br /&gt;
* There's a default max timeout of 60 seconds for shutdown. Adjust as needed if that's not long enough on your server. &lt;br /&gt;
* This example doesn't use screen so the OpenSim console will not be available directly.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
* Create an opensim user (be sure to set shell to /sbin/nologin)&lt;br /&gt;
* Install opensim in /opt/opensim&lt;br /&gt;
* Save the above file as /etc/systemd/system/opensim.service&lt;br /&gt;
'''Usage'''&lt;br /&gt;
* systemctl enable opensim&lt;br /&gt;
* systemctl disable opensim&lt;br /&gt;
* systemctl status opensim&lt;br /&gt;
* systemctl start opensim&lt;br /&gt;
* systemctl stop opensim&lt;br /&gt;
* systemctl restart opensim&lt;br /&gt;
* journalctl -u opensim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other OpenSimulator Linux scripts =&lt;br /&gt;
&lt;br /&gt;
* [[Tmux]] - Using tmux, a terminal multiplexer, to run OpenSimulator on server while retaining access to the terminal&lt;br /&gt;
* [[Ogltree_Install_Instructions|Ogltree Install Instructions]] - Adam Frisby's Linux ogltree scripts&lt;/div&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	</feed>