How to quickly setup a dev. envrionment on linux
By kirk86, , 0 comments.

How to quickly setup a linux development environment

Everyone these days is using virtual machines or some sort of a server using linux. Sine I'm also one of those people where my day to day laptop runs OS X, my home computer runs Arch and my work computer runs Ubuntu and CentoOS, so I decide that it would be a good idea to automate somehow this workflow whenever I would have to create or destroy a virtual machine for my developent environment without too much of a hassle. Thus, for this purpose I crated an automated script to quickly setup a developemnt environment on debian based distros such as Ubuntu for the moment. It has been tested on Ubuntu 16.04 codename xenial.

What exactly does it do? Well, first it starts by updating your system including the installed packages and kernel. It also installs all the necessary tools for building software from source including but not limited to gcc, g++ and gortran.

Later it sets up a minimalistic desktop environment for you to work on based on LXDE, which is fast and light. Be aware that this is indeed very minimalistic, in that it does not include a web browser or pdf reader and many more stuff. You would have to install them by yourself if you want that or alternatively modify the script to install the full fledged LXDE if that's what you want. This should be easier and quicker than installing additional software as you go along and feel the need for them.

Next, it installs a vnc server for you to have access to your linux box using remote desktop. In this case its using tighervnc for this purpose which also operates Xvnc, meaning more secure connections. During the installation the script creates a user tigervncuser which is used as the deafult user when you vnc into your linux box. The script also sets a password for that user. During the installation you'll be asked to provide a password for the new user tigervncuser and also a password for accessing your vnc box when you remote desktop into it.

If you feel that you need more security then you can always tunnel your connection prior to vnc-ing into your box.

Last but not least, the script installs high performance libraries such as OpenBLAS and development software from which the user can choose to either install miniconda or anaconda. It also installs Theano and Torch7.

In the end you'll have a python and torch developemnt environment ready to go. I'm also trying to port the script to arch linux and also add some nice additions for the terminal in general. In the end I'm afraid I'm gonna have to also have an additional port of it for OS X so that everything is consistent between my environments.

You can download the script from here.