COMP 3000 2011 Report: Linux Mangaka One

From Soma-notes
Jump to navigation Jump to search

PART1: User Experience

Background

(Figure 1) Linux Mangaka One logo

Linux Mangaka One is a desktop Linux operating system, based on Ubuntu [Ubuntu version 8.10] and Debian, that is designed to have complete multimedia support and to be user-friendly. [1]

It is based on the CCBYNCND (Creative Commons Attributive No Commercial & No derivative) license which gives users the right to run it on any PC and to share it with their friends for non-commercial purposes. [1]

Approximate Size: This OS takes up about 2GB of hard disk space.

Features

Linux Mangaka One uses a lightweight window manager (LXDE) to reduce its minimum system requirements. [2]

It provides several sets of desktop themes, a large variety of programs for graphic design and multimedia editing, and it can play back high resolution videos.

(Figure 2) Desktop Screen

Goals and Target Audience

Linux Mangaka One is primarily developed for people who enjoy Japanese manga and anime, and also those who need specific software for fansubbing, multimedia editing, and creating 2D graphics [1]. It is designed to be lightweight and fast for multimedia activities.

Who develops it?

Linux Mangaka is developed by AnimeSoft International, a community group that consists of Linux users and fansubbers. [3]

  • Animesoft Teamleader.......William S.
  • Animesoft Manager..........Rafaela V.
  • Animesoft Webadmin.........Keitaro Y.
  • Ai3D Encoder...............Lucas M.
  • Ai3D Editor................Fabrizia R.
  • Ai3D Quality Check.........Maryane H.
  • Mangaka Manager............Klaos L.
  • Mangaka Licensing..........Alexander N.
  • Mangaka Programming........Richard W.
  • Mangaka Design.............Nathalia T.
  • Mangaka Hosting............Mihael P.


How it may be obtained?

Linux Mangaka One may be downloaded from the "Download" link under "Linux Mangaka One" at this website: <http://animesoft.wordpress.com/download/mangaka/>.

Installation/Startup

Virtualization Setup

Linux Mangaka One was installed on an Oracle VM VirtualBox virtual machine, set to have 8 GB of hard disk space and 1 GB of RAM, under a Windows host OS.

Installation

Boot the machine while the CD is in the CD tray, and Mangaka One will start running (assuming that your machine is set to check the CD drive for bootable media before it checks the hard drive, if another OS is installed on the hard drive). This allows you to try the OS before actually installing it. To install the OS, open the "Desktop" folder found on the desktop, and click on the "Install" icon in that folder. Enter "one" as the password when you are prompted for a password to perform administrative tasks. An installation wizard appears and installs Mangaka One after prompting for some standard installation parameters (such as language, username and password). The installation took about one hour.

(Figure 3) Boot-up screen
(Figure 4) Username/Password Screen



(Figure 5) Linux Mangaka One installer
(Figure 6) Password to perform administrative task screen
(Figure 7) Installation wizard screen

Problems Encountered

The only problems encountered during installation were finding the installation wizard, and finding the password for performing administrative tasks. Both of these problems were solved by reading this website: http://animesoft.wordpress.com/download/help/

Basic Operation

Overview

right
(Figure 8)Linux Mangaka One's User Inteface

The layout of Linux Mangaka One's user interface is very similar to the layout of Microsoft Windows. The menu at the left of the bottom panel contains list of applications and logout/shutdown options, which is similar to Window's "Start" menu. The bottom panel also has a list of open folders and applications in the center, and the time and volume control to the right, which is also similar to the layout of Window's taskbar.


Linux Mangaka One does not have a "recycling bin", so when you "delete" a file, it it truly deleted immediately, and it cannot be recovered. [4]

Graphics

DiscWrapper

DiscWrapper is used to design covers for the homemade disks. It allows you to edit the front, back and inside of the CD case, edit the image on the disk itself, and it provides templates for each of these. Trying to fit an image within the given cover template is difficult, since it often goes outside of template or leaves gaps and you can only resize image from the corners of image.

(Figure 9) Screenshot of DiskWrapper

GIMP Image Editor

GIMP Image Editor is graphics editor similar to Photoshop. It includes the standard brushes, text editor, the heal tool (It let users make automatic fixes to image such as bad brush stroke.), clone tool (It let users copy and paste a portion of an image over another.) and colorization tools such as color balance, hue-saturation, colorize, brightness-contrast, threshold, posterize and desaturate that allow users to retouch photos. With GIMP Image editor, users can blur image, sharpen image, distort the image, add light or shadow effects to photo by using lens glare, rotate image, slice off portions of photo by using shear, erode image, change image to look like cartoon, oil painting or cubism, add border, create animate images in many format such as GIF and MPEG through Animation Plug-in.

(Figure 10) Screenshot of GIMP Image Editor

Inkscape Vector Graphics Editor

Inkscape Vector Graphics Editor is a vector graphic editor that uses the W3C standard Scalable Vector Graphics (SVG) file format. It includes many tools for drawing such, as a pencil tool, a calligraphy tool, a paint bucket tool a 3D box tool, and a gradient tool. It also has a Bezier Curves tool which allows users to draw any shape, but it takes time to learn. At first, trying to make a sharp angle (for example, to draw a square) instead of having the line continue to curve is frustrating. However, if you press return after placing node of the Bezier curve and then click on that node, it will allow you to continue drawing the path without having line curve. Other problems are that it does not allow user to change or choose colors, and it is very slow at drawing the path and slow at undoing.

(Figure 11) Screenshot of Inkscape Vector Graphics Editor

Music

Audacity

Audacity is an application for recording, mixing and editing sound tracks. It allows you to remove noise from a track and apply various effects to the sound tracks, such as volume changes, pitch changes, tempo changes, echoes, fading in and fading out. It also allows you to record new tracks on top on existing tracks while they are being played back. Learning to use Audacity is very easy.

Note: In our virtualization setup, we have not been able to get a microphone to work under this guest OS or any others.

(Figure 12) Screenshot of Audacity

Sound Converter

The Sound Converter application that comes with Linux Mangaka One is a very simple application for changing sound files between .wav, .mp3, .ogg, .m4a and .flac file formats. For .ogg and .mp3 formats, you can also select the bitrate for the output file.

Video

Aegisub

Aegisub is subtitle editor used in Anime fansubs. With Aegisub, the user can easily create and edit subtitle files for movies and karaoke videos. This application has a built-in player that allows user to have the video always in sight while working on subtitles. Users can insert subtitles based on timing (eg, karaoke timing) and frame, and put special effects such as “animate color” effects, Adobe After Effects, and karaoke effects. As beginner, it is a bit confusing to use because you don't know functions very well and it takes time exploring the application. However, there is a lot of documentation, tutorials and videos that explain all the functions in detail at this website: <http://docs.aegisub.org/manual/Main_Page>

(Figure 13) Screenshot of Aegisub

OpenShot Video Editor

OpenShot Video Editor is a simple-to-use video editor. With OpenShot video editor, users can easily edit home videos, create photo slide shows, create television commercials, or edit and compose any type of videos. This can all be done by using the features supported in the application such as creating multiple tracks, resizing, trimming, snapping, cutting clips, adding 3D Animated Titles, doing audio mixing, adding scrolling motion picture credits, dragging and dropping clips to the timeline and arrange them, changing the speed on clips, and altering the brightness, chroma key, and hue. The application also has video transition effects with real-time previews. Users can add new titles by clicking on "New Title" in Project menu, but the “add new sequence” option in the Project menu is still under development, so it does not work. As beginner, it takes time to get familiar with the features in this application.

Other Applications

Comix (GTK Comic Book Viewer)

Comix is another application that appeals to users who are interested in Japanese manga.

It is used for viewing comic books or can be used as a generic image viewer. It reads images in ZIP, RAR, tar archives and plain image files. Comix includes a variety of viewing modes (manga mode, full screen mode, etc.), allows you to zoom in and out, and allows you to adjust image brightness, contrast, saturation and sharpness.

(Figure 14) Screenshot of Comix

Usage Evaluation

Overall, Linux Mangaka One succeeds in its goal of providing users with the multimedia tools needed to produce high-quality graphics, music and videos. The Windows-like layout will also likely make users who are only familiar with Microsoft Windows more comfortable with this distribution. We had very few issues with using this system for creating and editing multimedia.

This distribution provided applications to fulfill a wide range of multimedia needs, though perhaps the set of tools would have been more complete if it also included an application for composing and generating music. As it is, the distribution's sound tools are only useful if the user is recording his or her music (or sounds), or if the user already has the sound files available from another source.

However, the issues with the package manager will be a major drawback for anyone who chooses to use this system. In order for it to function at all, the user needs to be comfortable with modifying its configuration files and running commands in the terminal (to apply the fix described in the above section). Even if the user applies this fix, many applications available in the Debian repository will still not be installable, due to these issues. If the user wanted to use applications other than the ones that come with the distribution, he or she would be taking a risk, since the package manager might not be able to install them.

PART 2: Packages and Initialization

Software Packaging

Linux Mangaka One uses the Debian package format (.deb)[7].

It provides several package manager applications for adding, removing, and listing available packages: Synaptic Package Manager, “Add/Remove Applications” (a higher-level interface for the Synaptic Package Manager), the APT/“apt-get” (Advanced Packaging Tool) command-line tool, and the even lower level[8] dpkg (Debian Package Manager) command-line tool.

(Figure 15) Add/Remove Applications
(Figure 16) Synaptic Package Manager
(Figure 17) DPKG and APT

You can get a list of installed applications by opening “Add/Remove Applications” and selecting “Installed Applications Only” in the top menu. If you open the lower level Synaptic Package Manager, you can get a list of all installed packages by selecting “Installed” in the menu on the left. To get a list of packages from the command line, you can use the command “dpkg --get-selections” [9]. (There are also very many other ways to get a list from the command line, which can easily be found on the internet).

The “Add/Remove Applications” application provides a simple GUI for installing and uninstalling applications and the packages they depend on. The Synaptic Package Manager provides a similar GUI for installing/uninstalling individual packages. From the command-line, you can install packages using “apt-get install <package_name>” and you can uninstall them using “apt-get remove <package_name>”. (You need root permissions for these to work. ie, use “sudo apt-get install/remove <package_name>”).

There are about 2000 applications that appear in the software catalog, but attempting to install them always fails producing error 404s. However, if you configure the package managers to use the http://http.us.debian.org/debian repository (details regarding how to do this are specified in the next subsection of this report), you can get a different set of about 2000 applications, but there are still issues with installing some of them. You could also set the package managers to use other Debian repositories that are available on the internet to further increase the amount of applications available.

Package Manager

When you either try to install an application using the “Add/Remove…” graphical application manager or using "sudo apt-get install <application>", errors such as these are generated:

 Err http://gb.archive.ubuntu.com intrepid/main gcc 4:4.3.1-1ubuntu2
 404 Not Found

However, you can edit /etc/apt/sources.list to contain only the following lines in order to change the Debian package repository that the package manager uses to the official debian archive [5]:

 deb http://http.us.debian.org/debian stable main contrib non-free
 deb http://security.debian.org stable/updates main contrib non-free

After editing the file, you should run "apt-get update" to apply the changes [5]. Note that this command will produce an error:

 W: GPG error: deb http://http.us.debian.org/debian stable Release: The following signatures could not be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

The above error can be fixed by running the following commands [6]:

 gpg --keyserver pgpkeys.mit.edu --recv-key  AED4B06F473041FA
 gpg -a --export AED4B06F473041FA | sudo apt-key add -

Some applications (such as gcc and the game Atomix) can then be installed using the package manager, but when trying to install many others, it will generate an error like this one:

 Cannot install 'openoffice.org'
 This application conflicts with other installed software. 
 To install 'openoffice.org' the conflicting software must be removed first.
 Switch to the 'synaptic' package manager to resolve this conflict.

However, when using the Synaptic Package Manager to mark openoffice.org for installation and clicking "Apply" (as an example), it gives this error: "Could not apply changes! Fix broken packages first."

Finally, in Synaptic Package Manager, when you click on "fix broken packages", it produces errors such as these:

 E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
 E: Unable to correct dependencies..

We were unable to resolve this issue.

Major package versions

Here are various major software packages included in Linux Mangaka One

Linux Kernel or other kernel

rc dkms
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
rc dkms Dynamic Kernel Module Support Framework 2.0.20.4-0Ubuntu2.1 http://linux.dell.com/dkms/ 2008-09-11 2.2.02 2010-11-11


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show dkms, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it provides support for installing supplementary versions of kernel module. For example, suppose, you want to install a module for your adaptor and you are given a source tarball. Without DKMS, you would unpack the module and read the README to figure out how to compile and install the module. With DKMS install, DKMS can do that for you by creating a dkms.conf file with appropriate entries.

Linux-generic Kernel
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
Linux-generic Kernel Complete Generic Linux kernel 2.6.27.14.18 https://launchpad.net/ubuntu/intrepid/i386/linux-generic/2.6.27.14.18 2009-10-22 2.6.27.17.21 2010-02-05


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show linux-generic, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it make sure that the system is not left in an unbootable state after an update

libc

libc6
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
libc6 GNU C Library: Shared libraries 2.8~20080505-0Ubuntu9 https://launchpad.net/ubuntu/intrepid/i386/libc6/2.8~20080505-0Ubuntu9 2009-01-19 2.9-4Ubuntu6.3 2010-10-22


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show libc, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it contains the standard libraries that are used by all programs on the system.

X-org

xorg
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
xorg X.Org X Window System 1:7.4~5Ubuntu3 https://launchpad.net/ubuntu/jaunty/i386/xorg/1:7.4~5Ubuntu3 2009-11-09 1:7.6+7Ubuntu7 2011-09-09


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show xorg, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it provides the components for a standalone workstation running the X Window system.

Major GUI toolkits

gazpacho
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
gazpacho GTK+ User Interface Designer 0.7.2-2 https://launchpad.net/ubuntu/+source/gazpacho/0.7.2-2 2008-07-04 0.7.2-3 2010-10-22


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show gazpacho, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it is design to build applications, provides quick and easy development of user interfaces.

SHELL

bash
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
bash The GNU Bourne Again Shell 3.2-4Ubuntu1 http://www.gnu.org/software/bash/bash.html 2008-05-12 4.2-0Ubuntu4 2011-06-28


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show bash, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it executes commands read from the standard input or from a file.

Utilities

busybox
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
busybox Standalone shell setup for initramfs 1:1.10.2-1Ubuntu7 https://launchpad.net/ubuntu/+source/busybox/1:1.10.2-1Ubuntu7 2009-01-22 1:1.18.5-1Ubuntu1 2011-10-25


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show busybox, it is still maintained by Ubuntu. This particular package was chosen for this distribution's standard install because it provides minimalist replacements for the most common utilities found in system (ie. ls, cp, mv, mount ect.) and it provides a statically linked simple stand alone shell that provides only basic utilities needed for initramfs.

Software packaging

DPKG
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
DPKG Debian package management system 1.14.20Ubuntu6.2 http://wiki.debian.org/Teams/Dpkg 2009-03-05 1.16.1.1Ubuntu2 2011-09-05


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show dpkg, it is still maintained by Ubuntu.This particular package was chosen for this distribution's standard install because it handle installation, the build, removal and management of packages on the system.

RPM
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
RPM Red Hat package manager 4.4.2.3-1Ubuntu1 http://www.rpm.org/ 2008-06-20 4.9.1.1-1 2011-11-02


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show rpm, it is still maintained by Ubuntu This particular package was chosen for this distribution's standard install because it is capable of installing, uninstalling, verifying, querying, and updating computer software packages.

Web browser

Firefox
Package Description Version Upstream Source Released Date Latest stable release Released Date of latest stable release
Firefox meta package for the popular mozilla web browser 3.0.5 http://www.mozilla.org/en-US/firefox/new/ 2008-12-16 8.0 2011-11-03


The package has not been modified by developer of Mangaka [Ubuntu]. According to the maintainer, found by typing command apt-cache show firefox, it is still maintained by Ubuntu.This particular package was chosen for this distribution's standard install because it designed to be lightweight and cross-platform and delivers safe, easy web browsing.

Initialization

The first program that you can see running when you start the machine is the BIOS (“basic input/output system”), which is part of the computer’s firmware. The BIOS loads the boot loader for the operating system[10]. When starting a VirtualBox virtual machine, you can press F12 to go to a screen where you can select which device to boot from, which is an interface to the virtual machine’s BIOS [11].

(Figure 18) VirtualBox virtual machine BIOS

Linux Mangaka One uses the GRUB Bootloader. When you start the machine, you can see some output from this bootloader. The bootloader loads the OS’s kernel.

(Figure 19) GRUB bootloader output during bootup
(Figure 20) more GRUB bootloader output

After you see the output from the bootloader, the screen goes blank for a few seconds. It is likely that during this time, the kernel is doing it’s own initialization before creating and running the init process.

The init process runs /etc/init.d/rcS [12]. This file contains just one line of code: “exec /etc/init.d/rc S”. The file /etc/init.d/rc is the script that is responsible for running all the scripts found in /etc/rc<runlevel>.d/ (in this case, /etc/rcS.d/) (note: The scripts in /etc/rc<runlevel>.d/ are just symlinks back to scripts in /etc/init.d).

/etc/init.d/rc first runs the “kill” scripts for the runlevel (named “K<number_indicating order><script_name>”), and then the “start” scripts (named “S<number_indicating order><script_name>”). All of these scripts are executed sequentially, unless multiple “kill” scripts or multiple “start” scripts have the same number_indicating_order, in which case, those scripts are executed in parallel.

Here are some of the interesting things that the scripts found in /etc/rcS.d/ do:

  • Set the kernel clock based on the hardware clock (/etc/rcS.d/S08hwclockfirst.sh and /etc/rcS.d/S11hwclock.sh)
  • Mount virtual filesystems in various directories, such as /sys, /proc, and /dev/pts. (/etc/rcS.d/S01mountkernfs.sh and /etc/rcS.d/S11mountdevsubfs.sh)
  • Run filesystem checks (/etc/rcS.d/S20checkroot.sh and /etc/rcS.d/S30checkfs.sh)
  • Configure network interfaces (/etc/rcS.d/S40networking)
(Figure 21) Output from runlevel S scripts during bootup

After all tof the rcS scripts have run, the /etc/event.d/rc-default script runs. This script reads the /etc/inittab file to check for a default runlevel (a line in inittab that looks like “id:<runlevel>:initdefault:”). However, there is no inittab file in Linux Mangaka One, so it simply runs “telinit 2” to execute the runlevel 2 scripts. This causes /etc/init.d/rc to run again, but this time, it runs the scripts found in /etc/rc2.d/.

The scripts found in /etc/rc2.d are responsible for starting the major processes that run on the fully initialized system.

Here are some of the interesting things that the scripts found in /etc/rc2.d/ do:

  • Start the Gnome Display Manager (/etc/ rc2.d/S30gdm)
  • Start various power management daemon processes (/etc/rc2.d/S10acpid, /etc/rc2.d/S20apmd)
  • Start various network daemon processes (/etc/ rc2.d/S14avahi-daemon, /etc/ rc2.d/S28NetworkManager)
  • Start a wide variety of other processes, such as syslogd (system log daemon), klogd (kernel logger), cron, bluetoothd (bluetooth daemon), hald (hardware abstraction layer daemon), and many others.
(Figure 22) Output from runlevel 2 scripts during bootup

(Note: We discovered most of the information regarding /etc/event.d/rc-default, /etc/init.d/rc, the scripts in /etc/rcS.d/ and the scripts in /etc/rc2.d/ simply by reading the comments and the code in those scripts. From this website http://www.linuxquestions.org/questions/ubuntu-63/since-we-have-no-etc-inittab-506281/, we discovered that /etc/event.d/rc-default is the "replacement" for the inittab file that was not present in Linux Mangaka One. For the scripts in /etc/rc2.d/, we also ran some of them with the arguments "start" and "stop", and checked which process(es) they created or terminated using the "ps" and "pstree" commands. )

References

[1] Animesoft International. (n.d.). Linux. In Animesoft International. Retrieved October 12, 2011, from http://animesoft.wordpress.com/download/.

[2] User:ArkBlitz/Mangaka Linux. (April 28, 2010). In Wikipedia. Retrieved October 12, 2011, from http://en.wikipedia.org/wiki/User:ArkBlitz/Mangaka_Linux.

[3] Animesoft International. (n.d.). About. In Animesoft International. Retrieved October 12, 2011, from http://animesoft.wordpress.com/about/.

[4] Animesoft International. (n.d.). Help. In Animesoft International. Retrieved October 12, 2011, from http://animesoft.wordpress.com/download/help/.

[5] Silva, G. (August 2005). Chapter 2 - Basic Configuration. In APT HOWTO (Obsolete Documentation). Retrieved October 9, 2011, from http://www.debian.org/doc/manuals/apt-howto/ch-basico.en.html.

[6] Debian - Apt-get : NO_PUBKEY / GPG error. (September 15, 2011). In Kioskea.net. Retrieved October 9, 2011, from http://en.kioskea.net/faq/809-debian-apt-get-no-pubkey-gpg-error.

[7] Animesoft International. (n.d.). Help. In Animesoft International. Retrieved November 7, 2011, from http://animesoft.wordpress.com/download/help/.

[8] dpkg. (September 16, 2011). In Wikipedia. Retrieved November 7, 2011, from http://en.wikipedia.org/wiki/Dpkg.

[9] Show the List of Installed Packages on Ubuntu or Debian. (September 16, 2011). In How-To Geek. Retrieved November 7, 2011, from http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/.

[10] BIOS. (September 16, 2011). In Wikipedia. Retrieved November 11, 2011, from http://en.wikipedia.org/wiki/BIOS.

[11] Oracle. (n.d.). Chapter 3. Configuring virtual machines. In VirtualBox. Retrieved November 12, 2011, from http://www.virtualbox.org/manual/ch03.html.

[12] Kim Oldfield. (November 7, 2001). The Linux Boot Process. In Talks presented to the Linux Users of Victoria Inc. (LUV) by Kim Oldfield. Retrieved November 11, 2011, from http://oldfield.wattle.id.au/luv/boot.html.