COMP 3000 2011 Report: Dream Studio: Difference between revisions

From Soma-notes
Smaqsood (talk | contribs)
No edit summary
Smaqsood (talk | contribs)
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h1>Part I</h1>
<h1>Background</h1>
<h2>Background</h2>


[[File:pic.png|thumb|right|Dream Studio Desktop.]]
[[File:pic.png|200px|thumb|right|Dream Studio Desktop.]]


<p>[http://www.dream.dickmacinnis.com/forum/ Dream Studio] is an Ubuntu based distribution that provides users tools to create stunning graphics, music, videos and websites. It is developed and maintained by Dream Dickmacinnis, who originally designed this distribution for his work. The distribution can be downloaded on the harddrive or run from a DVD and USB flash drive. It takes advantage of the Ubuntu base and does not modify the default packages provided by Ubuntu for ease of system updates and maintaineance. The primary target audience for this distribution are designers, musicians or anyone developing mutlimedia (video, audio etc.) or design products.</p>
<p>[http://www.dream.dickmacinnis.com/forum/ Dream Studio] is an Ubuntu based distribution that provides users tools to create stunning graphics, music, videos and websites. It is developed and maintained by Dick MacInnis, who originally designed the distribution for his work. Dream Studio can be installed to the hard drive, run from a DVD or USB flash drive. For ease of system updates and maintenance, Dream Studio does not modify the default packages provided by Ubuntu. The primary target audience for this distribution are designers, musicians or anyone developing multimedia (video, audio etc.) or design products. <br /></p>
<h1>Part II</h1>
 
<h2>Software Packaging </h2>
<h1>Software Packaging </h1>
<p>Dream Studio uses Ubuntu&rsquo;s package management utilities to package and distribute software. Software is distributed in package files with a .deb extension to software repositories, and Dream Studio can download and install the software from these software repositories using a package management utility. Since Ubuntu uses Debian&rsquo;s package management utilities, the base package management utility of Dream Studio is dpkg. Dream Studio has the following package management utilities:</p>
<p>Dream Studio uses Ubuntu&rsquo;s package management utilities to package and distribute software. Software is distributed in package files with a .deb extension to software repositories, and Dream Studio can download and install the software from these software repositories using a package management utility. Since Ubuntu uses Dobbin&rsquo;s package management utilities, the base package management utility of Dream Studio is dpkg. Dream Studio has the following package management utilities:</p>
<ul>
<ul>
  <li><strong>dpkg: </strong>dpkg is the base software of Dream Studio&rsquo;s package management system. It is a low-level package management utility that can be used to create, install and remove packages. dpkg cannot get packages from remote repositories or manage complex package dependencies, therefore it is recommended that a higher level utility such as APT be used to install, update and remove packages in Dream Studio.</li>
<li><p><strong>dpkg: </strong>dpkg is the base software of Dream Studio&rsquo;s package management system. It is a low-level package management utility that can be used to create, install and remove packages. dpkg cannot get packages from remote repositories or manage complex package dependencies, therefore it is recommended that a higher level utility such as APT be used to install, update and remove packages in Dream Studio.</p></li>
  <li><strong>APT (Advanced Packaging Tool): </strong>APT is a command line based front-end for dpkg. It allows users to install, update and remove packages on the system and, unlike dkpg it can download packages from remote repositories and manage package dependencies. APT can be accessed in Dream Studio by using the command line utility apt-get.</li>
<li><p><strong>APT (Advanced Packaging Tool): </strong>APT is a command line based front-end for dpkg. It allows users to install, update and remove packages on the system and, unlike dkpg it can download packages from remote repositories and manage package dependencies. APT can be accessed in Dream Studio by using the command line utility apt-get.</p></li>
  <li><strong>Aptitude: </strong>Aptitude is a command line text-based menu front-end for APT. It can be used to install, update and remove packages on the system. Aptitude can be accessed in Dream Studio by using the command line utility aptitude.</li>
<li><p><strong>Aptitude: </strong>Aptitude is a command line text-based menu front-end for APT. It can be used to install, update and remove packages on the system. Aptitude can be accessed in Dream Studio by using the command line utility aptitude.</p></li>
  <li><strong>Ubuntu Software Center: </strong>Ubuntu Software Center is the graphical (GUI) front-end for APT and can be used to browse, install, update and remove packages. It is the most simple application in Dream Studio to install packages but it can ignore certain packages (i.e. packages that don&rsquo;t contain programs), and therefore the Synaptic Package Manager should be used to install complex packages or packages that cannot be installed using the Ubuntu Software Center.</li>
<li><p><strong>Ubuntu Software Center: </strong>Ubuntu Software Center is the graphical (GUI) front-end for APT and can be used to browse, install, update and remove packages. It is the most simple application in Dream Studio to install packages but it can ignore certain packages (i.e. packages that don&rsquo;t contain programs), and therefore the Synaptic Package Manager should be used to install complex packages or packages that cannot be installed using the Ubuntu Software Center.</p></li>
  <li><strong>Synaptic Package Manager: </strong>The Synaptic Package Manager provides an advanced GUI front-end for APT. It can be used to browse, install, update and remove any package on the system. It is similar to the Ubuntu Software Center, but provides more information and complete control over the packages installed on the system.</li>
<li><p><strong>Synaptic Package Manager: </strong>The Synaptic Package Manager provides an advanced GUI front-end for APT. It can be used to browse, install, update and remove any package on the system. It is similar to the Ubuntu Software Center, but provides more information and complete control over the packages installed on the system.</p></li>
</ul>
</ul>
<h3> Listing Installed Software</h3>
<h2>Listing Installed Software</h2>
<p>A listing of all the software installed in Dream Studio can be obtained by using the package management utilities below:</p>
<p>A listing of all the software installed in Dream Studio can be obtained by using the package management utilities below:</p>
<ul>
<ul>
  <li><strong>dpkg:</strong> A list of installed packages (software) can be obtained by using the following dpkg command in the terminal:dpkg –l</li>
<li><strong>dpkg:</strong> A list of installed packages (software) can be obtained by using the following dpkg command in the terminal: <pre>$ dpkg –l</pre></li>
  <li><strong>Aptitude: </strong>The following steps describe how to obtain a list of installed software using Aptitude:
<li><strong>Aptitude: </strong>The following steps describe how to obtain a list of installed software using Aptitude:
    <ol>
  <ol>
      <li>Type aptitude in the command line</li>
  <li>Type the command &quot;aptitude&quot; in the terminal:</li>
      <li>Select the option &ldquo;Installed Packages&rdquo; from the menu</li>
  <li>Select the option &ldquo;Installed Packages&rdquo; from the menu.
    </ol>
    <br />
  </li>
  </li>
  <li><strong>Ubuntu Software Center: </strong>The following steps describe how to obtain a list of installed software using Ubuntu Software Center:
  </ol>
    <ol>
</li>
      <li>Select &ldquo;Ubuntu Software Center&rdquo; from the Applications menu in the top menu bar</li>
<li><strong>Ubuntu Software Center: </strong>The following steps describe how to obtain a list of installed software using Ubuntu Software Center:
      <li>Select the option &ldquo;Installed Software&rdquo; from the left pane in Ubuntu Software Center. List of installed software will be displayed in the right pane.</li>
  <ol>
    </ol>
  <li>Select &ldquo;Ubuntu Software Center&rdquo; from the Applications menu in the top menu bar.</li>
  </li>
  <li>Select the option &ldquo;Installed Software&rdquo; from the left pane in Ubuntu Software Center. List of installed software will be displayed in the right pane.
  <li><strong>Synaptic Package Manager: </strong>The following steps describe how to obtain a list of installed software using the Synaptic Package Manager:
    <br />
    <ol>
  </li>
      <li>Open the Synaptic Package Manager by selecting it from the menu  System &gt; Administration in the top menu bar </li>
  </ol>
      <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager</li>
</li>
      <li>Select &ldquo;Installed&rdquo; from the menu located at the top of the buttons</li>
<li><strong>Synaptic Package Manager: </strong>The following steps describe how to obtain a list of installed software using the Synaptic Package Manager:
    </ol>
  <ol>
  </li>
  <li>Open the Synaptic Package Manager by selecting it from the menu System &gt; Administration in the top menu bar.</li>
  <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager.</li>
  <li>Select &ldquo;Installed&rdquo; from the menu located at the top of the buttons.</li>
  </ol>
</li>
</ul>
</ul>
<h3>Adding and Removing Packages</h3>
<h2>Adding and Removing Packages</h2>
<p>Packages can be installed or removed in Dream Studio by using any of the package management utilities listed below: (note: dpkg is excluded from this list because it is not recommended to directly install/remove packages using this utility)</p>
<p>Packages can be installed or removed in Dream Studio by using any of the package management utilities listed below: (note: dpkg is excluded from this list because it is not recommended to directly install/remove packages using this utility)</p>
<p><strong>APT: </strong>Search for a package by typing the following command in the terminal: apt-cache search &lt;search term&gt;.  Example: To search for a graphics program/package type the following command in the terminal: apt-cache search &lt;graphics program&gt;. Select the package name from the search results and then use the commands below to install or remove the package if is already installed:</p>
<h4>APT</h4>
<ul>
<p>Search for a package by typing the following command in the terminal:</p>
  <li><strong>Installing a package:</strong> Type the following command in the terminal to install a given package: apt-get install &lt;package_name&gt;. Example: Use the command apt-get install graphicsprorgram  to install the package named grapicsprogram.<br />
<pre>$ apt-cache search &lt;search term&gt;</pre>
  </li>
<p>Example: To search for a graphics program/package type the following command in the terminal:</p>
  <li><strong>Removing a package:</strong> Type the following command in the terminal to remove a given package: apt-get remove &lt;package_name&gt;. Example: Use the command apt-get remove graphicsprorgram  to remove the package named grapicsprogram. The command apt-get purge  &lt;package_name&gt; can be used to remove a package and its configuration files. </li>
<pre>$ apt-cache search &lt;graphics program&gt;</pre>
</ul>
<p>Select the package name from the search results and then use the commands below to install or remove the package if is already installed.</p>
<p><strong>Aptitude: </strong>Open aptitude by the  typing the command aptitude in the terminal</p>
<p><strong>Installing a package:</strong> Type the following command in the terminal to install a given package: </p>
<ul>
<pre>$ apt-get install &lt;package_name&gt;</pre>
  <li><strong>Installing a package:</strong> The steps below describe how to select and install a package using aptitude:  
<p>Example: Type the following command in the terminal to install the package named &quot;tux-math&quot;</p>
    <ol>
<pre>$ apt-get install tux-math </pre>
      <li>Select the &ldquo;Not Installed Packages&rdquo; from the menu at the top</li>
<p><strong>Removing a package:</strong> Type the following command in the terminal to remove a given package: </p>
      <li>Select a category from the displayed list</li>
<pre>$ apt-get remove &lt;package_name&gt;</pre>
      <li>Select a package repository from the displayed list</li>
<p>Example: Type the following command in the terminal to remove the package named &quot;tux-math&quot;:</p>
      <li>Browse the displayed list of available packages and mark a package to be installed by pressing the &ldquo;+&rdquo; key</li>
<pre>$ apt-get remove tux-math</pre>
      <li>Press the &ldquo;g&rdquo; key twice to install the selected package</li>
<p> The following command can be used to remove a package and its configuration files:
    </ol>
</p>
  </li>
<pre>$ apt-get purge &lt;package_name&gt;</pre>
  <li><strong>Removing a package: </strong>The steps below describe how to select and remove a package using aptitude:
<h4>Aptitude</h4>
    <ol>
<p>Open Aptitude by typing &quot;aptitude&quot; in the terminal:</p>
      <li>Select the &ldquo;Installed Packages&rdquo; from the menu at the top</li>
 
      <li>Select a category from the displayed list</li>
<p><strong>Installing a package:</strong> The steps below describe how to select and install a package using Aptitude: </p>
      <li>Select a package repository from the displayed list</li>
<ol>
      <li> Browse the displayed list of available packages and mark a package to be removed by pressing the &ldquo;-&rdquo; key</li>
  <li>Select the &ldquo;Not Installed Packages&rdquo; from the menu at the top.</li>
      <li>Press the &ldquo;g&rdquo; key twice to remove the selected package</li>
  <li>Select a category from the displayed list.</li>
    </ol>
  <li>Select a package repository from the displayed list.</li>
  </li>
  <li>Browse the displayed list of available packages and mark a package to be installed by pressing the &ldquo;+&rdquo; key.</li>
</ul>
  <li>Press the &ldquo;g&rdquo; key twice to install the selected package.</li>
<p><strong>Ubuntu Software Center: </strong>Open Ubuntu Software Center by selecting it from the menu at the top: Applications &gt; Ubuntu Software Center</p>
</ol>
<ul>
<p><strong>Removing a package: </strong>The steps below describe how to select and remove a package using Aptitude:</p>
  <li><strong>Installing a package: </strong>The steps below describe how to install a package using the Ubuntu Software Center:
<ol>
    <ol>
  <li>Select the &ldquo;Installed Packages&rdquo; from the menu at the top.</li>
      <li>Find the package to be installed by selecting it from the categories listed under the &lsquo;Get Software&rdquo; menu in the left-pane or searching for it using the &ldquo;Search&rdquo; box in the top right corner.</li>
  <li>Select a category from the displayed list.</li>
      <li>Select the package to be installed from the results displayed in the right-pane</li>
  <li>Select a package repository from the displayed list.</li>
      <li>Select the &ldquo;Install&rdquo; option to install the selected package</li>
  <li> Browse the displayed list of available packages and mark a package to be removed by pressing the &ldquo;-&rdquo; key.</li>
    </ol>
  <li>Press the &ldquo;g&rdquo; key twice to remove the selected package</li>
  </li>
</ol>
  <li><strong>Removing a package: </strong>The steps below describe how to remove a package using the Ubuntu Software Center:
<h3>Ubuntu Software Center</h3>
    <ol>
<p>Open Ubuntu Software Center by selecting it from the menu at the top: Applications &gt; Ubuntu Software Center</p>
      <li>Select the &ldquo;Installed Software&rdquo; option from the left-pane</li>
<p><strong>Installing a package: </strong>The steps below describe how to install a package using the Ubuntu Software Center:</p>
      <li>Select a category from the options displayed under &ldquo;Installed Software&rdquo; in the left-pane </li>
<ol>
      <li>Select the package to be removed from the results displayed in the right pane </li>
  <li>Find the package to be installed by selecting it from the categories listed under the &lsquo;Get Software&rdquo; menu in the left-pane or searching for it using the &ldquo;Search&rdquo; box in the top right corner.</li>
      <li>Select the &ldquo;Remove&rdquo; option to remove the selected package</li>
  <li>Select the package to be installed from the results displayed in the right-pane.</li>
    </ol>
  <li>Select the &ldquo;Install&rdquo; option to install the selected package.</li>
  </li>
</ol>
</ul>
<p><strong>Removing a package: </strong>The steps below describe how to remove a package using the Ubuntu Software Center:</p>
<p><strong>Synaptic Package Manager: </strong>Open Synaptic Package Manager by selecting it from the menu at the top: System &gt; Administration &gt; Ubuntu Software Center</p>
<ol>
<ul>
  <li>Select the &ldquo;Installed Software&rdquo; option from the left-pane.</li>
  <li><strong>Installing a package:</strong> The steps below describe how to install a package using the Synaptic Package Manager:  
  <li>Select a category from the options displayed under &ldquo;Installed Software&rdquo; in the left-pane.</li>
    <ol>
  <li>Select the package to be removed from the results displayed in the right pane.</li>
      <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager</li>
  <li>Select the &ldquo;Remove&rdquo; option to remove the selected package.</li>
      <li>Select the &ldquo;Not Installed&rdquo; option from the menu located at the top of the buttons</li>
</ol>
      <li>Select the package to be installed from the list displayed in the right-pane</li>
<h3>Synaptic Package Manager</h3>
      <li>Right-click on the package and select the &ldquo;Mark for Installation&rdquo; option from the pop-up menu</li>
<p>Open Synaptic Package Manager by selecting it from the menu at the top: System &gt; Administration &gt; Ubuntu Software Center</p>
      <li>Select the &ldquo;Apply&rdquo; option from the toolbar at the top</li>
<p><strong>Installing a package:</strong> The steps below describe how to install a package using the Synaptic Package Manager:</p>
    </ol>
<ol>
  </li>
  <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager.</li>
  <li><strong>Removing a package:</strong> The steps below describe how to remove a package using the Synaptic Package Manager:
  <li>Select the &ldquo;Not Installed&rdquo; option from the menu located at the top of the buttons.</li>
    <ol>
  <li>Select the package to be installed from the list displayed in the right-pane.</li>
      <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager</li>
  <li>Right-click on the package and select the &ldquo;Mark for Installation&rdquo; option from the pop-up menu.</li>
      <li>Select &ldquo;Installed&rdquo; from the menu at the top of the buttons</li>
  <li>Select the &ldquo;Apply&rdquo; option from the toolbar at the top.</li>
      <li>Select the package to be removed from the list displayed in the right-pane</li>
</ol>
      <li>Right-click on the package and select the &ldquo;Mark for Removal&rdquo; option from pop-up menu</li>
<p><strong>Removing a package:</strong> The steps below describe how to remove a package using the Synaptic Package Manager:</p>
      <li>Select the option &ldquo;Apply&rdquo; from the toolbar at the top</li>
<ol>
    </ol>
  <li>Select the &ldquo;Status&rdquo; button from the Synaptic Packager Manager.</li>
  </li>
  <li>Select &ldquo;Installed&rdquo; from the menu at the top of the buttons.</li>
</ul>
  <li>Select the package to be removed from the list displayed in the right-pane.</li>
<h3>Software Catalog</h3>
  <li>Right-click on the package and select the &ldquo;Mark for Removal&rdquo; option from pop-up menu.</li>
<p>Dream Studio has 2141 packages installed upon the distribution's installation. These packages are more than enough for regular users, as they provide all the basic software that a regular user will need. This includes a web browser (firefox), an email client/address book (Evolution), Image editor (GIMP), Office Suite (Open Office), Audio/Video playback software. In addition to the basic software, Dream Studio also provides a sufficient amount of multimedia and Graphic software to meet its design goals. The software catalog of Dream Studio is not as comprehensive as other distributions with similar design goals (Ubuntu Studio, ArtisX), this was done to keep the the distribution light as it already provides users with all types of software that they might need. Rather than having redundant software offering the same core services, Dream Studio opted to provide the bare minimum upon installation and provide users the option to install additional software as required.</p>
  <li>Select the option &ldquo;Apply&rdquo; from the toolbar at the top.</li>
<h2><strong>Major package versions </strong></h2>
</ol>
<h2>Software Catalog</h2>
<p>Dream Studio has 2141 packages installed upon the distribution's installation. These packages are more than enough for regular users, as they provide all the basic software that a regular user will need. This includes a web browser (Firefox), an email client/address book (Evolution), Image editor (GIMP), Office Suite (Open Office), Audio/Video playback software. In addition to the basic software, Dream Studio also provides a sufficient amount of multimedia and Graphic software to meet its design goals. The software catalog of Dream Studio is not as comprehensive as other distributions with similar design goals (Ubuntu Studio, ArtistX), this was done to keep the distribution light as it already provides users with all types of software that they might need. Rather than having redundant software offering the same core services, Dream Studio opted to provide the bare minimum upon installation and provide users the option to install additional software as required.</p>
<h1><strong>Major package versions </strong></h1>
<table border="1" cellspacing="2" cellpadding="2" style="border:0px solid #003" width="700px">
<table border="1" cellspacing="2" cellpadding="2" style="border:0px solid #003" width="700px">
  <tr>
<tr>
    <th width="213" valign="top" style="background-color:#003;color:#FFF">Package Name</th>
  <th width="213" valign="top" style="background-color:#003;color:#FFF">Package Name</th>
    <th width="213" valign="top" style="background-color:#003;color:#FFF">Version</th>
  <th width="213" valign="top" style="background-color:#003;color:#FFF">Version</th>
    <th width="213" valign="top" style="background-color:#003;color:#FFF">Upstream source</th>
  <th width="213" valign="top" style="background-color:#003;color:#FFF">Upstream source</th>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>linux-image-3.0.0-9-lowlatency</li>
  <li>linux-image-3.0.0-9-lowlatency</li>
      <li>linux-lowlatency </li>
  <li>linux-lowlatency </li>
    </ul>
  </ul>
      <p>&nbsp;</p></td>
  <p>&nbsp;</p></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>3.0.0-9.13ppa1~natty1</li>
  <li>3.0.0-9.13ppa1~natty1</li>
      <li>3.0.0.9.10ppa1~natty1</li>
  <li>3.0.0.9.10ppa1~natty1</li>
    </ul></td>
  </ul></td>
    <td width="213" valign="top">[http://www.kernel.org/ http://www.kernel.org/]</td>
  <td width="213" valign="top">[http://www.kernel.org/ http://www.kernel.org/]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Libc6</td>
  <td width="213" valign="top">Libc6</td>
    <td width="213" valign="top">2.13-0ubuntu13</td>
  <td width="213" valign="top">2.13-0ubuntu13</td>
    <td width="213" valign="top">[http://www.eglibc.org/home http://www.eglibc.org/home]</td>
  <td width="213" valign="top">[http://www.eglibc.org/home http://www.eglibc.org/home]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">xserver-xorg-video-qxl</td>
  <td width="213" valign="top">xserver-xorg-video-qxl</td>
    <td width="213" valign="top">0.0.12-1ubuntu4</td>
  <td width="213" valign="top">0.0.12-1ubuntu4</td>
    <td width="213" valign="top">[http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git]</td>
  <td width="213" valign="top">[http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>gtkdialog and gtk2-engines-pixbuf</li>
  <li>gtkdialog and gtk2-engines-pixbuf</li>
      <li>libqt4-core </li>
  <li>libqt4-core </li>
      <li>tk8.5: 8.5.9-2</li>
  <li>tk8.5: 8.5.9-2</li>
    </ul></td>
  </ul></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>2:0.7.20-4 and 2.24.4-0ubuntu2</li>
  <li>2:0.7.20-4 and 2.24.4-0ubuntu2</li>
      <li>4:4.7.2-0ubuntu6.2</li>
  <li>4:4.7.2-0ubuntu6.2</li>
      <li>8.5.9-2</li>
  <li>8.5.9-2</li>
    </ul></td>
  </ul></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>[http://packages.ubuntu.com/source/natty/gtk+2.0 http://www.gtk.org/ ]</li>
  <li>[http://packages.ubuntu.com/source/natty/gtk+2.0 http://www.gtk.org/ ]</li>
      <li> [http://www.qtsoftware.de/oxShop/ http://www.qtsoftware.de/oxShop/]</li>
  <li> [http://www.qtsoftware.de/oxShop/ http://www.qtsoftware.de/oxShop/]</li>
      <li> [http://www.tcl.tk/ http://www.tcl.tk/]</li>
  <li> [http://www.tcl.tk/ http://www.tcl.tk/]</li>
    </ul></td>
  </ul></td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Shells:
  <td width="213" valign="top">Shells:
      <ul>
  <ul>
        <li>Bash</li>
    <li>Bash</li>
        <li>Dash</li>
    <li>Dash</li>
        <li>Mono-csharp-shell</li>
    <li>Mono-csharp-shell</li>
      </ul></td>
  </ul></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>4.2-0ubuntu3</li>
  <li>4.2-0ubuntu3</li>
      <li>0.5.5.1-7.2ubuntu1</li>
  <li>0.5.5.1-7.2ubuntu1</li>
      <li>2.6.7-5ubuntu3</li>
  <li>2.6.7-5ubuntu3</li>
    </ul>
  </ul>
  </td>
  </td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>ftp://ftp.gnu.org/pub/gnu/bash</li>
  <li>ftp://ftp.gnu.org/pub/gnu/bash</li>
      <li> [http://gondor.apana.org.au/~herbert/dash/files/ http://gondor.apana.org.au/~herbert/dash/ ]</li>
  <li> [http://gondor.apana.org.au/~herbert/dash/files/ http://gondor.apana.org.au/~herbert/dash/ ]</li>
      <li> [http://www.go-mono.com/mono-downloads/download.html http://www.go-mono.com/mono-downloads/download.html]</li>
  <li> [http://www.go-mono.com/mono-downloads/download.html http://www.go-mono.com/mono-downloads/download.html]</li>
    </ul></td>
  </ul></td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Busybox-static</td>
  <td width="213" valign="top">Busybox-static</td>
    <td width="213" valign="top">1:1.17.1-10ubuntu1</td>
  <td width="213" valign="top">1:1.17.1-10ubuntu1</td>
    <td width="213" valign="top">[http://busybox.net/downloads/ http://busybox.net/downloads/]</td>
  <td width="213" valign="top">[http://busybox.net/downloads/ http://busybox.net/downloads/]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Software packaging (rpm, dpkg, etc.)
  <td width="213" valign="top">Software packaging (rpm, dpkg, etc.)
      <ul>
  <ul>
        <li>dpkg</li>
    <li>dpkg</li>
        <li>aptitude</li>
    <li>aptitude</li>
        <li>apt</li>
    <li>apt</li>
        <li>synaptic</li>
    <li>synaptic</li>
        <li>software-center</li>
    <li>software-center</li>
      </ul></td>
  </ul></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>1.16.0~ubuntu7</li>
  <li>1.16.0~ubuntu7</li>
      <li>0.6.3-3.2ubuntu1</li>
  <li>0.6.3-3.2ubuntu1</li>
      <li>0.8.13.2ubuntu4.1</li>
  <li>0.8.13.2ubuntu4.1</li>
      <li>0.75.1lubuntu2</li>
  <li>0.75.1lubuntu2</li>
      <li>4.0.4</li>
  <li>4.0.4</li>
    </ul></td>
  </ul></td>
    <td width="213" valign="top"><ul>
  <td width="213" valign="top"><ul>
      <li>http://wiki.debian.org/Teams/Dpkg</li>
  <li>http://wiki.debian.org/Teams/Dpkg</li>
      <li>[http://packages.debian.org/squeeze/aptitude http://packages.debian.org/squeeze/aptitude]</li>
  <li>[http://packages.debian.org/squeeze/aptitude http://packages.debian.org/squeeze/aptitude]</li>
      <li> [http://anonscm.debian.org/loggerhead/apt/apt/debian-squeeze/files http://anonscm.debian.org/loggerhead/apt/apt/debian-squeeze/files]</li>
  <li> [http://anonscm.debian.org/loggerhead/apt/apt/debian-squeeze/files http://anonscm.debian.org/loggerhead/apt/apt/debian-squeeze/files]</li>
      <li> [http://download.savannah.gnu.org/releases/synaptic/ https://launchpad.net/ubuntu/+source/synaptic ]</li>
  <li> [http://download.savannah.gnu.org/releases/synaptic/ https://launchpad.net/ubuntu/+source/synaptic ]</li>
      <li> [http://packages.ubuntu.com/natty/gnome/software-center http://packages.ubuntu.com/natty/gnome/software-center]</li>
  <li> [http://packages.ubuntu.com/natty/gnome/software-center http://packages.ubuntu.com/natty/gnome/software-center]</li>
    </ul></td>
  </ul></td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Firefox</td>
  <td width="213" valign="top">Firefox</td>
    <td width="213" valign="top">6.0+build1+nobinonly-0ubuntu0.11.04.1</td>
  <td width="213" valign="top">6.0+build1+nobinonly-0ubuntu0.11.04.1</td>
    <td width="213" valign="top">[http://releases.mozilla.org/pub/mozilla.org/firefox/releases/ http://releases.mozilla.org/pub/mozilla.org/firefox/releases/]</td>
  <td width="213" valign="top">[http://releases.mozilla.org/pub/mozilla.org/firefox/releases/ http://releases.mozilla.org/pub/mozilla.org/firefox/releases/]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Evolution</td>
  <td width="213" valign="top">Evolution</td>
    <td width="213" valign="top">2.32.2-0ubuntu7</td>
  <td width="213" valign="top">2.32.2-0ubuntu7</td>
    <td width="213" valign="top">[http://projects.gnome.org/evolution/ http://projects.gnome.org/evolution/]</td>
  <td width="213" valign="top">[http://projects.gnome.org/evolution/ http://projects.gnome.org/evolution/]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Inkscape</td>
  <td width="213" valign="top">Inkscape</td>
    <td width="213" valign="top">0.48.1-2ubuntu2</td>
  <td width="213" valign="top">0.48.1-2ubuntu2</td>
    <td width="213" valign="top">[http://inkscape.org/ http://inkscape.org/]</td>
  <td width="213" valign="top">[http://inkscape.org http://inkscape.org]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Gimp</td>
  <td width="213" valign="top">Gimp</td>
    <td width="213" valign="top">2.6.11-1ubuntu6.1</td>
  <td width="213" valign="top">2.6.11-1ubuntu6.1</td>
    <td width="213" valign="top">[http://www.gimp.org/ http://www.gimp.org/]</td>
  <td width="213" valign="top">[http://www.gimp.org http://www.gimp.org]</td>
  </tr>
</tr>
  <tr>
<tr>
    <td width="213" valign="top">Imagemagick</td>
  <td width="213" valign="top">Imagemagick</td>
    <td width="213" valign="top">7:6.6.2.6-1ubuntu4</td>
  <td width="213" valign="top">7:6.6.2.6-1ubuntu4</td>
    <td width="213" valign="top">[http://www.imagemagick.org/script/download.php http://www.imagemagick.org/script/download.php]</td>
  <td width="213" valign="top">[http://www.imagemagick.org/script/download.php http://www.imagemagick.org/script/download.php]</td>
  </tr>
</tr>
<tr>
  <td valign="top">Agave</td>
  <td valign="top">0.4.7-1ubuntu2</td>
  <td valign="top">[http://home.gna.org/colorscheme http://home.gna.org/colorscheme]</td>
</tr>
<tr>
  <td valign="top">Blender</td>
  <td valign="top">2.59-1ubuntu1~ppa1</td>
  <td valign="top">[http://www.blender.org http://www.blender.org]</td>
</tr>
<tr>
  <td valign="top">Hugin Panorama Creator</td>
  <td valign="top">2010.4.0+dfsg-1</td>
  <td valign="top">[http://hugin.sourceforge.net http://hugin.sourceforge.net]</td>
</tr>
<tr>
  <td valign="top">Synfig Studio</td>
  <td valign="top">0.63.00-20110605.master.8</td>
  <td valign="top">[http://www.synfig.org/cms http://www.synfig.org/cms]</td>
</tr>
<tr>
  <td valign="top">Stopmotion</td>
  <td valign="top">0.6.2-1.1ubuntu1</td>
  <td valign="top">[http://stopmotion.bjoernen.com http://stopmotion.bjoernen.com]</td>
</tr>
<tr>
  <td valign="top">Scribus</td>
  <td valign="top">1.4.0.dfsg~rc2-1</td>
  <td valign="top">[http://www.scribus.net/canvas/Scribus http://www.scribus.net/canvas/Scribus]</td>
</tr>
<tr>
  <td valign="top">KompoZer</td>
  <td valign="top">1:0.8~b3.dfsg.1-0.1</td>
  <td valign="top">[http://kompozer.net http://kompozer.net]</td>
</tr>
<tr>
  <td valign="top">Cinelerra</td>
  <td valign="top">1:2.1.5-0.16~ppa1~natty5</td>
  <td valign="top">[http://cinelerra.org http://cinelerra.org]</td>
</tr>
<tr>
  <td valign="top">Celtx</td>
  <td valign="top">2.0.1-1ubuntu1</td>
  <td valign="top">[http://celtx.com http://celtx.com]</td>
</tr>
<tr>
  <td valign="top">Linux MultiMedia Studio</td>
  <td valign="top">0.4.12-0ubuntu1+fixed1~natty1</td>
  <td valign="top">[http://lmms.sourceforge.net http://lmms.sourceforge.net]</td>
</tr>
</table>
</table>
<h3>Package Information and  Comparisons</h3>
<h2>Package Information and Comparisons</h2>
<h3>Agave</h3>
<p>Agave is a very simple program for the GNOME desktop that allows users to generate a variety of color schemes from a single starting color. This is very useful for designing graphics or webpages. The latest stable release of Agave is 0.4.4 and it was released on January 14, 2008. Dream Studio is using the latest version of this package. This package has been modified by Ubuntu to fix small bugs and has not been modified by Dream Studio. Agave is included in Dream Studio to allow users to create color schemes for graphics, webpages, animations, videos etc.</p>
<h3>Blender</h3>
<p>Blender is an integrated 3D suite for modelling, animation, rendering, post-production, interactive creation and playback (games). The latest stable release of Blender is 2.61 and it was released on December 14th 2011. The version  of Blender installed in Dream Studio (2.59) is two versions older than the latest stable release. This package has not been modified  by Dream Studio.  Blender is included in Dream Studio to allow users  to create animated films, visual effects, interactive 3D applications and video games.</p>
<h3>Hugin Panorama Creator</h3>
<p>Hugin is a panorama photo stitching program. Stitching is accomplished by using several overlapping photos taken from the same location, and using control points to align and transform the photos so that they can be blended together to form a larger image. Hugin allows for the easy creation of control points between two images, optimization of the image transforms, and much more. The latest stable release of Hugin Panorama Creator is 2011.4.0 and it was released on December 2011.The version of Hugin installed in Dream Studio (2010.4.0) is three versions older than the latest stable release. This package has not been modified by Dream Studio. Hugin is included in Dream Studio to allow users to create stunning graphics.</p>
<h3>Synfig Studio</h3>
<p>Synfig Studio is a powerful, industrial-strength vector-based 2D animation program, designed from the ground-up for producing feature-film quality animation with fewer people and resources. It eliminates the need for tweening, preventing the need to hand-draw each frame. Synfig features spatial and temporal resolution independence (sharp and smooth at any resolution or frame rate), high dynamic range images, and a flexible plugin system. The latest stable release of Synfig Studio is synfigstudio-0.63.03 and it was released on December 15 2011. The version of Synfig Studio installed in Dream Studio (0.63.00) is three versions older than the latest stable release. This package has not been modified by Dream Studio. Synfig Studio is included in Dream Studio to allow users to create professional quality 2D animations.</p>
<h3>Stopmotion</h3>
<p>Stopmotion is a program for creating stop-motion animation movies. Users can create stop-motions from pictures imported from a camera or the hard drive, add sound effects and export the animation to different video formats such as MPEG or AVI. The latest stable release of Stopmotion is  stopmotion-0.6.2 and it was released on July 25 2008.  Dream Studio is using the latest version of this package and it has not been modified by Dream Studio. Stopmotion is included in Dream Studio to allow users to create stop-motion animations.</p>
<p><strong><em>Note:</em> </strong>Stop motion is an animation technique to make a physically manipulated object appear to move on its own. The program Stopmotion allows users to use this technique to create 2D animations.</p>
<h3>Scribus</h3>
<p>Scribus is a desktop page layout program with the aim of producing commercial grade output in PDF and Postscript, primarily, though not exclusively for Linux. It can be used to design brochures, newspapers, magazines, newsletters, posters and technical documentation. Scribus has sophisticated page layout features like precision placing and rotating of text and/or images on a page, manual kerning of type, bezier curves polygons, precision placement of objects, layering with RGB and CMYK custom colors. The Scribus document file format is XML-based. Unlike proprietary binary file formats, even damaged documents, can be recovered with a simple text editor. A development version of Scribus (1.4.0.dfsg~rc2-1.1 ) is installed in Dream Studio and it was released on April 1 2011. This package has not been modified by Dream Studio. Scribus is included in Dream Studio to allow users to create stunning and professional quality brochures, newspapers, magazines etc.</p>
<h3>KompoZer</h3>
<p>KompoZer is a complete Web Authoring System that combines web file management and easy-to-use WYSIWYG (What You See Is What You Get) web page editing. KompoZer is designed to be extremely easy to use, making it ideal for non-technical computer users who want to create an attractive, professional-looking web site without needing to know HTML or web coding. It provides similar functionality as Adobe Dreamweaver or Apple iWeb (commercial software). A development version of KompoZer (0.8b3) is installed in Dream Studio and it was  released on February 28 2010. This package has not been modified by Dream Studio. KompoZer is included in Dream Studio to allow users to create professional quality websites.</p>
<h3>Cinelerra</h3>
<p>Cinelerra is a complete audio and video authoring program that is comparable to leading solutions like Apple's Final Cut Pro, Sony Vegas, or Adobe Premiere. Cinelerra contains more than 30 visual effects like motion tracking and chroma key, and supports both keyframing and nested sequences.  It understands a lot of multimedia formats (QuickTime, AVI and OGG) and audio/video compression codecs (DIVX, XVID, MPEG1/2 etc.). The latest stable release of Cinelerra is 2.2 and it was released on November 21 2011.  The version of Cinelerra installed in Dream Studio (2.1.5) is one version older than the latest stable release. This package has not been modified by Dream Studio. Cinelerra is included in Dream Studio to allow users to create professional  quality video and audio compositions.</p>
<h3>Celtx</h3>
<p>Celtx is the world's first all-in-one media pre-production and screenwriting program. It has everything a user needs to take their story from concept to production. Celtx replaces 'paper, pen &amp; binder' pre-production with a digital approach that's more complete, simpler to work with, and easier to share. Celtx helps users pre-produce all types of media - film, video, documentary, theater, machinima, comics, advertising, video games, music video, radio, podcasts, video casts, and however else they choose to tell their story. The latest stable release of Celtx is 2.9.1 and it was released on April 14 2011.  The version of Celtx installed in Dream Studio (2.0.1) is four versions older than the latest stable release. This package has not been modified by Dream Studio. Celtx is included in Dream Studio to allow users to pre-produce all types of media (film, video, documentary etc.).</p>
<h3><strong>Linux MultiMedia Studio</strong> (LMMS)</h3>
<p>LMMS is a program that allows users to produce music with their computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. Users can have fun with their MIDI-keyboard and much more; all in a user-friendly and modern interface. The latest stable release of LMMS is 0.4.12 and it was released on July 2 2011.  Dream Studio is using the latest version of this package and it has not been modified by Dream Studio. LMMS is included in Dream Studio to allow users to produce music using their computer.</p>
<h1>Initialization </h1>
<p>Dream Studio uses the same processes as Ubuntu to initialize the system. Specifically it uses a combination of System V init scripts and Upstart jobs to fully initialize the system. Attached is a [[List of Processes Running in Dream Studio|ps listing]] of all the processes that are running in Dream Studio when it boots up.</p>
<p>The boot process starts by loading the kernel and its associated modules. After the kernel is finished loading, it runs the init process located in &ldquo;/sbin/init&rdquo;. Init is the parent process of all other processes running on the system.</p>
<p>Next, Upstart emits a &ldquo;start-up&rdquo; event and init runs the jobs located in &ldquo;/etc/init&rdquo; that specify the &ldquo;start-up&rdquo; event in their &ldquo;start on&rdquo; condition. This includes the mountall job which mounts the disks and file systems.</p>
<p>Once the disks and file systems have been mounted, the message bus daemon (dbus-daemon) starts and the scripts located in &ldquo;/etc/rcS.d&rdquo; are executed. These scripts start the dynamic device management service (udev), load the AppArmor security module and X11-common (the file system infrastructure required for further installation of the X Window System).</p>
<p>Next, the rsyslog daemon (a system utility that provides support for message logging) is started, followed by processes to initialize network services (NetworkManager, avahi-daemon etc.) on the system. After this, the init process switches the system to run-level 2, which is the default run level set in the file &ldquo;/etc/event.d/rc-default&rdquo;.</p>
<p>Upon entering run level 2, the system starts the following processes:</p>
<ul>
<li><strong>cron and atd:</strong> Daemons to execute scheduled commands on the system.</li>
<li><strong>acpid:</strong> Daemon that delivers ACPI (Advanced Configuration and Power Interface) events. It listens on a file (/proc/acpi/event) and when an event occurs, executes programs to handle the event. The programs it executes are configured through a set of configuration files, which can be dropped into place by packages or by the admin.  </li>
<li><strong>irqbalance:</strong> Distributes hardware interrupts across processors on a multiprocessor system.</li>
<li><strong>cupsd:</strong> Scheduler for CUPS (Common Unix Printing System), a modular printing system for Unix which allows a computer to act as a print server. It implements a printing system based upon the Internet Printing Protocol, version 2.1. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer. This process runs in the foreground of the system. </li>
</ul>
<p>The system also executes scripts located in &ldquo;/etc/rc2.d&rdquo;, when it enters run level 2. These scripts run updates for Dream Studio and start the following processes:</p>
<ul>
<ul>
  <li>
<li><strong>spacenavd:</strong> User-space daemon that provides drivers for 3D input devices.</li>
    <p><strong>bash: </strong>The latest stable release of bash is 4.2-0ubuntu3  and it was released in Feburary 2011, therefore bash is using the latest stable  release. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore bash has not been modified by the  author. Bash is a default shell that comes installed with Ubuntu and that is  why it was included in this distribution.    </p>
  <li><strong>winbind:</strong> Name Service Switch daemon for resolving names from NT servers.</li>
  </li>
  <li><strong>pulseaudio:</strong> Networked low-latency sound server for Linux.</li>
  <li>
  <li><strong>timidity:</strong> Software synthesizer that can play MIDI (Musical Instrument Digital Interface) files without a hardware synthesizer.</li>
    <p><strong>firefox:</strong> The latest stable release of firefox is 8.0  and it was released in November 2011, the version installed in the distribution is two versions old. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore firefox has not been modified by the  author. Firefox is the default browser that comes installed with Ubuntu and that is why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>dpkg:</strong> The latest stable release of dpkg is  1.16.1.1    and it was released in April 2011, therefore bash is using the latest stable  release. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore dpkg has not been modified by the  author. dpkg is the default package management utikity that comes installed with Ubuntu and that is  why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>libc6:</strong> The latest stable release of libc6 is 2.14.1  and it was released in October 2011, the version installed in the distribution is one version old. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore libc6 has not been modified by the  author. libc6 is the glibc library that comes installed with Ubuntu and that is why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>apt:</strong> The latest stable release of apt is 0.8.10.3+squeeze1 and it was released in September 2011, the version installed in the distribution is two versions newer than the most stable release (the new version mostly consisted of security updates). As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore apt has not been modified by the  author. apt is a front-end interface for dkpg that comes installed with Ubuntu and that is  why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>synaptic:</strong> The latest stable release of synaptic is 0.75.1ubuntu2  and it was released in April 2011, therefore synaptic is using the latest stable release. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore synaptic has not been modified by the  author. synaptic is an advanced GUI front-end for APT that comes installed with Ubuntu and that is  why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>software-center:</strong> The latest stable release of software-center is 4.0.5  and it was released in October 2011, the version installed in the distribution is one version old. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore software center has not been modified by the  author. software-center is an advanced GUI front-end for APT  that comes installed with Ubuntu and that is  why it was included in this distribution. </p>
  </li>
  <li>
    <p><strong>evolution:</strong> The latest stable release of evolution is 3.2.2  and it was released in November 2011, the version installed in the distribution is one version old. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore evolution has not been modified by the  author. Evolutions is the default mail client that comes installed with Ubuntu and that is  why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>linux  kernel:</strong> The latest stable release of the linux kernel (3.0.0-9.13ppa1~natty1) is  3.1.1 and it was released in November 2011, the version installed in the distribution is one version old. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore kernel has not been modified by the  author. kernel is the core of Ubuntu and that is  why it was included in this distribution.</p>
  </li>
  <li>
    <p><strong>dash:</strong>  The latest stable release of dash is 0.5.5.1-7.2ubuntu1  and it was released in November 2010, therefore dash is using the latest stable  release. As stated by Dream Studio&rsquo;s author, Dream Studio is using the main  packages of Ubuntu without modification; this was done to allow seamless  updates to the underlying software. Therefore dash has not been modified by the  author. Dash is a default shell that comes installed with Ubuntu and that is  why it was included in this distribution.</p>
  </li>
</ul>
</ul>
<h2>Initialization </h2>
<p>Next, the system starts the processes getty and gdm-binary. The process getty opens and initializes a tty line, reads a log-in name and invokes the login process to log a user into the computer. The process gdm-binary starts the GNOME Display Manager (GDM) which is a graphical log-in program. Once the user is logged into the computer, GDM starts a user session. This will start processes such as metacity, nautilus and gvfs. It will also load desktop and application settings for the user from &ldquo;/usr/lib/d-conf/dconf-service&rdquo; and &ldquo;/usr/lib/libgconf2-4/gconfd-2&rdquo; respectively. Once the desktop is loaded, the system starts the process update-notifier, which scans the system for installed software and displays a list of updates.</p>
<p>Dream Studio uses the same  processes as Ubuntu to initialize the system. Specifically it uses a combination of System V init scripts and Upstart jobs to fully initialize the system. Since Upstart runs program in parallel based on events, it is very difficult to identify which programs are run first. By looking at the /etc/rcS script and the boot log files (/var/log/boot.log), it seems that the following processes are run during system initialization: </p>
<p>The information in this section was found by reading how upstart initializes Ubuntu, in the [http://upstart.ubuntu.com/cookbook/#system-phases Upstart Intro, Cookbook and Best Practises]. Next, I looked through the upstart jobs (.conf files) located in the directory &ldquo;/etc/init.d&rdquo; to find out how certain processes were started by the system. I also looked through the &ldquo;/etc/rcS.d&rdquo; and &ldquo;/etc/rc2.d&rdquo; directories to see how the old System V init scripts started some processes on the system. The description of all running processes was taken from the [http://linux.die.net/man/ Linux man pages].</p>
<ol>
  <li>Network Services</li>
  <li>AppArmor profiles</li>
  <li>ACPI daemon</li>
  <li>Cron</li>
  <li>Graphics Device</li>
</ol>
<p>This information was found in the scripts and conf files located in the init.d and init folders under /etc.</p>

Latest revision as of 23:19, 22 December 2011

Background

Dream Studio Desktop.

Dream Studio is an Ubuntu based distribution that provides users tools to create stunning graphics, music, videos and websites. It is developed and maintained by Dick MacInnis, who originally designed the distribution for his work. Dream Studio can be installed to the hard drive, run from a DVD or USB flash drive. For ease of system updates and maintenance, Dream Studio does not modify the default packages provided by Ubuntu. The primary target audience for this distribution are designers, musicians or anyone developing multimedia (video, audio etc.) or design products.

Software Packaging

Dream Studio uses Ubuntu’s package management utilities to package and distribute software. Software is distributed in package files with a .deb extension to software repositories, and Dream Studio can download and install the software from these software repositories using a package management utility. Since Ubuntu uses Dobbin’s package management utilities, the base package management utility of Dream Studio is dpkg. Dream Studio has the following package management utilities:

  • dpkg: dpkg is the base software of Dream Studio’s package management system. It is a low-level package management utility that can be used to create, install and remove packages. dpkg cannot get packages from remote repositories or manage complex package dependencies, therefore it is recommended that a higher level utility such as APT be used to install, update and remove packages in Dream Studio.

  • APT (Advanced Packaging Tool): APT is a command line based front-end for dpkg. It allows users to install, update and remove packages on the system and, unlike dkpg it can download packages from remote repositories and manage package dependencies. APT can be accessed in Dream Studio by using the command line utility apt-get.

  • Aptitude: Aptitude is a command line text-based menu front-end for APT. It can be used to install, update and remove packages on the system. Aptitude can be accessed in Dream Studio by using the command line utility aptitude.

  • Ubuntu Software Center: Ubuntu Software Center is the graphical (GUI) front-end for APT and can be used to browse, install, update and remove packages. It is the most simple application in Dream Studio to install packages but it can ignore certain packages (i.e. packages that don’t contain programs), and therefore the Synaptic Package Manager should be used to install complex packages or packages that cannot be installed using the Ubuntu Software Center.

  • Synaptic Package Manager: The Synaptic Package Manager provides an advanced GUI front-end for APT. It can be used to browse, install, update and remove any package on the system. It is similar to the Ubuntu Software Center, but provides more information and complete control over the packages installed on the system.

Listing Installed Software

A listing of all the software installed in Dream Studio can be obtained by using the package management utilities below:

  • dpkg: A list of installed packages (software) can be obtained by using the following dpkg command in the terminal:
    $ dpkg –l
  • Aptitude: The following steps describe how to obtain a list of installed software using Aptitude:
    1. Type the command "aptitude" in the terminal:
    2. Select the option “Installed Packages” from the menu.
  • Ubuntu Software Center: The following steps describe how to obtain a list of installed software using Ubuntu Software Center:
    1. Select “Ubuntu Software Center” from the Applications menu in the top menu bar.
    2. Select the option “Installed Software” from the left pane in Ubuntu Software Center. List of installed software will be displayed in the right pane.
  • Synaptic Package Manager: The following steps describe how to obtain a list of installed software using the Synaptic Package Manager:
    1. Open the Synaptic Package Manager by selecting it from the menu System > Administration in the top menu bar.
    2. Select the “Status” button from the Synaptic Packager Manager.
    3. Select “Installed” from the menu located at the top of the buttons.

Adding and Removing Packages

Packages can be installed or removed in Dream Studio by using any of the package management utilities listed below: (note: dpkg is excluded from this list because it is not recommended to directly install/remove packages using this utility)

APT

Search for a package by typing the following command in the terminal:

$ apt-cache search <search term>

Example: To search for a graphics program/package type the following command in the terminal:

$ apt-cache search <graphics program>

Select the package name from the search results and then use the commands below to install or remove the package if is already installed.

Installing a package: Type the following command in the terminal to install a given package:

$ apt-get install <package_name>

Example: Type the following command in the terminal to install the package named "tux-math"

$ apt-get install tux-math 

Removing a package: Type the following command in the terminal to remove a given package:

$ apt-get remove <package_name>

Example: Type the following command in the terminal to remove the package named "tux-math":

$ apt-get remove tux-math

The following command can be used to remove a package and its configuration files:

$ apt-get purge <package_name>

Aptitude

Open Aptitude by typing "aptitude" in the terminal:

Installing a package: The steps below describe how to select and install a package using Aptitude:

  1. Select the “Not Installed Packages” from the menu at the top.
  2. Select a category from the displayed list.
  3. Select a package repository from the displayed list.
  4. Browse the displayed list of available packages and mark a package to be installed by pressing the “+” key.
  5. Press the “g” key twice to install the selected package.

Removing a package: The steps below describe how to select and remove a package using Aptitude:

  1. Select the “Installed Packages” from the menu at the top.
  2. Select a category from the displayed list.
  3. Select a package repository from the displayed list.
  4.  Browse the displayed list of available packages and mark a package to be removed by pressing the “-” key.
  5. Press the “g” key twice to remove the selected package

Ubuntu Software Center

Open Ubuntu Software Center by selecting it from the menu at the top: Applications > Ubuntu Software Center

Installing a package: The steps below describe how to install a package using the Ubuntu Software Center:

  1. Find the package to be installed by selecting it from the categories listed under the ‘Get Software” menu in the left-pane or searching for it using the “Search” box in the top right corner.
  2. Select the package to be installed from the results displayed in the right-pane.
  3. Select the “Install” option to install the selected package.

Removing a package: The steps below describe how to remove a package using the Ubuntu Software Center:

  1. Select the “Installed Software” option from the left-pane.
  2. Select a category from the options displayed under “Installed Software” in the left-pane.
  3. Select the package to be removed from the results displayed in the right pane.
  4. Select the “Remove” option to remove the selected package.

Synaptic Package Manager

Open Synaptic Package Manager by selecting it from the menu at the top: System > Administration > Ubuntu Software Center

Installing a package: The steps below describe how to install a package using the Synaptic Package Manager:

  1. Select the “Status” button from the Synaptic Packager Manager.
  2. Select the “Not Installed” option from the menu located at the top of the buttons.
  3. Select the package to be installed from the list displayed in the right-pane.
  4. Right-click on the package and select the “Mark for Installation” option from the pop-up menu.
  5. Select the “Apply” option from the toolbar at the top.

Removing a package: The steps below describe how to remove a package using the Synaptic Package Manager:

  1. Select the “Status” button from the Synaptic Packager Manager.
  2. Select “Installed” from the menu at the top of the buttons.
  3. Select the package to be removed from the list displayed in the right-pane.
  4. Right-click on the package and select the “Mark for Removal” option from pop-up menu.
  5. Select the option “Apply” from the toolbar at the top.

Software Catalog

Dream Studio has 2141 packages installed upon the distribution's installation. These packages are more than enough for regular users, as they provide all the basic software that a regular user will need. This includes a web browser (Firefox), an email client/address book (Evolution), Image editor (GIMP), Office Suite (Open Office), Audio/Video playback software. In addition to the basic software, Dream Studio also provides a sufficient amount of multimedia and Graphic software to meet its design goals. The software catalog of Dream Studio is not as comprehensive as other distributions with similar design goals (Ubuntu Studio, ArtistX), this was done to keep the distribution light as it already provides users with all types of software that they might need. Rather than having redundant software offering the same core services, Dream Studio opted to provide the bare minimum upon installation and provide users the option to install additional software as required.

Major package versions

Package Name Version Upstream source
  • linux-image-3.0.0-9-lowlatency
  • linux-lowlatency

 

  • 3.0.0-9.13ppa1~natty1
  • 3.0.0.9.10ppa1~natty1
http://www.kernel.org/
Libc6 2.13-0ubuntu13 http://www.eglibc.org/home
xserver-xorg-video-qxl 0.0.12-1ubuntu4 http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git
  • gtkdialog and gtk2-engines-pixbuf
  • libqt4-core
  • tk8.5: 8.5.9-2
  • 2:0.7.20-4 and 2.24.4-0ubuntu2
  • 4:4.7.2-0ubuntu6.2
  • 8.5.9-2
Shells:
  • Bash
  • Dash
  • Mono-csharp-shell
  • 4.2-0ubuntu3
  • 0.5.5.1-7.2ubuntu1
  • 2.6.7-5ubuntu3
Busybox-static 1:1.17.1-10ubuntu1 http://busybox.net/downloads/
Software packaging (rpm, dpkg, etc.)
  • dpkg
  • aptitude
  • apt
  • synaptic
  • software-center
  • 1.16.0~ubuntu7
  • 0.6.3-3.2ubuntu1
  • 0.8.13.2ubuntu4.1
  • 0.75.1lubuntu2
  • 4.0.4
Firefox 6.0+build1+nobinonly-0ubuntu0.11.04.1 http://releases.mozilla.org/pub/mozilla.org/firefox/releases/
Evolution 2.32.2-0ubuntu7 http://projects.gnome.org/evolution/
Inkscape 0.48.1-2ubuntu2 http://inkscape.org
Gimp 2.6.11-1ubuntu6.1 http://www.gimp.org
Imagemagick 7:6.6.2.6-1ubuntu4 http://www.imagemagick.org/script/download.php
Agave 0.4.7-1ubuntu2 http://home.gna.org/colorscheme
Blender 2.59-1ubuntu1~ppa1 http://www.blender.org
Hugin Panorama Creator 2010.4.0+dfsg-1 http://hugin.sourceforge.net
Synfig Studio 0.63.00-20110605.master.8 http://www.synfig.org/cms
Stopmotion 0.6.2-1.1ubuntu1 http://stopmotion.bjoernen.com
Scribus 1.4.0.dfsg~rc2-1 http://www.scribus.net/canvas/Scribus
KompoZer 1:0.8~b3.dfsg.1-0.1 http://kompozer.net
Cinelerra 1:2.1.5-0.16~ppa1~natty5 http://cinelerra.org
Celtx 2.0.1-1ubuntu1 http://celtx.com
Linux MultiMedia Studio 0.4.12-0ubuntu1+fixed1~natty1 http://lmms.sourceforge.net

Package Information and Comparisons

Agave

Agave is a very simple program for the GNOME desktop that allows users to generate a variety of color schemes from a single starting color. This is very useful for designing graphics or webpages. The latest stable release of Agave is 0.4.4 and it was released on January 14, 2008. Dream Studio is using the latest version of this package. This package has been modified by Ubuntu to fix small bugs and has not been modified by Dream Studio. Agave is included in Dream Studio to allow users to create color schemes for graphics, webpages, animations, videos etc.

Blender

Blender is an integrated 3D suite for modelling, animation, rendering, post-production, interactive creation and playback (games). The latest stable release of Blender is 2.61 and it was released on December 14th 2011. The version of Blender installed in Dream Studio (2.59) is two versions older than the latest stable release. This package has not been modified by Dream Studio. Blender is included in Dream Studio to allow users to create animated films, visual effects, interactive 3D applications and video games.

Hugin Panorama Creator

Hugin is a panorama photo stitching program. Stitching is accomplished by using several overlapping photos taken from the same location, and using control points to align and transform the photos so that they can be blended together to form a larger image. Hugin allows for the easy creation of control points between two images, optimization of the image transforms, and much more. The latest stable release of Hugin Panorama Creator is 2011.4.0 and it was released on December 2011.The version of Hugin installed in Dream Studio (2010.4.0) is three versions older than the latest stable release. This package has not been modified by Dream Studio. Hugin is included in Dream Studio to allow users to create stunning graphics.

Synfig Studio

Synfig Studio is a powerful, industrial-strength vector-based 2D animation program, designed from the ground-up for producing feature-film quality animation with fewer people and resources. It eliminates the need for tweening, preventing the need to hand-draw each frame. Synfig features spatial and temporal resolution independence (sharp and smooth at any resolution or frame rate), high dynamic range images, and a flexible plugin system. The latest stable release of Synfig Studio is synfigstudio-0.63.03 and it was released on December 15 2011. The version of Synfig Studio installed in Dream Studio (0.63.00) is three versions older than the latest stable release. This package has not been modified by Dream Studio. Synfig Studio is included in Dream Studio to allow users to create professional quality 2D animations.

Stopmotion

Stopmotion is a program for creating stop-motion animation movies. Users can create stop-motions from pictures imported from a camera or the hard drive, add sound effects and export the animation to different video formats such as MPEG or AVI. The latest stable release of Stopmotion is stopmotion-0.6.2 and it was released on July 25 2008. Dream Studio is using the latest version of this package and it has not been modified by Dream Studio. Stopmotion is included in Dream Studio to allow users to create stop-motion animations.

Note: Stop motion is an animation technique to make a physically manipulated object appear to move on its own. The program Stopmotion allows users to use this technique to create 2D animations.

Scribus

Scribus is a desktop page layout program with the aim of producing commercial grade output in PDF and Postscript, primarily, though not exclusively for Linux. It can be used to design brochures, newspapers, magazines, newsletters, posters and technical documentation. Scribus has sophisticated page layout features like precision placing and rotating of text and/or images on a page, manual kerning of type, bezier curves polygons, precision placement of objects, layering with RGB and CMYK custom colors. The Scribus document file format is XML-based. Unlike proprietary binary file formats, even damaged documents, can be recovered with a simple text editor. A development version of Scribus (1.4.0.dfsg~rc2-1.1 ) is installed in Dream Studio and it was released on April 1 2011. This package has not been modified by Dream Studio. Scribus is included in Dream Studio to allow users to create stunning and professional quality brochures, newspapers, magazines etc.

KompoZer

KompoZer is a complete Web Authoring System that combines web file management and easy-to-use WYSIWYG (What You See Is What You Get) web page editing. KompoZer is designed to be extremely easy to use, making it ideal for non-technical computer users who want to create an attractive, professional-looking web site without needing to know HTML or web coding. It provides similar functionality as Adobe Dreamweaver or Apple iWeb (commercial software). A development version of KompoZer (0.8b3) is installed in Dream Studio and it was released on February 28 2010. This package has not been modified by Dream Studio. KompoZer is included in Dream Studio to allow users to create professional quality websites.

Cinelerra

Cinelerra is a complete audio and video authoring program that is comparable to leading solutions like Apple's Final Cut Pro, Sony Vegas, or Adobe Premiere. Cinelerra contains more than 30 visual effects like motion tracking and chroma key, and supports both keyframing and nested sequences. It understands a lot of multimedia formats (QuickTime, AVI and OGG) and audio/video compression codecs (DIVX, XVID, MPEG1/2 etc.). The latest stable release of Cinelerra is 2.2 and it was released on November 21 2011. The version of Cinelerra installed in Dream Studio (2.1.5) is one version older than the latest stable release. This package has not been modified by Dream Studio. Cinelerra is included in Dream Studio to allow users to create professional quality video and audio compositions.

Celtx

Celtx is the world's first all-in-one media pre-production and screenwriting program. It has everything a user needs to take their story from concept to production. Celtx replaces 'paper, pen & binder' pre-production with a digital approach that's more complete, simpler to work with, and easier to share. Celtx helps users pre-produce all types of media - film, video, documentary, theater, machinima, comics, advertising, video games, music video, radio, podcasts, video casts, and however else they choose to tell their story. The latest stable release of Celtx is 2.9.1 and it was released on April 14 2011. The version of Celtx installed in Dream Studio (2.0.1) is four versions older than the latest stable release. This package has not been modified by Dream Studio. Celtx is included in Dream Studio to allow users to pre-produce all types of media (film, video, documentary etc.).

Linux MultiMedia Studio (LMMS)

LMMS is a program that allows users to produce music with their computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. Users can have fun with their MIDI-keyboard and much more; all in a user-friendly and modern interface. The latest stable release of LMMS is 0.4.12 and it was released on July 2 2011. Dream Studio is using the latest version of this package and it has not been modified by Dream Studio. LMMS is included in Dream Studio to allow users to produce music using their computer.

Initialization

Dream Studio uses the same processes as Ubuntu to initialize the system. Specifically it uses a combination of System V init scripts and Upstart jobs to fully initialize the system. Attached is a ps listing of all the processes that are running in Dream Studio when it boots up.

The boot process starts by loading the kernel and its associated modules. After the kernel is finished loading, it runs the init process located in “/sbin/init”. Init is the parent process of all other processes running on the system.

Next, Upstart emits a “start-up” event and init runs the jobs located in “/etc/init” that specify the “start-up” event in their “start on” condition. This includes the mountall job which mounts the disks and file systems.

Once the disks and file systems have been mounted, the message bus daemon (dbus-daemon) starts and the scripts located in “/etc/rcS.d” are executed. These scripts start the dynamic device management service (udev), load the AppArmor security module and X11-common (the file system infrastructure required for further installation of the X Window System).

Next, the rsyslog daemon (a system utility that provides support for message logging) is started, followed by processes to initialize network services (NetworkManager, avahi-daemon etc.) on the system. After this, the init process switches the system to run-level 2, which is the default run level set in the file “/etc/event.d/rc-default”.

Upon entering run level 2, the system starts the following processes:

  • cron and atd: Daemons to execute scheduled commands on the system.
  • acpid: Daemon that delivers ACPI (Advanced Configuration and Power Interface) events. It listens on a file (/proc/acpi/event) and when an event occurs, executes programs to handle the event. The programs it executes are configured through a set of configuration files, which can be dropped into place by packages or by the admin. 
  • irqbalance: Distributes hardware interrupts across processors on a multiprocessor system.
  • cupsd: Scheduler for CUPS (Common Unix Printing System), a modular printing system for Unix which allows a computer to act as a print server. It implements a printing system based upon the Internet Printing Protocol, version 2.1. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer. This process runs in the foreground of the system.

The system also executes scripts located in “/etc/rc2.d”, when it enters run level 2. These scripts run updates for Dream Studio and start the following processes:

  • spacenavd: User-space daemon that provides drivers for 3D input devices.
  • winbind: Name Service Switch daemon for resolving names from NT servers.
  • pulseaudio: Networked low-latency sound server for Linux.
  • timidity: Software synthesizer that can play MIDI (Musical Instrument Digital Interface) files without a hardware synthesizer.

Next, the system starts the processes getty and gdm-binary. The process getty opens and initializes a tty line, reads a log-in name and invokes the login process to log a user into the computer. The process gdm-binary starts the GNOME Display Manager (GDM) which is a graphical log-in program. Once the user is logged into the computer, GDM starts a user session. This will start processes such as metacity, nautilus and gvfs. It will also load desktop and application settings for the user from “/usr/lib/d-conf/dconf-service” and “/usr/lib/libgconf2-4/gconfd-2” respectively. Once the desktop is loaded, the system starts the process update-notifier, which scans the system for installed software and displays a list of updates.

The information in this section was found by reading how upstart initializes Ubuntu, in the Upstart Intro, Cookbook and Best Practises. Next, I looked through the upstart jobs (.conf files) located in the directory “/etc/init.d” to find out how certain processes were started by the system. I also looked through the “/etc/rcS.d” and “/etc/rc2.d” directories to see how the old System V init scripts started some processes on the system. The description of all running processes was taken from the Linux man pages.