After being in draft for years I am finally publishing this post updated to my current setup(Loki).
I started writing this as a documentation of my setup for self, then i thought its good to share my experience.
Linux has always been my choice of OS at home from early days of my computer usage.
Mandrake Linux was the only distro at that time known to me until I was introduce to Slackware, which has been my distro of Linux for many years. Until 2010 my pc setup was mostly windows/slackware dual-boot and windows at work place for obvious reasons.
This changed when my friends started using MacBook Pro in year 2010, I couldn’t resist myself and went on to install hackintosh on my PC. It took a lot of effort … I mean I had to struggle with lot of iterations for drivers to make things work. Even though I was using iPhone already, this is my first Mac OS experience. The best thing was how my workflow improved with Mac OS. Though now and then stability was an issue with my Hackintosh.
By the end of 2012, I got my new laptop HP EliteBook 2570p, suddenly I have a laptop with 16GB RAM, Intel Core i7 , dual SSD disk etc. I was determined to have best possible setup.
First thing I did was to remove windows 7 on it completely. Initially I considered to go with Hackintosh, after some effort I opted out due to stability issues(Now a days I triple boot into WIN10/Linux on first SSD and Hackinstosh from second ssd on this laptop for my iPad sync). My primary OS is Linux (Elementary OS) unless I specifically need WIN or MacOS.
At this time I started looking out for linux distros other than Ubuntu with good desktop environment and I stumbled upon Elelementary OS, I never looked back since them. If you look at what elementary team have achieved so far, its amazing . There is a saying that “Simplicity Is The Real Beauty” and Elementary OS exactly fits into that saying.
Elementary OS design philosophy is simple and elegant. Only thing I miss coming from Hackintosh is few apps (Sparrow,SourceTree,Evernote,Reeder etc) that i got used to over the period of using hackintosh. Eventually I have found decent/good alternatives, some in default apps of Elementary OS and some in electron based apps.
Due to its simplicity I have been more productive too. I started with Luna –> Freya –> Loki and it just gets better with every release. The current Loki release of 0.4.1 is a massive one.
I have done fresh install for every new release. Also I have tried to use apps(gimp,darktable etc) from appcenter for most of them unlike earlier setups where I tried to use external ppa to get most latest releases of apps.
Over the period of decade I have come to like and use many tools, I do not use everything on daily basis I just love to have them installed and configured to be used when needed.
The following is the effort to document my setup.
Update and Upgrade system
After default installation update and upgrade your system
sudo apt update sudo apt upgrade sudo apt dist-upgrade
This is first thing to do for me, enable “Privacy Mode”
Enable PPA support
PPA support is not available by default in Loki, for some good reasons . Though
it is impossible to completely stay away from it for someone like me.
sudo apt install software-properties-common --no-install-recommends
Basic compression tools
sudo apt install rar unrar cabextract lzip lunzip arj unace p7zip-rar p7zip
As far as my understanding goes Elementary OS default installation comes with required codecs unlike Ubuntu .
Install Elementary Tweak
It is a must for every elementary os user who would like to tweak, I wonder why its not inbuilt.
sudo add-apt-repository ppa:philip.scott/elementary-tweaks sudo apt update && sudo apt install elementary-tweaks
I love dark theme….I wish it was officially supported. Elementary OS Dev team suggest
against tweaks app ….but then I wanted dark theme.
Also I have added couple of icon themes as follows apart from default. These themes
just extend default theme. They make wingpanel icons look better .
Install Icon theme
sudo add-apt-repository ppa:cybre/elementaryplus sudo apt update sudo apt upgrade && sudo apt install elementaryplus sudo add-apt-repository ppa:elementary-add-team/icons sudo apt update sudo apt upgrade && sudo apt install elementary-add-icon-theme
Also few other icon themes that I have installed …..
sudo add-apt-repository ppa:papirus/papirus sudo apt-get update sudo apt-get install papirus-icon-theme
I prefer not to install any GTK themes as I love default Elementary GTK Theme
Sometimes tray icons doesnt fit right into existing theme, in such case hardcode-tray can be handy
sudo add-apt-repository ppa:andreas-angerer89/sni-qt-patched sudo apt update sudo apt install sni-qt sni-qt:i386 hardcode-tray
Font Viewer is available with default installation. For who want to use font manager install Font-Manager
sudo apt install font-manager
Dual Monitor Setup ( Not using this in Loki)
I use external monitor at home, after trying out various hacks, found this gem.
sudo apt-add-repository ppa:heathbar/multiplank sudo apt update sudo apt install multiplank
Once installed, enable multiplank by issuing the following command:
And to disable:
Also I use this for controlling my dual monitors
sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt update sudo apt install brightness-controller
Chrome is default browser and Opera, Firefox, Vivaldi when normal is boring.
Chrome is my default one with lots of chrome apps(feedly,tweedeck etc)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i ./google-chrome*.deb sudo apt-get install -f
I use it for its inbuilt vpn feature plus when ever I dont need chrome . I before Chrome came into existance Opera was my default browser.
Install from Appcenter
Lately using Feedly webapp
Scratch Text editor is the default one in Elementary OS, its a fork of Gedit.
Most of the text editing done on Scratch including this blog post. I have added few
color schemes other than default ones.
Sublime Text 3
Sublime Text has been my default since its launch and now theres official repo
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list sudo apt update && sudo apt install sublime-text
Now a days exploring VS Code and i started loving it sooner than expected as I used to descpice anything M$
Slack provides official client for linux
Install torrent client
Transmission from AppCenter
Java is needed for some of the java based apps that are installed like Enpass or Xmind.
sudo add-apt-repository -y ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
Install Node via NVM
Node is required for Firebase-tools that I use to deploy my websites.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash nvm ls-remote nvm install 6.11.0
Install LibreOffice Suites
sudo add-apt-repository ppa:libreoffice/ppa sudo apt updatew sudo apt install libreoffice-gtk2 libreoffice-gnome libreoffice-writer
sudo apt install gnome-disk-utility gnome-system-monitor gparted
Pencil V3 is a complete re-write using Githubs Electron .
Install from appcenter
All of my designs are done using Inkscape as of this writing.
sudo add-apt-repository ppa:inkscape.dev/stable sudo apt-get update sudo apt-get install inkscape
This is the latest addition
Installed the default package available from appcenter
Want to learn this some day just for fun. More interested in Motion Graphics. Installed the default package available from appcenter.
for some reasons official package doenst work as expected on elementary os. There is a workaround for that in the following link
git clone https://github.com/zant95/elementary-dropbox /tmp/elementary-dropbox bash /tmp/elementary-dropbox/install.sh sudo apt purge epiphany-browser epiphany-browser-data
I go with default faunts that come with elementary os. For text editors I use
Hermit Font which has been my go to font for years now.
Also I use Source Code Pro , which is another great font for texteditor/ide.
ProgrammingFonts is a good place to check
for font you would want to use.
Defacto , nothing comes close, though there is a elementary os native app BOOKWORM in developemnt
and it is slick and promising from what ever I have seen so far.
sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
Was looking for Dash alternative unitl i found this. Theres a nice integration into most of the code editors. The doc set is from DASH itsel. I have nicely integrated into Sublime and Brackets.
sudo add-apt-repository ppa:zeal-developers/ppa sudo apt-get update sudo apt-get install zeal
This is a must. Install it from appcenter
Enpass is my password manager. I use this because of cloud sync and mobile app. No matter whether I am using my mobile or pc or laptop I always have access to enpass.
Its free for desktop, though mobile edition costs you, check the pricing
Install Git Client
GitKraken I was missing Sourcetree untill I started using this. Its simple and clean UI is impressive. Its usefull for my basic needs of version control(mostly scripts and texts)
WebUpd8 Java PPA
Due to Oracle’s licensing restrictions, Java is no longer included within Ubuntu’s default packages list.
WebUpd8 team has provided a PPA that downloads and packages Java for you.
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
Startup Disk Creator
sudo apt-get install unetbootin
StartUP Disk Creator
sudo apt-get install usb-creator-gtk
WoeUSB (fork of WinUSB)
To create windows usb bootable installation media.
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt update sudo apt install woeusb
Or install from deb file
http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/w/woeusb/woeusb_2.1.2-1~webupd8~xenial_amd64.deb sudo dpkg -i woeusb_2.1.2-1~webupd8~xenial_amd64.deb http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/w/woeusb
Its obvious , its Filezilla client. Hope to see Trasmit like client on Linux.
sudo apt-get install filezilla
A simple utitly that forces you to take breaks
Some times when PPA installs go bad..this tool helps to restore
sudo apt-get install ppa-purge
sudo add-apt-repository ppa:wireshark-dev/stable sudo apt-get update sudo apt-get install wireshark
Download source code nmap 7 :
Unzip file and move to folder :
bzip2 -cd nmap-7.50.tar.bz2 | tar xvf - cd nmap-7.50
Configuration and Install from source code :
./configure make sudo make install
sudo apt-get install iperf
Documentations && Blogging
Recently I have started consolidating the technical docs I have dumped into my backups for years. I am trying to centralize all the guides and tutorials that I have saved as text files from over the time in my career. I found Sphinxto be suitable, also I am exploring MKDOCS too. I would like to publish this at some point as SysNetLabs . Mainly for myself though might be usefull for others too. Thats the idea.
sudo apt-get install python3-setuptools sudo easy_install3 pip sudo pip3 install Sphinx sudo pip3 install recommonmark
I use Hugo for my personal blog at kanthi.in . I have added hugo command to my system startup. Now every time I edit and save my post I have hugo autogenerate for me in the background. With dual monitor setup , this is a good workflow.
"hugo server --buildDrafts --watch --source=/home/king/Workspace/Repos/kanthi.in"
Baobab Disk Uage Analyzer
Its always good to have this tool.
sudo apt-get install baobab
I miss Evernote native client though i manage with chrome app
Variety Wallpaper Changer
Wallpaper plays a very important role for me ;-) . Variety is a wallpaper changer for linux os.
sudo add-apt-repository ppa:peterlevi/ppa sudo apt-get update sudo apt-get install variety
National Geo Wallpaper
wget https://launchpad.net/~atareao/+archive/ubuntu/atareao/+files/national-geographic-wallpaper_0.4.3-0extras16.04.0_all.deb sudo dpkg -i national-geographic-wallpaper_0.4.3-0extras16.04.0_all.deb
After trying out various tools I have decided on KAZAM . Its simple and usefull
Its a simple tool to record your screen and export into multiple formats including gif
Some of the gifs on this blogs are creating using the same.
sudo add-apt-repository ppa:peek-developers/stable sudo apt update sudo apt install peek
mogrify -path ../PathToFolder/ -format ico -density 600 -define icon:auto-resize=128,64,48,32,16 *.svg
When you do not want be disturbed by screen saver etc
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install screenkey
sudo apt-get install audacious
sudo apt-get install minitube
In the initial days of my iphone usage , handbrake was my saviour.
sudo add-apt-repository ppa:stebbins/handbrake-releases sudo apt update sudo apt install handbrake-gtk sudo apt install handbrake-cli
I used thunderbird in early days and Sparrow on MacOS which google acquired and killed it. I still have Sparrow on my Hackintosh ;-)
On Elementary OS theres default MAIL app which is nothing but fork of Geary , it comes as a native app as part of default installation. I still have issues with auto scaling of the app and a few crashes . Theres nothing else that comes close at the moment :(
Mobile Photography is one of my hobby. I find it challenging to take good pics using mobile. This started when I got my first iPhone and these days with OnePlus One
At the moment I do cloud sync of mobile pics with dropbox and google photos. So digikam is yet to be part of my workflow.
Most of work is done on my mobile with Snapseed. I intend
to learn how to use darktable
Music Creation (New to these tools)
So far considering these tools…still exploring
sudo apt install lmms
This is just for kicks. Ocassionally i have used auto mixx feature
sudo add-apt-repository ppa:mixxx/mixxx sudo apt update sudo apt install mixxx
The games that I have installed
DevOps Labs Virtualization
king@konquer:~$ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used sudo apt install qemu-kvm libvirt-bin bridge-utils virt-manager virtinst virt-viewer
Download the binary.
sudo vim /etc/apt/sources.list.d/virtualbox.list
Add following line
#For Ubuntu 16.04 ("Xenial") deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Add the keys
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - sudo apt update king@konquer:~$ apt-cache policy virtualbox-5.1 virtualbox-5.1: Installed: (none) Candidate: 5.1.22-115126~Ubuntu~xenial Version table: 5.1.22-115126~Ubuntu~xenial 500 500 http://download.virtualbox.org/virtualbox/debian xenial/contrib amd64 Packages sudo apt install virtualbox-5.1
Download the latest vagrant deb file https://www.vagrantup.com/
wget https://releases.hashicorp.com/vagrant/1.9.5/vagrant_1.9.5_x86_64.deb sudo dpkg -i vagrant_1.9.5_x86_64.deb
Follow the official documentation
sudo apt-get install software-properties-common sudo apt-add-repository ppa:ansible/ansible sudo apt-get update sudo apt-get install ansible
GNS3 V2 is no longer just for networking guys, with its new architecture gns3
use cases are beyond Cisco and GNS3 VM makes it more flexible, theres also
sudo add-apt-repository ppa:gns3/ppa sudo apt-get update sudo apt-get install gns3-gui
If you want IOU support:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install gns3-iou
Network Interface Names
Current Ubuntu versions have new naming convention of network interfaces, to get to old ways follow these steps
$ sudo nano /etc/default/grub Look for “GRUB_CMDLINE_LINUX” and add the following”net.ifnames=0 biosdevname=0“. From: GRUB_CMDLINE_LINUX="" To: GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Generate a new grub file using the following command. sudo grub-mkconfig -o /boot/grub/grub.cfg
A sepcial mention about the efforts of the dev with Appcenter. Its still young with great
future. There are already elementary specific tools
Finally I have taken complete disk image of the entire ssd using gnome-disk-utilty. Yet to test its restore
Eelementary : Wingpanel (More options to customize like auto-hide, slim etc whould be great for small screens)
Better Tray icons
Officcial dark mode
Computer Hardware : I wish to see real bezel less displays on laptop too. At the moment my fav is XPS Developer Edition. Unless something better comes
Mobile Hardware : Been using classic OnePlus One since it lanuched with multiboot. Exploring new roms when ever bored with out disturbing primary rom. Also I have Netrunner as one of the secondary roms…still yet to explore it completely. Having high hopes for next iPhone(8) release.
My Laptop has a 3G sim slot…..not sure how to use it in elementary Linux
As a final step, let’s get rid of packages and software that are not necessary and taking up our precious disk space.
sudo apt-get autoclean sudo apt-get clean
Further Elementary OS resources
Google plus group