Steelsquid OS

Steelsquid OS is a minimalistic and lightweight Linux distribution, uses LXDE as desktop environment and has many useful applications installed by default.
I have made this distribution to quickly set up a computer according to my taste, but there are certainly others who have the same taste as me (it is also possible to configure a few things, see further down in the document or this).

Have not done anything on this for a long time so it is kind of dead :-(

ISO file is quite large, about 1.6GB, but the distribution includes a lot, all you need :-)
An installation takes about 4.6GB of disk space. 
It uses about 90MB of RAM on x86 and 140MB on amd64 (On a system with 512MB of RAM and without any applications in autostart). 
I believe that you can run it on 512M of RAM on a pretty old computer without any problems.

Many services are turned off to speed up boot (Boot time on my Intel-i3 (SSD) is about 10 seconds).
I've also done some other optimizations, See further down in the document.

But I do not use it because I have an old computer (have an Intel i3 and i7 with 8GB of RAM), I use it because I like how fast, light and simplistic it is (Much thanks to LXDE).
Have tried to use Unity and KDE, but in my opinion they are over engineered and too complex.

Here you can download the code: Google Drive

List of features

Red star (*) means that the user can choose whether to activate the feature (More info here).

Fast, lightweight, minimalistic and beautiful (in my taste).


The desktop in Steelsquid OS is LXDE with simple and minimalistic themes.

GTK Theme: Evolve

                    Have made some changes to the the toolbar (no gradient)

                    With a additional Obenbox theme made by me.

ICON theme: Faenza

Cursor theme: Griffin Embers Cursors


Many useful applications. Built it on top of Ubuntu base system.

So there is a huge repository of applications.


On first boot the user will configure the system.

Can also be reached from (Menu/Steelsquid/Configure Steelsquid OS later)


Import and export application settings (Meny/Steelsquid/(Import/Export) Settings)

Supports the following applications: Remmina, Pidgin, Pcmanfm, Gigolo, Spotify, Keystore, Lxpanel, Filezilla, dconf, Unison

Screenshot   Screenshot

Compositing manager compton *

Using compton to draw shadows behind windows and a fade effect.

Screenshot


Pepper Flash Player in Chromium *

The following plugin is also installed: Bookmarks Menu, FlashBlock, FVD Video Downloader

Screenshot


The user can be automatically logged in. *

Screenshot


If it is a system with low resolution, which means that smaller icons will be used and the panel at the bottom of the screen will hide automatically. *

Screenshot


If it is a system for a Mediplayer/HTPC bigger icon and text will be used. *

The fonts will be enlarged for: System (GTK2/3, Java, QT), Text Editor, Terminal, Spotify, Chromium.

Screenshot


Autostart of the following applications:. *

Instant Messenger Pidgin

Twitter Client

Gmail Notifier

Google Calendar Indicator

Google Task Indikator

Screenshot


If Steelsquid OS is to be used on a laptop, powersave can be enabled. *

Screenshot


Enable Bluetooth. *

Screenshot


Install VirtualBox. *

Screenshot


It can also be selected if the machine is a Windows Network Share Server. *

You do not need this to connected to Windows Network Share as client.

Screenshot


Should an SSH server be started. *

Screenshot


If the system detects NVIDIA or AMD (ATI) graphics card, proprietary drivers can be enabled. *

Screenshot


The user can select some optimization (disable swap and mount some directories to RAM). *

See optimization below.

Screenshot


The user can make a full system upgrade from (Menu/Steelsquid/Upgrade Steelsquid OS).

It will upgrade all packages and also check for newer Steelsquid Version.

If a newer version is found, it can be installed by downloading a zip file.

Screenshot


After every upgrade the system will profile and prelink (See optimization below)


Free disk space and clear private data (Menu/Steelsquid/Free disk and maintain privacy). 

Screenshot


GTK-2, GTK-3, QT and JAVA have the same themes (Evolve).

Have also tried force Faenza icon theme throughout.

Applications with hard-coded icons has its icon changed by executing xseticon.


Many parts of the system is preset in a nice way (in my opinion :-)

The menu is cleaned and sorted. Applications is configured: lxpanel, lxterminal, openbox, pcmanfm, synapse, vlc, gigolo, chromium, filezilla, pidgin, gimp, remmina, acetoneiso.


Press Menu button on keybord to activate Synapce (Find files and applikations).

Screenshot


In the application menu, I have changed so that the application's description 

is displayed instead of the name on the application, Tex Slimrat ==> File Downloader


When you click on "print screen" gnome-screenshot starts.


Some of Googles services can be launched as separate windows without address bar.

Gmail, Google Drive, Calendar, Google+, Google translate, YouTube

Screenshot    Screenshot

Also some Social Media can be launched as separate windows without address bar.

Screenshot    Screenshot    Screenshot



Includes the following applications by default

Archive Manager (xarchiver)

Audio CD Ripper (asunder)

Autostart applications (gnome-session-properties)

BitTorrent Client (deluge)

Bluetooth manager (blueman)

Bulk renamer (gprename)

Calculator (galculator)

Calendar Indicator (calendar-indicator)

CD and DVD burning (xfburn)

Clear Privacy Data (bleachbit)

Configuration Editor (gconf-editor)

Connect to Network Drive (gigolo)

Customize Look and Feel (lxappearance)

Debian Package Viewer (deb-gview)

Dictionary (gnome-dictionary)

Diff Viewer (meld)

Digital Camera Browser (gtkam)

Disk Usage Analyzer (baobab)

File Downloader (slimrat)

File Manager (pcmanfm)

File Synchronization (unison)

Firewall Configuration (gufw)

FTP Client (filezilla)

Gmail Notifier (gnome-gmail-notifier)

Google Tasks Indicator (Google Tasks Indicator)

Hardware Lister (hardinfo)

Image Editor (gimp)

Image Viewer (gthumb)

Java (OpenJDK)

Keyboard and Mouse (lxinput)

Office (libreoffice)

Log File Viewer (gnome-system-log)

Mail Client (evolution)

Mixer (xfce4-mixer)

Monitor Settings (lxrandr)

Mount CD/DVD image (acetoneiso)

Music Player (exaile)

Java IDE (NetBeans)

Network Configuration (network-admin)

Network Connections (nm-connection-editor)

Network Tools (gnome-nettool)

Note taking in tree structure (keepnote)

NTFS Configuration Tool (ntfs-config-root)

Openbox Configuration Manager (obconf)

Package Installer (gdebi-gtk)

Package Manager (synaptic)

Passwords and Keys (seahorse)

PDF Document Viewer (epdfviewer)

Instant messenger (pidgin)

Partition Editor (gparted)

Project Management (planner)

Qt 4 Settings (qtconfig-qt4)

Remote Desktop Client (remmina)

Screenshot (gnome-screenshot)

Search for App/File (synapse)

Search for Files (gnome-search-tool)

Shared Folders (shares-admin)

Sound Converter (soundconverter)

Sound Editor (audacity)

Music Streamer (spotify)

Task Manager (lxtask)

Terminal (lxterminal)

Text Editor (geany)

Time and Date (gnome-time-admin)

Twitter Client (polly)

Users and Groups (users-admin)

Vector Graphics Editor (inkscape)

Video Editor (openshot)

Video Player (vlc)

Virtualization (VirtualBox), If the user wants it.

VNC Server (x11vnc)

Web Browser (chromium)

Web Development Editor (bluefish)

Webcam Viewer and Recorder (guvcview)

IRC Client (xchat)

YouTube Player (minitube)


A little about optimization

I have done some optimizations to reduce memory usage and speed up boot.

Some of these optimizations will probably not do much difference but because i want this distribution to be as lightweight as possible, I enable them anyway.

Filesystem optimization

noatime,nodiratime,discard in fstab

Change scheduler

If only SSD: Scheduler = noop, otherwise: Scheduler = cfq

No sleep in GRUB.


Disable autodetect of raid.

Prelink system

Reduce the amount of time the dynamic linker needs to spend doing address relocations by doing it in advance and storing the results.

Grub Profiling

When you boot up your machine Grub does a search for all the necessary drivers to load. 

This takes time. Instead of making Grub search for these drivers, the profiling actually makes Grub remember every driver necessary to work.

Preload

Is considered to be read-ahead daemon application as it analyzes the applications which user runs, and on the basis of this analysis it predicts which applications user can run next time and launches these applications in RAM.

Disabale ipv6

I don't think there is any benefit to having this protocol enabled yet. 

Settings hostname to localhost

By putting proper entries of your localhost in your host file may improve the startup of some apps.

Mount /tmp, /var/log, /var/tmp and Chromium Cache to RAM 

Only recommended if more that 2GB of RAM

Disable SWAP (swappiness=0)

Will only recommend this if more that 2GB of RAM.

If less than 2GB of ram set swappiness = 10

Disable Plymouth 

Disable the boot splash.

Disable Apparmor

Mandatory Access Control (MAC) system which is a kernel (LSM) enhancement to confine programs to a limited set of resources.

Apparmor has some overhead and i think it is not so necessary on a desktop.

The default settings for eg a browser has full access to your home directory, so if a security flow exist they'll still can access all your data.

So apparmor is disabled in Steelsquid OS.

Disable zeitgeist

Zeitgeist is a service which logs the users's activities and events, anywhere from files opened to websites visited and conversations.

The only thing that would benefit from Zeitgeist in Steelsquid OS is Synapse.

But I think Synapse work well without it, so zeitgeist is disabled.

Disable cron

Cron is the time-based job scheduler.

Do not think it is so important on a desktop, so it is disabled to save some memory.

Disable cups

No one needs a printer :-)

Disable rsync

Synchronizes files and directories.

A normal desktop user has no use for this.

Disable tty2-6

It is sufficient with one terminal (tty1)

Disable/remove some services/packages and other stuff.

atd, dns-clean, pppd-dns, setvtrgb, unattended-upgrades, apport, byobu, friendly-recovery xscreensaver, whoopsie, jetty, irqbalance.

Clear unused packages.



Limitations

Since much is disabled in Steelsquid OS to save memory and CPU, ther are some limitations a regular user can detect.

Can not use encrypted home folder

Auto-login feature will not function if the home folder is encrypted.


No RAID

No printer

CUPS is disabled so no printer can be used.

No job scheduler.

Cron is disabled.



Security

The firewall is enabled by default.

SSH-port number

If the SSH server is enabled, the system asks for the port number.

22 is the default ssh port but the user can select a different one.

Fail2ban

If the SSH server is enabled, fail2ban will also be activadet.

So if someone try to brute force  hack your SSH server they will be banned for 20 minutes after 6 failed attempts.

SSH security settings (If SSH-server is enabled).

Enable som security settings on the SSH-server.

Change port number.

Only listen .

Only allowUsers one user to connect.

Do not permit root login.

Do not permit empty passwords.

Only protocol 2.

Force permissions checks on keyfiles and directories.

Use privilege separation.

Max 16 sessions.

Disable Apparmor

This is not a security feature, but instead a slight reduction in security.

Mandatory Access Control (MAC) system which is a kernel (LSM) enhancement to confine programs to a limited set of resources.

Apparmor has a little overhead and i think it is not so necessary on a desktop.

The default settings for eg a browser has full access to your home directory, so if a security flow exist they'll still can access all your data.

So apparmor is disabled in Steelsquid OS.

Unencryptet gnome keyring

This is not a security feature, but instead a slight reduction in security.

In order not to have to enter a password to eg wireless connection when automatic login is enabled, passwords will be stored in plain text in gnome keyring.


Brief explanation of scripts and directories

This zip file contains all the source code.

/opt/steelsquid/steelsquid-functions

Just a few useful features that I use.


/opt/steelsquid/steelsquid-help

Show a help image (help on the desktop).


/opt/steelsquid/steelsquid-lxde-autostart

Starts lxpanel and conky after 1 second in lxde boot.   

/opt/steelsquid/steelsquid-maker

Configure and optimize the system.   

/opt/steelsquid/steelsquid-pidgin-screen

Set pidgin orientation (8 px from left bottom).   

/opt/steelsquid/steelsquid-setup

This is a simple GTK setup script for steelsquid-os.  

/opt/steelsquid/steelsquid-synaptic

Start synaptic and then run steelsquid-maker.   

/opt/steelsquid/steelsquid-upgrade

This script will upgrade the system.   

/opt/steelsquid/applications

All these files are copied to /usr/share/applications/

Fixed icons and locations in the menu.   

/opt/steelsquid/config

Settings for users, copied to ~/.config

/opt/steelsquid/home

Settings for users, copied to ~/ 

/opt/steelsquid/html

The settup and upgrade script gui. 

/opt/steelsquid/icons

Icons for user, copied to ~/.icons.

/opt/steelsquid/license

License for Steelsquid-OS, Evolve, Faenza, Griffin Embers Cursors.

/opt/steelsquid/lowres

If user select a low resolution screen this is the settings used.

/opt/steelsquid/mixed/autostart

Autostart file for LXDE (/etc/xdg/lxsession/LXDE).

/opt/steelsquid/mixed/HELP

Help link for desktop. 

/opt/steelsquid/mixed/index.theme

Set default cursor (~/.icons/default/index.theme).   

/opt/steelsquid/mixed/lxde-applications.menu

Removed the Other menu

LXpanel menu (/etc/xdg/menus) 

/opt/steelsquid/mixed/mimeapps.list

What program starts what (~/.local/share/applications/mimeapps.list). 

/opt/steelsquid/mixed/org.gnome.nautilus.gschema.xml

Fix strange nautilus dependencies (/usr/share/glib-2.0/schemas/)   

/opt/steelsquid/mixed/xprofile

Autostar steelsquid-setup for new user. 

/opt/steelsquid/pictures

Pictures and icons. 

/opt/steelsquid/settings

Different file name means different things.

profile = Boot will be profiled or has been profiled

/opt/steelsquid/gnome2

Copy to ~/.gnome2

/opt/steelsquid/themes

Copy to ~/.themes

/opt/steelsquid/version

The local version of Steelsquid OS.

Using this to know when a new version.

/opt/steelsquid/packages

If there are new important updates this integer will differ from that on steelsquid server

How to create the ISO-release


This zip file contains all the source code.


Much of this is for my environment (IP numbers and other stuff).

Just to make it easy for me (copy and paste).


 - Install base system from Ubuntu server (Press F4).

   http://ftp.ticklers.org/releases.ubuntu.org/releases/12.04.1/


 - Upgrade system.

   aptitude update

   aptitude full-upgrade


 - Fix desktop kernel

   aptitude install linux-generic linux-headers-generic

   If x86: aptitude purge linux-generic-pae linux-image-generic-pae

           aptitude purge linux-headers-generic-pae

           aptitude purge linux-image-3.2<all old, PAE and non PAE>    

   If amd64: aptitude purge linux-server linux-image-server

             aptitude purge linux-image-3.2<all old>    

             aptitude purge linux-headers-server

   update-grub

 

 - Reboot

 

 - Install LXDE environment, synaptic and virtualbox-guest.

   aptitude install lxde synaptic virtualbox-guest-additions-iso virtualbox-guest-utils


 - Fix synaptic link.

   nano /usr/share/applications/synaptic.desktop

   Exec=gksudo synaptic   


 - Reboot and login to LXDE


 - Clean downloaded packages and old kernels

   aptitude autoclean

   aptitude clean

   apt-get autoremove

   dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

   deborphan | xargs sudo apt-get -y remove --purge

   deborphan --guess-data | xargs sudo apt-get -y remove --purge


 - Shutdown


 - Save Virtualbox clone: Steelsquid-OS-Base

   Continue on: Steelsquid-OS-Package


 - Add extra repositorys.

   add-apt-repository ppa:otto-kesselgulasch/gimp

   add-apt-repository ppa:atareao/atareao

   add-apt-repository ppa:conscioususer/polly-daily

   apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3E5C1192 

   apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

   wget -O - http://www.remastersys.com/ubuntu/remastersys.gpg.key | apt-key add -

   nano /etc/apt/sources.list 

   Uncomment partners and extras

   deb http://repository.spotify.com stable non-free

   deb http://www.remastersys.com/ubuntu precise main


 - Install packages.

   aptitude update

   aptitude full-upgrade

   aptitude install openjdk-7-jdk openjdk-7-doc network-manager network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-strongswan lxtask screenie prelink preload bleachbit xfburn vlc filezilla x11vnc flashplugin-installer xfce4-mixer guvcview libva-intel-vaapi-driver gnome-themes-standard mesa-utils netbeans sshfs libreoffice deluge deluge-gtk synapse remmina remmina-plugin-gnome remmina-plugin-nx remmina-plugin-telepathy remmina-plugin-xdmcp wmctrl meld pidgin pidgin-sipe pidgin-extprefs pidgin-facebookchat pidgin-skype pidgin-twitter pidgin-microblog evolution evolution-mapi devilspie openshot git cvs subversion openssh-server gedit gedit-developer-plugins gedit-plugins audacity chromium-browser chromium-codecs-ffmpeg-extra xcompmgr gufw b43-fwcutter ndisgtk ntfs-3g ntfs-config remastersys remastersys-gtk epdfview gimp zenity unison unison-gtk minitube inkscape soundconverter planner spotify-client gthumb baobab gnome-nettool gnome-utils gnome-network-admin deb-gview gdebi asunder gnome-gmail-notifier slimrat gstreamer0.10-plugins-ugly mpg123 conky gtk2-engines-murrine jockey-common libglib2.0-bin qt4-qtconfig feh nbtscan ntp arista acetoneiso unrar libavcodec-extra-53 xwit gigolo curl gconf-editor usb-creator-gtk lxkeymap deborphan smbclient python-central light-themes gtk3-engines-unico gnome-time-admin lzma calendar-indicator google-tasks-indicator exaile gnome-session-bin hardinfo gparted gprename xchat polly smbfs


 - Remove some packages

   aptitude purge byobu apport apport-symptoms friendly-recovery xscreensaver xscreensaver-data whoopsie zeitgeist zeitgeist-core zeitgeist-datahub python-zeitgeist lxmusic jetty irqbalance apparmor popularity-contest ubuntu-standard arista gnome-user-guide update-manager-core openbox-themes bzr bzr-dbus bzr-gtk python-bzrlib system-config-samba xcompmgr unattended-upgrades gtk2-engines gnome-themes-standard gnome-accessibility-themes plymouth-theme-ubuntu-text gtk3-engines-oxygen lm-sensors

 

 - Install compton

   wget http://mirror.pnl.gov/ubuntu//pool/main/libc/libconfig/libconfig9_1.4.8-5_i386.deb

   wget http://dl.dropbox.com/u/133108/lubuntu/compton-git_20120926-1_i386.deb

   dpkg -i libconfig9_1.4.8-5_i386.deb

   dpkg -i compton-git_20120926-1_i386.deb

   rm libconfig9_1.4.8-5_i386.deb

   rm compton-git_20120926-1_i386.deb

   wget http://mirror.pnl.gov/ubuntu//pool/main/libc/libconfig/libconfig9_1.4.8-5_amd64.deb

   wget http://dl.dropbox.com/u/133108/lubuntu/compton-git_20120926-1_amd64.deb

   dpkg -i libconfig9_1.4.8-5_amd64.deb

   dpkg -i compton-git_20120926-1_amd64.deb

   rm libconfig9_1.4.8-5_amd64.deb

   rm compton-git_20120926-1_amd64.deb

 

 - Install keepnote

   wget http://keepnote.org/download/keepnote_0.7.8-1_all.deb

   dpkg -i keepnote_0.7.8-1_all.deb

   rm keepnote_0.7.8-1_all.deb


 - Clean downloaded packages, old kernels and data

   aptitude autoclean

   aptitude clean

   apt-get autoremove

   dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

   deborphan | xargs sudo apt-get -y remove --purge

   deborphan --guess-data | xargs sudo apt-get -y remove --purge

   aptitude install libva-intel-vaapi-driver

   bleachbit --clean apt.*

   bleachbit --clean bash.*

   bleachbit --clean system.cache

   bleachbit --clean system.clipboard

   bleachbit --clean system.desktop_entry

   bleachbit --clean system.recent_documents

   bleachbit --clean system.rotated_logs

   bleachbit --clean system.tmp

   bleachbit --clean system.trash

   su steelsquid -c 'bleachbit --clean adobe_reader.*'

   su steelsquid -c 'bleachbit --clean amsn.*'

   su steelsquid -c 'bleachbit --clean amule.*'

   su steelsquid -c 'bleachbit --clean apt.*'

   su steelsquid -c 'bleachbit --clean audacious.*'

   su steelsquid -c 'bleachbit --clean bash.*'

   su steelsquid -c 'bleachbit --clean beagle.*'

   su steelsquid -c 'bleachbit --clean chromium.*'

   su steelsquid -c 'bleachbit --clean easytag.*'

   su steelsquid -c 'bleachbit --clean elinks.*'

   su steelsquid -c 'bleachbit --clean emesene.*'

   su steelsquid -c 'bleachbit --clean evolution.*'

   su steelsquid -c 'bleachbit --clean exaile.*'

   su steelsquid -c 'bleachbit --clean filezilla.*'

   su steelsquid -c 'bleachbit --clean firefox.*'

   su steelsquid -c 'bleachbit --clean flash.*'

   su steelsquid -c 'bleachbit --clean gedit.*'

   su steelsquid -c 'bleachbit --clean gftp.*'

   su steelsquid -c 'bleachbit --clean gimp.*'

   su steelsquid -c 'bleachbit --clean gnome.*'

   su steelsquid -c 'bleachbit --clean google_chrome.*'

   su steelsquid -c 'bleachbit --clean gpodder.*'

   su steelsquid -c 'bleachbit --clean gwenview.*'

   su steelsquid -c 'bleachbit --clean hippo_opensim_viewer.*'

   su steelsquid -c 'bleachbit --clean java.*'

   su steelsquid -c 'bleachbit --clean miro.*'

   su steelsquid -c 'bleachbit --clean openofficeorg.*'

   su steelsquid -c 'bleachbit --clean pidgin.*'

   su steelsquid -c 'bleachbit --clean kde.*'

   su steelsquid -c 'bleachbit --clean konqueror.*'

   su steelsquid -c 'bleachbit --clean liferea.*'

   su steelsquid -c 'bleachbit --clean links2.*'

   su steelsquid -c 'bleachbit --clean midnightcommander.*'

   su steelsquid -c 'bleachbit --clean miro.*'

   su steelsquid -c 'bleachbit --clean nautilus.*'

   su steelsquid -c 'bleachbit --clean nexuiz.*'

   su steelsquid -c 'bleachbit --clean opera.*'

   su steelsquid -c 'bleachbit --clean recoll.*'

   su steelsquid -c 'bleachbit --clean rhythmbox.*'

   su steelsquid -c 'bleachbit --clean screenlets.*'

   su steelsquid -c 'bleachbit --clean seamonkey.*'

   su steelsquid -c 'bleachbit --clean secondlife_viewer.*'

   su steelsquid -c 'bleachbit --clean skype.*'

   su steelsquid -c 'bleachbit --clean system.cache'

   su steelsquid -c 'bleachbit --clean system.clipboard'

   su steelsquid -c 'bleachbit --clean system.desktop_entry'

   su steelsquid -c 'bleachbit --clean system.recent_documents'

   su steelsquid -c 'bleachbit --clean system.rotated_logs'

   su steelsquid -c 'bleachbit --clean system.tmp'

   su steelsquid -c 'bleachbit --clean system.trash'

   su steelsquid -c 'bleachbit --clean thumbnails.cache'

   su steelsquid -c 'bleachbit --clean thunderbird.*'

   su steelsquid -c 'bleachbit --clean transmission.cache'

   su steelsquid -c 'bleachbit --clean tremulous.cache'

   su steelsquid -c 'bleachbit --clean vim.history'

   su steelsquid -c 'bleachbit --clean vlc.mru'

   su steelsquid -c 'bleachbit --clean vuze.*'

   su steelsquid -c 'bleachbit --clean wine.tmp'

   su steelsquid -c 'bleachbit --clean winetricks.temporary_files'

   su steelsquid -c 'bleachbit --clean x11.debug_logs'

   su steelsquid -c 'bleachbit --clean xchat.logs'

   su steelsquid -c 'bleachbit --clean xine.cache'

   su steelsquid -c 'bleachbit --clean yum.*'


 - Prelink the system.

   prelink -amfR

  

 - Save Virtualbox clone: Steelsquid-OS-Package

   Continue on: Steelsquid-OS-Build

 

 - Transfer steelsquid script from development computer.

   rm -r /opt/steelsquid

   mkdir /opt/steelsquid

   sftp -P XXXX steelsquid@192.168.1.5

   get /home/steelsquid/Projects/SteelsquidOS/steelsquid-os-v02.zip /opt/steelsquid

   cd /opt/steelsquid

   unzip steelsquid-os-v02.zip


 - Steelsquid directory permission.

   chown -R root /opt/steelsquid

   chgrp -R root /opt/steelsquid

   chmod -R 755 /opt/steelsquid

   chmod -R 777 /opt/steelsquid/settings

   chmod -R 777 /opt/steelsquid/html

   chmod -R 777 /opt/steelsquid/log


 - Install themes

   cp -r /opt/steelsquid/icons/faenza /usr/share/icons/

   cp -r /opt/steelsquid/icons/griffin-embers-cursors /usr/share/icons/

   cp -r /opt/steelsquid/themes/evolve /usr/share/themes/


 - Open lxapperanse and set Radiance theme


 - Configure remastersys.

   nano /etc/remastersys/isolinux/isolinux.cfg.vesamenu

   timeout 1

   Remove everyting except label install 

   Also remove color stuff

   nano /etc/remastersys/preseed/custom.seed

 d-i passwd/root-login boolean false

 d-i user-setup/encrypt-home boolean false

 d-i passwd/user-fullname string Andreas Nilsson

 d-i passwd/username string steelsquid

 d-i grub-installer/only_debian boolean true

 d-i pkgsel/upgrade select none

 d-i pkgsel/update-policy select none

 d-i apt-setup/restricted boolean false

 d-i apt-setup/universe boolean false

 d-i partman-auto/choose_recipe select atomic

 d-i partman/default_filesystem string ext4


 - Add steelsquid service

   cp /opt/steelsquid/steelsquid-service /etc/init.d/

   chmod +x /etc/init.d/steelsquid-service

   update-rc.d steelsquid-service defaults


 - On firt boot run steelsquid-maker script.

   remastersys clean

   nano /etc/init.d/remastersys-firstboot

    if [ "`cat /proc/cmdline | grep casper`" = "" ]; then

        [ "$VERBOSE" != no ] && log_begin_msg "Running remastersys-firstboot"

        sed -i -e 's/root:x:/root:!:/g' /etc/shadow

        rm -rf /home/*/Desktop/ubiquity*.desktop

        #Place your custom commands below this line

        /opt/steelsquid/steelsquid-maker first-boot

        update-rc.d -f remastersys-firstboot remove

        #Place your custom commands above this line

        ES=$?

        [ "$VERBOSE" != no ] && log_end_msg $ES

        return $ES

    fi

 

 - Check for new updates, clean downloaded packages, old kernels and data

   aptitude update

   aptitude full-upgrade

   aptitude autoclean

   aptitude clean

   apt-get autoremove

   dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

   deborphan | xargs sudo apt-get -y remove --purge

   deborphan --guess-data | xargs sudo apt-get -y remove --purge

   aptitude install libva-intel-vaapi-driver

   bleachbit --clean apt.*

   bleachbit --clean bash.*

   bleachbit --clean system.cache

   bleachbit --clean system.clipboard

   bleachbit --clean system.desktop_entry

   bleachbit --clean system.recent_documents

   bleachbit --clean system.rotated_logs

   bleachbit --clean system.tmp

   bleachbit --clean system.trash

   su steelsquid -c 'bleachbit --clean adobe_reader.*'

   su steelsquid -c 'bleachbit --clean amsn.*'

   su steelsquid -c 'bleachbit --clean amule.*'

   su steelsquid -c 'bleachbit --clean apt.*'

   su steelsquid -c 'bleachbit --clean audacious.*'

   su steelsquid -c 'bleachbit --clean bash.*'

   su steelsquid -c 'bleachbit --clean beagle.*'

   su steelsquid -c 'bleachbit --clean chromium.*'

   su steelsquid -c 'bleachbit --clean easytag.*'

   su steelsquid -c 'bleachbit --clean elinks.*'

   su steelsquid -c 'bleachbit --clean emesene.*'

   su steelsquid -c 'bleachbit --clean evolution.*'

   su steelsquid -c 'bleachbit --clean exaile.*'

   su steelsquid -c 'bleachbit --clean filezilla.*'

   su steelsquid -c 'bleachbit --clean firefox.*'

   su steelsquid -c 'bleachbit --clean flash.*'

   su steelsquid -c 'bleachbit --clean gedit.*'

   su steelsquid -c 'bleachbit --clean gftp.*'

   su steelsquid -c 'bleachbit --clean gimp.*'

   su steelsquid -c 'bleachbit --clean gnome.*'

   su steelsquid -c 'bleachbit --clean google_chrome.*'

   su steelsquid -c 'bleachbit --clean gpodder.*'

   su steelsquid -c 'bleachbit --clean gwenview.*'

   su steelsquid -c 'bleachbit --clean hippo_opensim_viewer.*'

   su steelsquid -c 'bleachbit --clean java.*'

   su steelsquid -c 'bleachbit --clean miro.*'

   su steelsquid -c 'bleachbit --clean openofficeorg.*'

   su steelsquid -c 'bleachbit --clean pidgin.*'

   su steelsquid -c 'bleachbit --clean kde.*'

   su steelsquid -c 'bleachbit --clean konqueror.*'

   su steelsquid -c 'bleachbit --clean liferea.*'

   su steelsquid -c 'bleachbit --clean links2.*'

   su steelsquid -c 'bleachbit --clean midnightcommander.*'

   su steelsquid -c 'bleachbit --clean miro.*'

   su steelsquid -c 'bleachbit --clean nautilus.*'

   su steelsquid -c 'bleachbit --clean nexuiz.*'

   su steelsquid -c 'bleachbit --clean opera.*'

   su steelsquid -c 'bleachbit --clean recoll.*'

   su steelsquid -c 'bleachbit --clean rhythmbox.*'

   su steelsquid -c 'bleachbit --clean screenlets.*'

   su steelsquid -c 'bleachbit --clean seamonkey.*'

   su steelsquid -c 'bleachbit --clean secondlife_viewer.*'

   su steelsquid -c 'bleachbit --clean skype.*'

   su steelsquid -c 'bleachbit --clean system.cache'

   su steelsquid -c 'bleachbit --clean system.clipboard'

   su steelsquid -c 'bleachbit --clean system.desktop_entry'

   su steelsquid -c 'bleachbit --clean system.recent_documents'

   su steelsquid -c 'bleachbit --clean system.rotated_logs'

   su steelsquid -c 'bleachbit --clean system.tmp'

   su steelsquid -c 'bleachbit --clean system.trash'

   su steelsquid -c 'bleachbit --clean thumbnails.cache'

   su steelsquid -c 'bleachbit --clean thunderbird.*'

   su steelsquid -c 'bleachbit --clean transmission.cache'

   su steelsquid -c 'bleachbit --clean tremulous.cache'

   su steelsquid -c 'bleachbit --clean vim.history'

   su steelsquid -c 'bleachbit --clean vlc.mru'

   su steelsquid -c 'bleachbit --clean vuze.*'

   su steelsquid -c 'bleachbit --clean wine.tmp'

   su steelsquid -c 'bleachbit --clean winetricks.temporary_files'

   su steelsquid -c 'bleachbit --clean x11.debug_logs'

   su steelsquid -c 'bleachbit --clean xchat.logs'

   su steelsquid -c 'bleachbit --clean xine.cache'

   su steelsquid -c 'bleachbit --clean yum.*'


 - Prelink the system.

   prelink -amfR


 - Make the install cd (remastersys-gtk)

   Default user: steelsquid

   Username: steelsquid

   CD Label: Steelsquid OS

   Filename: steelsquid-os-v02-x86.iso, steelsquid-os-v02-amd64.iso

   URL: http://www.steelsquid.org/SteelsquidOS

 

 - Transfer from virtual machine to development computer.

   sftp -P XXXX steelsquid@192.168.1.5

   put /home/remastersys/remastersys/steelsquid-os-v02-x86.iso /home/steelsquid/Projects/SteelsquidOS

   put /home/remastersys/remastersys/steelsquid-os-v02-amd64.iso /home/steelsquid/Projects/SteelsquidOS





ToDo

On error in setup script show error message to user.

Work with remastersys live cd.