Sunday, December 27, 2015

Installing a custom Latex .cls

You had recently installed Latex from the repo  or from the upstream iso image. Now you want your own custom latex class file to be installed in your system. So how to install it? Just follow these instructions.

Create a directory called texmf in $HOME. Create  a  directory called  tex inside an another directory called  latex and then another directory with a name of your choice. So finally it should resemble something like this

$HOME/texmf/tex/latex/New* 

* -- Directory name of your choice.

copy your .cls and the .tex files to that directory. Open the terminial and run

mktexlsr  $HOME/texmf

that's it you have installed your very own  Latex class file.

To check if the *.cls file is installed run  kpsewhich *.cls  in the terminal as a normal user it should return the location  of the *.cls file in the terminal.

DIY: Debian from Barebones

Have you ever  wanted to build your own linux system from the ground up like arch linux or LFS if yes then read on: You know debian offers variety of builds for their users there are cd images,DVD images and even a blue-ray image then there is also the small images like netinstall images. The netinstall images downloads the packages from the internet during installation and installs the packages and conigures it. But you don't want the bleeding edge software, you want the stability of debian with the attractiveness and the ease of use you get with the other distros. So with that in mind we'll build our own debian linux system.

1. Download the netinstall image from the debian website. Burn the image to a cd or an pendrive.

2.  Start the installer and partition your hard drives and install the base system.[I assume you can deal with this stuff.]

3. After apt asks you to choose the mirror it will ask for the desktop environment to install, at that time uncheck every thing even the standard system utilities if you are installing it in a laptop choose laptop-utilities and standard system utilities and continue.

4. Then it will install the Grub boot loader and will reboot.

5. After reboot you will be presented with the command line login prompt.

6. Login as user. Become root, edit the Sources.list file. In the sources.list file remove all the lines and replace it with this

deb http://httpredir.debian.org/debian/ jessie main contrib non-free
deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free

save the file.  use the nano editor it is the easiest. httpredir is a new method of choosing your debian mirror automatically and also it results in faster downloads you can read more about it in http://httpredir.debian.org/

7. After changing your sources.list  reload apt with apt-get update.

8. Install  Xorg, Xfce4 and pulseaudio. [I'm choosing the xfce desktop because of it's ease of use and attractiveness and being lightweight] but if you prefer an another desktop environment it is your  choice.

apt-get install xorg
apt-get install pulseaudio pavucontrol
apt-get install xfce4

If you don't want pulseaudio just skip that step.

9. Install login manager. there are different login managers of choice they are gdm,kdm,xdm,lightdm and slim. I'm going with slim login manager because it's independent,lightweight and easy to configure in a single file. So,

apt-get install slim

10. Reboot with the following command 

systemctl reboot

11. Slim will configure your desktop environment and you will be presented with a  graphical login prompt.Login as user.

12. Open up the terminal. Become root, install synaptic package manager and xfce4-goodies.

apt-get install synaptic 
apt-get install xfce4-goodies

13. So we have a very skeletal desktop environment. We need to install applications to make it more functional. First let's start with graphics section. There are lot of image viewers such as gpicview,shotwell,ristretto,feh,etc. for our image viewer we'll install Shotwell image viewer. since we have installed synaptic package manager you can search for shotwell package manager.

14. So in synaptic search for font manager and install it. If you have a collection of fonts in your system you can use it to install it in your system.

15. Install  Vlc player [Necessary], Exaile music player[optional].

16. Install openjdk-7 and iced tea plugin.

17. Install Iceweasel,Icedove if you want email client,Transmission bit torrent client,Chromium web browser, flashplugin-nonfree and pepperflashplugin- nonfree. You may ask why you might need two browsers, one word: Flash.Since adobe is phasing out support for flash in linux platform and only Google is supporting flash with their own plugin you may as well get used to chromium. Chromium is the open source version of the google chrome web browser.

18. Install rar,unrar,lzma,lzip,zip and numlockx.

19. Install Atril document viewer, Fbreader. For office work you can use the kingsoft wps office  else you can install abiword for word processing and gnumeric for spreadsheet and for presentation install libreoffice-core and libreoffice impress.

20. Install Gparted for managing your partition and Ntfs-config for configuring your ntfs partition or your external hard drive.

21. If you open the VLC player at this point  it will look something that came from the  windows 98, its because VLC was written using qt library so to make it look beautiful go to tools->Preferences->force window style -> choose GTK+.

22. Install qt4-qtconfig and Gtk-chtheme.The qt4-qtconfig package will maintain GTK look and feel for all QT applications installed in your system. and the Gtk-chtheme will change the gtk themes for your apps.

23. Install all the Gtk themes and the Faenza icon theme. [I'm leaving the themes choice upto the user.]

24. Add the user to the group root. From the terminal type the following command 

usermod -a -G  root  user 

25. Install sudo and  make the user member of group sudo and add the following line in /etc/sudoers   under the heading user privilege specification.

user     ALL=(ALL:ALL) ALL

26. Download slim themes from here and here.
a.  Extract the downloaded archive.
b.  Become root  and copy the extracted folder to  /usr/share/slim/themes 
c.  Edit /etc/slim.conf
d.  Goto to the section current theme and change  the name of the theme to the one you like.
e.  In the numlock section make sure to change the value to 'on'

27. Install ttf-mscorefonts-installer from the synaptic package manager.

28. To improve your security install gufw firewall from the synaptic package manager.

29. If you have multimedia keyboard chances are that you have a lot of buttons in your keyboard that isn't mapped by default so we have to configure it. Go to settings -> keyboard ->Application shortcut  click add  a dialog box will open in the command box enter the command to perform click ok and then press the key it will mapped to that key.
For example if I want to map the print screen key to do a screenshot of my computer then goto settings -> keyboard ->application shortcut -> click add -> in the command box type \usr\bin\scrot [you must have installed scrot] click  ok and then press the print screen key in the keyboard and that's it  your shortcut is mapped to the key.
OPTIONAL:

1.If you are a fan of Manga or comics then install Comix.

2.If you need a Bible software install Xiphos.

3.If you need phonetic transliteration then install ibus,m17n-imconfig and m17n-db. And add the following lines in your .bashrc

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

Goto settings -> Session and Startup ->Application auto start -> name [ibus] command [/usr/bin/ibus] then go to advanced and check the boxes for gnome and kde services to start at startup.

4.  Install Geany IDE if you are learning a programing language. It supports  C, C++, Python and perl.
5. Install gnuplot,plotdrop and Rlplot [if you want the easy way].

6. If you want MATLAB alternative install Scilab.

7. For data analysis install R programming language. There is an IDE specifically for R called R-studio it is not in the repo but you can download it from their website

8. Install TeXLive2015 or from the repo and install Texmaker  if you really want to use latex.[Install perl-tk first]

9. If you are intrested in research and will be publishing papers then Install Mendeley.It can be used as an reference manager , download your papers if is open-access and can also search for papers.
  
10. If you like to play old Nintendo games then install  Nestopia.

11. If you have online storage  such as dropbox  then you can install it  by adding the following line to your sources.list.

deb http://linux.dropbox.com/debian jessie main

To import the  GPG keys of Dropbox into your apt repository, perform the following command from your terminal shell:
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E
 
reload the repo in the synaptic package manager and install dropbox from synaptic.

12 . There are  some third party repositories available for Debian.

13. Deb-multimedia hosts newer versions of multimedia packages that is shipped with debian. to add the deb-multimedia repo to your sources.llist follow these instructions.
  
wget  https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2015.6.1_all.deb 
sudo dpkg -i deb-multimedia-keyring_2015.6.1_all.deb
apt-get update  

become root and open a file called /etc/apt/preferences using nano and add the following lines

Package: *
Pin: release a=deb-multimedia
Pin-Priority: 800

Package: *
Pin: release a=jessie
Pin-Priority: 750
 

save the file. what I did was I gave deb-multimedia repo higher priority over debian  repo when installing multimedia packages.

when you open synaptic package manager click reload then click mark all upgrades it should list upgrades install them and you are done. Also don't forget to install libdvdcss2.

 16. Some people  just want  to have Mozilla Firefox  they can dowload it from the Mozilla firefox website. Extract the package and run firefox.

17. If you are ok with iceweasel but want to have latest  version of it then follow these instructions. 

a. Install pkg-mozilla-archive-keyring from the synaptic package manager.

b. Edit your sources.list file and add  the   following lines

deb http://mozilla.debian.net/ jessie-backports iceweasel-release
 
You can install it with the following commands:
apt-get update 
apt-get install -t jessie-backports iceweasel
 
For more information you can read it in mozilla debian team's website.

18 For Indian  Languages fonts install the fonts-indic metapackage from the synaptic package manager to install  fonts Indian languages.

19. If you want oracle java for your system then do the following.

a. Install java-package from the synaptic package manager and exit.
b.Download oracle java jdk from the oracle java website.
c. Download the tar.gz version of oracle java for your architecture. 
d. open terminal and as normal user give the following commands
make-jpkg jdk-8u51-linux-x64.tar.gz
Become root and install java with the following command.  
dpkg -i oracle-java8-jdk_8u51_amd64.deb
If you need more information about goto Debian wiki.   

And that's it your very own Debian system. Here's a preview of my desktop
and my login screen.


Monday, September 21, 2015

COPY file sharing software referral

COPY is a file sharing software and online cloud backup solution. Unlike dropbox  COPY gives you a  15 GB for a free account and extra  5 GB for both the referrer and the one who installs the software. COPY is available for windows,Linux,Mac,iOS, and Android. Click on the link below for your extra  5 GB.

Dropbox Referral and claim your extra 500 MB

Dropbox

Dropbox is a file sharing and online cloud storage solution. I have been using it for more than five years. It gives you a 2 GB free space for a free account and 500 MB extra for every referrals for both of us so click on the link below to claim your extra 500 MB folks.

List of Must have software in Debian

General purpose

kingsoft Wps office or libreoffice
Vlc
SMplayer
Iceweasel
Chrome
Wordnet
comix
Radiotray
Audacity
Geany
Dropbox
SpiderOak
Synaptic package manager / Gdebi
Avidemux
WinFF video convertor
Uget download manager
Fbreader - ebook reader
IBUS

Special Purpose

Mendeley Desktop - Reference manager
Xiphos bible Guide - Bible software
Scilab - Alternative to MATLAB
Nestopia - Nintendo emulator
Dosbox
Latex/Texworks/Texmaker

Saturday, September 5, 2015

Installing TeX live in Debian

Tex is a  document preparation system based on what you see is what you mean paradigm that lets you focus more on the text rather than formatting. In Debian it is available in the repository all one had to is to use synaptic package manager to install it. Another way is to download the original Tex live iso file from TUG and install it. 
This post tells you how to install Tex live in Debian. 
Step -1:Download the iso from  https://www.tug.org/texlive/acquire-iso.html 
Step-2: Mount the iso by becoming root
Step-3: Become normal user and give the following command
./install-tl -gui 
for this command to work you must have perl-tk package has to be installed.
Step-4: Change the TEXDIR to your /home or /opt
Step-5: Click install TeX live at the bottom
Step-6: After installing TeX live open .bashrc file
Step-7: Add the following lines at the of .bashrc file
For 64-bit system

export PATH=/path to TeXlive/Tex/bin/x86_64-linux:$PATH
export MANPATH=/path to TeXlive/Tex/texmf-dist/doc/man:$MANPATH
export INFOPATH=/path to TeXlive/Tex/texmf-dist/doc/info:$INFOPATH
 
For 32-bit system

export PATH=/path to TeXlive/Tex/bin/i386-linux:$PATH
export MANPATH=/path to TeXlive/Tex/texmf-dist/doc/man:$MANPATH
export INFOPATH=/path to TeXlive/Tex/texmf-dist/doc/info:$INFOPATHT

Logout and log in and that's it you have installed  TeXlive.

This will only give you a command line interface to the TeX. There are various frontend available for TeX such as TeXworks, TeXMaker, Gummi, Lyx are a few of them. My favorites are TeXworks and TeXMaker. All the front end are available in the repository but the problem is it will try to install the LaTex from the repo you have change their priority so that they don't get installed. Another way is to get upstream packages of TeXworks or TeXmaker and they have the required binary for the current stable download them and install them using gdebi or dpkg. I'll give the download link of  TeXmaker
1) http://www.xm1math.net/texmaker/download.html#linux

TeXworks: 

After installing TeXworks go to Edit --------> Preferences and go to typesetting and add the binary path of Tex.

TeXmaker:

Go to options ----------> configure Texmaker in that add the path of tex binary. 
for example in pdflatex coloumn 
select the pdflatex binary from the install path. and click ok.

Ghostscript and ps2pdf don't have their binaries  in /path to Tex/TeX/bin/ instead it is in /usr/bin select the binary and click OK and that's it.

My Favorite Linux distro's

1. Opensuse

OpenSuse was my first linux distro. I borrowed the install cd from my local vendor and It was pretty straight forward to install and I found it easier to use.I must say I loved it.Of all the RPM based distro's out there opensuse is the best, it has a good package manager called Zypper and has a lot of software packages in their repository and also great documentation.In my words I would always say better Opensuse than Ubuntu.

2. Debian

After using opensuse I began to read to what is linux and how it came into being and I read about Debian and how they elect their own leader and their  policy towards stability moved me. My experience with debian is, it is a rock solid distro and you must have a death wish to break it. Once installed you can fine tune debian to your needs. As Dorothy  in wizard of Oz would say " There is no place like home"  I would say "there is no place like Debian". Even though many people say debian is suited only for servers, the truth is it is a good desktop distro as well. The goal of debian linux is to provide a stable os suited for production machines and to have a universal operating system for major computer architectures.Those who want stability rather than bleeding edge software that breaks your system, Debian is your best bet.

3. Slackware

I Installed Slackware for a bit of a adventure and it certainly was an adventure. Slackware follows the simple policy: If it isn't broke don't try to fix it. It doesn't patch heavily that is why it's called Vanilla  distribution.There is a saying if you learn redhat or debian you only learn that if you learn slackware you learn linux and remember people it is a golden word. It doesn't handle dependencies in installing software like apt-get. The user gets to install every other dependencies himself. Also you don't use binaries like deb or rpm; you  use source tarballs to install the software you need. There are tools like slapt-get in Slackware they have limited software in repo it's better to use slack builds it's like manual installing in the process you learn what each software is and why they are needed. Let me give you a perspective, VLC  isn't installed by default in slackware although there is AlienBob's  binary slackware package for VLC (Yes there are binary slackware packages it ends with .tgz) I tried to compile from source using slackbuild it took me one and half hour to download all the packages and compile and installation took another three hours,by doing this I learned why each package is needed and also made judgement if a certain optional package is also needed or not. If it had been debian or suse or fedora enverything would have been handled by the package manager but by going through slackware's way one knows which package is installed why they are needed.Like Debian, Slackware is stable suited for both desktop and servers but somehow most people judge both Debian and Slackware are to be used only for servers but in reality it can also be used for desktop it's just people doesn't see it. People today see poison wrapped in shiny box and say they love it  but medicine in a plain box they discard it even though it is good for one's health( it's midnight that's why I'm philosophic)  that is what's going on in software world too. All i'm saying is that both Slackware and Debian doesn't  get the recognition they deserve. Also I thank AlienBob a.k.a Eric Hameleers for providing binary packages for Slackware  and  tips for making life easier for every Slackware  user out there.

P.S: The ranking I made in this list is certainly random.

Friday, September 4, 2015

Indian language[Tamil] in LaTEX

Even though I knew about LaTex (not the rubber, people)  I didn't even try to learn about it until i wanted to write my project report in Latex (The university wanted the project to be written using MS word) anyway I completed my report in Latex afterwards I thought if I can write Indian languages especially Tamil and Hindi using Latex, so I searched Google (every student's best friend and also for the anti-vaxxers) there were bits and pieces for it one solution recommended using itrans and after searching various forums I came at the following code for indian languages

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\tamilfont{Lohit Tamil}
\usepackage{polyglossia}
\setmainlanguage{tamil}
\begin{document}
 வணக்கம்
\end{document}

and compile using XeLatex or LuaLatex and after compiling successfully you will have a pdf file.Of all the Tamil fonts I found Lohit Tamil font worked best other than that TAM family of tamil fonts gives good rendering but not like Lohit Tamil. I believe there is  an another code which does not use the polyglossia package for compiling indian languages if any of you had another code please put it in comments.

P.S: 1. It didn't compile for Hindi
       2. My Project guide said  Latex Times new roman font didn't look like the Times New roman font at all. I mean how do they find it, now that's a million dollar question.

Sunday, July 26, 2015

Debian Linux Tips

1. Writing file name with spaces:

In linux spaces are not recognized, so if you type it with spaces. The work around is to put double quotation in the file name:

Code:
ben@debian$ cd "new folder"

2. Mounting iso file in linux:

To mount iso file in linux in the command line issue the following command

ben@debian# mount -o loop  abc.iso  /mnt/iso

3. Adding fortune and cowsay in Bash

To add fortune and cowsay in bash edit the .bashrc file in  your home folder, it is a hidden file unhide the file and open the file and add the following lines to the .bashrc file

 if [ -x /usr/share/games/cows -a -x /usr/share/games/fortunes ]; then
        fortune | cowsay
    fi


there are more than one way of doing things another way to add fortune and cowsay in bash is  

fortune | cowsay -f `ls -1 /usr/share/games/cows/ | sort -R | head -1` -n
 
this will give a random fortune and random cow. 
 


Monday, July 20, 2015

My short review on Debian 8.1 [Jessie]

Debian released it's much awaited release of Jessie featuring SystemD as the new default init system. SysV init still available as a choiche though. I tried  both GNOME and  XFCE.
         I was once a fan of gnome as it was fast and very responsive compared to KDE at the time of  Debian 5 and  when gnome3 was released after trying it, i hated it because it moved away from traditional desktop and it was hard to use as a desktop and so I switched to XFCE  but in jessie both  Gnome and Debian developers  brought a way to bring the traditional desktop using the Gnome shell extension and  I must say it was good to have the traditional desktop back. Compared to the previous debian release the implementation of Gnome in this version is good.
           XFCE is traditionally geared towards older hardware. Let's just say XFCE can be just as awesome as GNOME or KDE while keeping the memory low and can have both Qt and GTK apps working well seamlessly. well I'm not going delve into what software version is in and what not but i'll  tell you what my experience is. Software for daily needs are in GNOME and for XFCE some of the software  may have to be installed from the debian repo.
                       One thing that irritated me the most was IBus implementation in XFCE  because XFCE doesn't have native support to ibus compared to gnome and kde  only after an couple of hours of google searching and after many attempts could i implement the ibus in XFCE. Another thing is the mounting of NTFS partions it requires a password for mounting it for every session I think it's nothing but a hassle on desktop users who are the only users on the system.
                           Finally it's about SystemD, I read the discussions in the mailing list both for and against it.I personally feel that those who against it, have two specific  valid points such as binary logging and mission creep. I don't have the requisite knowledge about how operating system works, etc ,etc i hope you get the picture.The SystemD developers say binary logging can be turned off  which is true by the way but the second point "Mission creep" is certainly valid. Because SystemD surpasses what an init system should do. There are lot of website that deals with SystemD on how to avoid it and there are also proponents of  SystemD. In the debian implementation it certainly did offered an faster boot and faster shutdown.But never during the time of using Debian did I ever have an system freeze like windows or had to reboot after an update like in Jessie, certainly this is irksome. 
                        All in all Debian Jessie gives back what it promises a stable desktop for a production machine. I thank the Debian developers and maintainers for giving the community an another  rock solid distro.

P.S: 1. Debian developers may look into UselessD a stripped down version of SystemD for default init which may be acceptable for the Debian community.
2. You may think i harbor a grudge against KDE but it's not the case also i've also not mentioned both MATE and Cinnamon because i've not tried it. 
3. Debian implementation on KDE definitely needs some improvement based on my previous experience of it. If you compare  slackware KDE  or openSuse KDE with Debian KDE then any sane person would agree that there is still room for improvement in Debian KDE.

Popular Posts