Workstation¶
How to setup a Linux workstation¶
There are several basic principles
- Automate it.
- Keep to the old technologies
- Keep it really simple
I am coming to the conclusion that mainatining my own workstation build scripts is ... a bit pointless, and yet I still keep trying.
I have left the FreeBSD laptop world, and headed into Linux, but have not yet moved full scale into Mac. I know a number of people I respect who feel that move to mac simplified a lot of their needs
I have recently built a set of tools called weaver which I am using to manage the automation of. This then links back to the longer winded explanations of how and why in here. Some weaver commands maybe shown here.
Bootstrap Python¶
sudo apt-get install python python-dev python-pip pip install mkvirtualenv
Describe initial seetup and reasons
Next steps
- X
- slim
- emacs
- python
- plotting
- firefox
Installing X windows¶
We are going to keep this simple and straight
python devmanual/mikado-installer.py xfce4 xdm
We hope and pray that our graphucs cards and xfce4 play well together. If not read docs on fixing X - it is a long and lsow process. This is the time we think MAC is a good move.
We then configure xfce4 to correctly open up when X is started:
echo "exec startxfce4" > ~/.xinitrc
Then we simply reboot - XDM will ask for our login and then run .xinitrc We are good to go.
NB Many “modern” desktop environments no longer use .xinitrc because they do not activate via startx, instead these ‘first time starting X’ commands go into .xsession
Control Files¶
in /etc/X11 we find a number of files that are run on Xorg startup and then proceed to update or fix user session stuff.
- TBD
- fontpath.d
/etc/sysconfig https://www.sitepoint.com/understanding-nix-login-scripts/
The original Xterm¶
Thomas E. Dickey’s xterm was written in the mid-late ‘80’s and shipped with XFree86 It is the venerable version of X. History of X?
.Xresources¶
in our ~/.Xresources file we configure the xterm settings for our needs.
Firstly we get a half decent and free font
apt-get install xfonts-terminus
xset fp rehash
then use xlsfonts to see what fonts are available:
xlsfonts
xlsfonts | cut -b -20 | uniq | less
Then we alter out xterm settings in .Xresources as:
xterm*font: *-terminus-*-*-*-24-*
Then we set the database for xterm and update it:
xrdb -merge ~./Xresources
dnf/yum will install ‘/usr/share/fonts’ and we can list those with fc-list
Now I have installed google droid as a TTF, but I cannot use it in the console - I need to convert TTF over to console fonts using FOnt FOrge
For now I will use terminus in console and droid in emacs. As for the rest of X - I will look into it later.
This Xresources setting will give us a solarized look and feel for the terminal, similar to installing the emacs theme https://github.com/solarized/xresources/blob/master/Xresources.dark
we can review the excellent http://www.futurile.net/2016/06/15/xterm-256color-themes-molokai-terminal-theme/ for more details
How to get inconsolata?? THis is a Xwindows font not a terminal font. So ... I am going for terminus...
What is best unicode terminal
mlterm plus SCIM will allow chinese, arabic, RTL fonts https://en.wikipedia.org/wiki/Smart_Common_Input_Method
But its not following the .Xresources settings. So its more awkward
I am having fun installing inconsolata
apt-get install fonts-incolsolata works and I can see a .otf file in
ls /usr/share/fonts/truetype/ But that still not working Am converting OTF to TTF
apt-get install fontforge
font: *-inconsolata----24-* URxvt.font: -inconsolata----24-*,
-misc-fixed-bold-r-normal–15-140-75-75-c-90-iso10646-1,-misc-fixed-medium-r-normal–15-140-75-75-c-90-iso10646-1, [codeset=JISX0208]xft:Kochi Gothic:antialias=false, xft:Code2000:antialias=false
xfontsel¶
We can use xfontsel to help us with the slightly ridiculous XLFD style for font definitions - the long tortuous names like:
-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1
These are simple really, each - seperated field tells us things like foundary, fontname, size etc. https://wiki.archlinux.org/index.php/X_Logical_Font_Description gives good detail.
What we want is to load new fonts, and then see which line will give us the font we want, without getting too bogged down.
- NB
If -print is specified on the command line the selected font specifier will be written to standard output when the quit button is activated. Regardless of whether or not -print was specified, the font specifier may be made the PRIMARY (text) selection by activating the select button.
--terminus-----28-------
What a palaver. I should probably get a three-button mouse.
Colours¶
We can easily see the currently set terminal colours with a bash script:
for i in {0..255} ; do
printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
if (( ((i+1)) % 15 == 0 )); then
printf "\n";
fi
done
THis gives us a nice view of the colours currently set in the terminal
tip of the hat to https://askubuntu.com/questions/821157/print-a-256-color-test-pattern-in-the-terminal
emacs¶
the new location for .emacs file is ~/emacs.d/init.el:
(set-default-font "Droid Sans Mono-24")
Thats my complete setup now
NB We want .xsession and .xinitrc to be used. So we dont use modern gnome but use gnome-classic -which is a clicky thing to do at the xdm layer
Web services¶
- Mozilla cos its more free than Chrome, Chrome cos its got better developer
- tools for now
Prince XML¶
Download from http://www.princexml.com/download/ Its a free non-commerical,pay for commercial license (500 USD for single user desktop) We will need to also install
apt-get install libcurl3
Xterm, xmonad and urxvt¶
this is the font option (put in .XDefaults) that can http://blog.liangzan.net/blog/2012/01/19/my-solarized-themed-arch-linux-setup/ https://github.com/vicfryzel/xmonad-config https://wiki.haskell.org/Xmonad/Using_xmonad_in_Lubuntu
Biblio¶
Detailed Look at Fedora Boot Process https://docs-old.fedoraproject.org/en-US/Fedora/11/html/Installation_Guide/s1-boot-init-shutdown-process.html