Back of the Envelope

Observations on the Theory and Empirics of Mathematical Finance

Posts Tagged ‘Xubuntu

[OS] Moving to Xubuntu

with 2 comments

About a year and a half back I talked about my transition to Lubuntu. I found it pretty perfect for my usage, and have had no major issues with it but Chrome has been misbehaving a bit since I moved to LTS 16.04. While fixes exist, I couldn’t find anything permanent, and since I had some time I thought it might be a good opportunity to try the slightly more endowed Xubuntu – with a slightly larger user base while remaining sufficiently lean.

In the last couple of days, I have tested Xubuntu on my office desktop (i5) and my Asus laptop (i3). Its boot time is similar to Lubuntu, and Chrome and Firefox open quickly enough (if anything, a bit quicker than Lubuntu). Many settings are similar to those in Lubuntu (e.g. setting proxy), but setting keyboard shortcuts is even easier. So far I am not missing Lubuntu.

Building upon the earlier discussion on Lubuntu, here are my settings for a minimalist Xubuntu (on an i3 machine with 4 GB RAM). I use them in the following order:

  1. Disk partitioning scheme:
    /boot = 4 GB, /root = 16 GB, /swap = 4 GB, /tmp = 4 GB
    /opt = 6 GB, /var = 6 GB, /usr = 24 GB, /usr/local = 16 GB

    /home takes up the remaining space. I also leave about 24 GB space free for emergency.

  2.  First update:
    sudo apt-get update && sudo apt-get upgrade && sudo apt-get install aptitude
  3. Essentials:
    sudo aptitude install synaptic xubuntu-restricted-extras chromium-browser
    sudo aptitude install gdebi libboost-all-dev swig cmake git xdotool vlc
    sudo aptitude install python-gpgme mencoder curl libcurl4-openssl-dev
    sudo aptitude install usb-creator-gtk p7zip keepass2 cryptsetup cryptmount
    sudo aptitude install lame alsaplayer-common alsaplayer-text soundconverter
    sudo aptitude install pdftk pdfchain djview4 zathura zathura-ps zathura-djvu
    sudo aptitude install gparted gimp getmail4 gnome-search-tool ibritish
  4. At this stage I set-up Dropbox in a separate partition and let the folders sync. In the meantime I create the necessary documentation infrastructure:
    sudo aptitude install emacs auctex pandoc markdown texlive-full

    You may install auctex and ess directly from the emacs package manager (containing the more recent versions). I install ess after getting R.

  5. Keyboard shortcuts: Settings Manager -> Settings Editor -> xfce4-keyboard-shortcuts
  6. Printer: If you have a duplex printer, and it does not automatically respect duplex settings, you may have to set it to ON from Settings -> Printer. If you have an HP printer, hplip-gui (available from synaptic) is also useful.
  7. Speedup boot: 
    • Remove unnecessary start-up services (and add any) from Settings Manager -> Session and Startup
    • Create a file ~/.gtkrc-2.0 and paste the following: Hat-tip BinaryTides
      gtk-menu-popup-delay = 0
      gtk-menu-popdown-delay = 0
      gtk-menu-bar-popup-delay = 0
      gtk-enable-animations = 0
      gtk-timeout-expand = 0
      gtk-timeout-initial = 0
      gtk-timeout-repeat = 0
  8. Python-specific: Hat-tip  Chris’ sandbox
    sudo aptitude install gfortran g++ build-essential pkg-config
    sudo aptitude install python-dev python3-dev python-pip python3-pip
    sudo aptitude install python3-tk libatlas-dev liblapack-dev libblas-dev
    sudo aptitude install libfreetype6 libfreetype6-dev libpng-dev libjpeg8-dev

    I no longer use Anaconda for Python and install all necessary packages within virtual environments (a useful intro is here (option 3)). Jorgen Schaefer’s elpy package means that I don’t have to leave emacs at all.

    In particular, after setting the virtual environments, I have the following installed packages (in that order) for data science/financial modeling related work in emacs:

    pip install numpy scipy pandas matplotlib
    pip install sympy seaborn jupyter scikit-learn statsmodels
    pip install rope jedi flake8 importmagic autopep8 yapf

Written by Vineet

January 9, 2017 at 8:53 pm