Nxl67170 - Ubuntu: Difference between revisions

From miki
Jump to navigation Jump to search
 
(57 intermediate revisions by the same user not shown)
Line 30: Line 30:
* Installed with apt (original version 4.2.8)
* Installed with apt (original version 4.2.8)
* VirtualBox is launched as user '''vbox''' (see [[VirtualBox]])
* VirtualBox is launched as user '''vbox''' (see [[VirtualBox]])
* Create a launcher in <tt>~/.local/share/applications/virtualbox-root.desktop</tt>
* Create launcher
{{hiddenSourceFile|~/.local/share/applications/|virtualbox-root.desktop|content=
{{pl2|<source lang=bash>
<source lang=bash>
#!/usr/bin/env xdg-open
#!/usr/bin/env xdg-open


Line 46: Line 47:
Icon=VBox
Icon=VBox
</source>}}
</source>}}
* Script to reset network / bluetooth after suspend / network env. change (see [[VirtualBox]])
|-
|-
|'''Privoxy''' (<tt>privoxy</tt>)||
|'''Privoxy''' (<tt>privoxy</tt>)||
Line 51: Line 53:
|'''Gufw''' (<tt>gufw</tt>)||graphical front-end to ''ufw''
|'''Gufw''' (<tt>gufw</tt>)||graphical front-end to ''ufw''
|-
|-
|'''SSH Tunnel script''' (<tt>sshtunnel.pl</tt>, <tt>libssl-dev</tt>)||Thierry Walrant's Perl script <tt>sshtunnel.pl</tt>
|'''SSH Tunnel script''' (<tt>sshtunnel.pl</tt>, <tt>libssl-dev</tt>)||Thierry Walrant's Perl script {{file|sshtunnel.pl}}
|-
|-
|'''LAMP''' (<tt>apache2 php5 mysql-server mysql-client php5-mysql</tt>)||See [[#LAMP|local config]]
|'''LAMP''' (<tt>apache2 php5 mysql-server mysql-client php5-mysql</tt>)||See [[#LAMP|local config]]
Line 67: Line 69:
|'''NTP''' (<tt>ntp</tt>)||
|'''NTP''' (<tt>ntp</tt>)||
* synchronize with NTP server automatically
* synchronize with NTP server automatically
* add to <tt>/etc/ntp.conf</tt>:
* add to {{file|/etc/ntp.conf}}:
<pre>server wbi.nxp.com iburst</pre>
<pre>server wbi.nxp.com iburst</pre>
|-
|-
Line 75: Line 77:
|-
|-
|'''TrueCrypt'''||<small>v7.1a, with AES-NI instructions!
|'''TrueCrypt'''||<small>v7.1a, with AES-NI instructions!
* Preferences &rarr; '''uncheck''' ''Preserve modification timestamp of file containers'' (such that they are included in rsync backup without need for <code>--checksum</code>).
|-
|-
|'''Samba Server''' (<tt>samba smbfs</tt>)||See [[#Samba|local config]]
|'''Samba Server''' (<tt>samba smbfs</tt>)||See [[#Samba|local config]]
Line 90: Line 93:
|'''CUPS PDF''' (<tt>cups-pdf</tt>)||Allow CUPS to access ~/PDF:<source lang="bash" enclose="prevalid">sudo aa-complain cupsd</source>
|'''CUPS PDF''' (<tt>cups-pdf</tt>)||Allow CUPS to access ~/PDF:<source lang="bash" enclose="prevalid">sudo aa-complain cupsd</source>
|-
|-
|'''LaTeX'''||
|'''LaTeX''' (<tt>texlive texlive-xetex latex2hml</tt>)||Including XeTeX package<br/>Upgraded to TeX Live 2012 (from ''texlive-backports'' ppa)
* See [[LaTeX]] for install instructions
|-
* Complete TeXLive 2013 install (at {{file|/usr/local/texlive/2013}}, with symlink at {{file|/opt/texbin}}).
|'''TeX Extra packages''' (<tt>texlive-plain-extra texlive-science texlive-latex-extra texlive-publishers texlive-fonts-extra cm-super</tt>)
|
* Soul package requires CTAN color package - see [http://www.tex.ac.uk/tex-archive/macros/latex/contrib/soul/soul.pdf]
* <small>[2011-01-14]</small> Added texlive-science.
* Upgraded to TeX Live 2012 (from ''texlive-backports'' ppa) &mdash; requires package ''texlive-latex-extra''
* <small>[2013-12-18]</small> Added texlive-publishers, texlive-fonts-extra, cm-super.
* Update ''pdftex.map'' in the user profile (see [http://tex.stackexchange.com/questions/31388/getting-strange-error-with-miktex-when-trying-to-use-kpfonts-package]):
* Update ''pdftex.map'' in the user profile (see [http://tex.stackexchange.com/questions/31388/getting-strange-error-with-miktex-when-trying-to-use-kpfonts-package]):
<source lang=bash>
<source lang=bash>
updmap # Update user's pdftex.map
updmap # Update user's pdftex.map
</source>
</source>

|-
|-
|'''Google Earth''' (<tt>googleearth googleearth-data</tt>)||Requires [[Ubuntu#Medibuntu|'''Medibuntu''' repository]]
|'''Google Earth''' (<tt>googleearth googleearth-data</tt>)||Requires [[Ubuntu#Medibuntu|'''Medibuntu''' repository]]
Line 110: Line 107:
|'''pdftk''' (<tt>pdftk</tt>)||
|'''pdftk''' (<tt>pdftk</tt>)||
|-
|-
|'''Git''' (<tt>git-gui gitk git-doc gitweb</tt>)||<small>[2013-02-20]</small> &mdash; {{red|Updated to 1.7.10.5}} compiled from source.<br/>
|'''Git''' (<tt>git-gui gitk git-doc gitweb</tt>)||
* <small>[2013-02-20]</small> &mdash; {{red|Updated to 1.7.10.5}} compiled from source.<br/>
<source lang=bash>
<source lang=bash>
sudo apt-get install autoconf zlib1g-dev libcurl4-openssl-dev expat asciidoc # More packages might be needed
sudo apt-get install autoconf zlib1g-dev libcurl4-openssl-dev expat asciidoc # More packages might be needed
Line 120: Line 118:
sudo make install install-doc install-html
sudo make install install-doc install-html
</source>
</source>
<small>[2013-02-20]</small> &mdash; Installed '''tileqt''' tcl/tk widget theme for ''gitk'' (see [[Git#Configuration|here]]).
* <small>[2013-02-20]</small> &mdash; Installed '''tileqt''' tcl/tk widget theme for ''gitk'' (see [[Git#Configuration|here]]).
* Add system user '''git''' but using shell <code>/usr/bin/git-shell</code>:
<source lang=bash>
sudo adduser --system --home /home/git --shell /usr/bin/git-shell git
# Add ssh keys to ~git/.ssh/authorized_keys
</source>
|-
|-
|Some '''git browsers''' (<tt>qgit gitg source-highlight</tt>)||<small>[2013-02-20]</small> {{red|gitg updated to 0.0.7! }}
|Some '''git browsers''' (<tt>qgit gitg source-highlight</tt>)||<small>[2013-02-20]</small> {{red|gitg updated to 0.0.7! }}
Line 136: Line 139:
|'''KDiff3-QT''' (<tt>kdiff3-qt</tt>)||(QT version has no dep on KDE) Settings &rarr; Integration &rarr; add <tt>;--</tt> to command line opts to ignore, and check ''Quit also via Escape key''
|'''KDiff3-QT''' (<tt>kdiff3-qt</tt>)||(QT version has no dep on KDE) Settings &rarr; Integration &rarr; add <tt>;--</tt> to command line opts to ignore, and check ''Quit also via Escape key''
|-
|-
|'''Diffstat''' (<tt>diffstat</tt>)||A better grep...
|'''Diffstat''' (<tt>diffstat</tt>)||
|-
|-
|'''[[Linux Commands#ack|Ack]]''' (<tt>ack-grep</tt>)||A better grep... <source lang=bash>sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack</source>
|'''[[Linux Commands#ack|Ack]]''' (<tt>ack-grep</tt>)||A better grep... <source lang=bash>sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack</source>
|-
|'''[[Linux Commands#ag|Ag]]''' (<tt>silversearcher-ag</tt>)||A better ack... Installed grom git.
|-
|-
|'''Hexedit''' (<tt>hexedit</tt>)||Hex editor
|'''Hexedit''' (<tt>hexedit</tt>)||Hex editor
Line 160: Line 165:
|'''pipe viewer''' (<tt>pv</tt>)||
|'''pipe viewer''' (<tt>pv</tt>)||
|-
|-
|'''Acrobat Reader''' (<tt>acroread</tt>)||Edit mime type in <tt>~/.local/share/applications/mimeapps.list</tt>:<source lang="bash">
|'''Acrobat Reader''' (<tt>acroread</tt>)||Edit mime type in {{file|~/.local/share/applications/mimeapps.list}}:<source lang="bash">
[Added Associations]
[Added Associations]
application/pdf=acroread.desktop;evince.desktop;gimp.desktop
application/pdf=acroread.desktop;evince.desktop;gimp.desktop
</source>
</source>
Add to <tt>~/.mailcap</tt>:
Add to {{file|~/.mailcap}}:
<source lang="bash">
<source lang="bash">
application/pdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/pdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
Line 181: Line 186:
|'''[http://todotxt.com/ todo.txt]'''
|'''[http://todotxt.com/ todo.txt]'''
|
|
* Copy <tt>todo.sh</tt> to <tt>/usr/local/bin</tt>, <tt>todo_completion</tt> to <tt>/etc/bash_completion.d</tt>
* Copy {{file|todo.sh}} to {{file|/usr/local/bin}}, {{file|todo_completion}} to {{file|/etc/bash_completion.d}}
* Copy <tt>[http://superuser.com/questions/361774/how-to-highlight-contexts-projects-in-todo-txt colorSymbols]</tt> to <tt>/usr/local/bin</tt>
* Copy {{file|[http://superuser.com/questions/361774/how-to-highlight-contexts-projects-in-todo-txt colorSymbols]}} to {{file|/usr/local/bin}}
* Update <tt>colorSymbols</tt> filter to process attachment (<code> #attach</code>)
* Update {{file|colorSymbols}} filter to process attachment (<code> #attach</code>)
|-
|-
|'''Unison 2.27.57''' (<tt>unison2.27.57</tt>)
|'''Unison 2.27.57''' (<tt>unison2.27.57</tt>)
Line 192: Line 197:
|-
|-
|'''encFS''' (<tt>encfs</tt>)||
|'''encFS''' (<tt>encfs</tt>)||
|-
|'''Pidgin + SIPE''' (<tt>pidgin pidgin-sipe</tt>)||
* Configure SIPE plugin as:
** Basic &mdash; Protocol: Office Communicator, Username: '''michael.peeters@nxp.com''', Login: '''michael.peeters@nxp.com''', Password: '''xxxxx'''
** Advanced &mdash; Server: '''sipdir.online.lync.com:443''', Connection type: '''SSL/TLS''', User Agent: '''UCCAPI/4.0.7577.314 OC/4.0.7577.314 (Microsoft Lync 2010)''', Authentication scheme: '''TLS-DSK'''
* See [http://sourceforge.net/p/sipe/wiki/Frequently%20Asked%20Questions/ SIPE FAQ] for info on ''User Agent'' string.
|-
|'''MoreUtils''' (<tt>moreutils</tt>)||For <code>chronic</code> (used in crontab)
|}
|}


Line 249: Line 262:
|'''custom udev rules'''||{{blue|(NXP Telematics ATOP dev)}}<br/>File <tt>/etc/udev/rules.d/10-plugdev_hub.rules</tt>
|'''custom udev rules'''||{{blue|(NXP Telematics ATOP dev)}}<br/>File <tt>/etc/udev/rules.d/10-plugdev_hub.rules</tt>
<source lang=bash>
<source lang=bash>
# Basic rule - set group 'plugdev' for all USB HUB
#SUBSYSTEMS=="usb", ATTR{bDeviceClass}=="09", MODE="660", GROUP="plugdev"

# More advanced rule, only set 'plugdev' grp for hub that have an FTDI board connected to them
#SUBSYSTEM=="tty", DRIVERS=="ftdi_sio", RUN+="/etc/udev/rules.d/plugdev_hub.sh"

# Even better, this rules also detects board removal, which allow to reset grp to 'root'
# Even better, this rules also detects board removal, which allow to reset grp to 'root'
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", RUN+="/etc/udev/rules.d/plugdev_hub.sh"
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", RUN+="/etc/udev/rules.d/plugdev_hub.sh"
Line 283: Line 302:
else
else
resetgrp $F # remove
resetgrp $F # remove
true
fi
fi
break
break
Line 289: Line 309:
F=$(dirname $F)
F=$(dirname $F)
done
done
fi
</source>
|-
|'''pypy''' (<tt>pypy</tt>)||
* Install <code>pypy</code> as virtual environment in {{file|~/bin/local/pypy-env}} (see [[Python]])
* Install alias in {{file|~/bin/local/bashrc.local}}:
<source lang=bash>
if [ -a ~/bin/local/pypy-env/bin/pypy ]; then
alias pypy=~/bin/local/pypy-env/bin/pypy
fi
fi
</source>
</source>
Line 315: Line 344:
|-
|-
|'''Stream Tuner 2 & Ripper''' (<tt>streamtuner2 streamripper</tt>)||get a list of internet radios
|'''Stream Tuner 2 & Ripper''' (<tt>streamtuner2 streamripper</tt>)||get a list of internet radios
|-
|'''pdfpc''' (<tt>pdf-presenter-console</tt>)||Note: this really installs David Vilar's fork (version 3.x) ([http://davvil.github.io/pdfpc/ pdfpc])
|}
|}


Line 324: Line 355:


== Simple Settings ==
== Simple Settings ==
* '''SUDO''' - keep environment variable '''http_proxy''', '''https_proxy''' (to keep proxy settings for apt-get etc)
* '''SUDO''' - keep environment variables:
** <code>http_proxy</code>, <code>https_proxy</code> (to keep proxy settings for apt-get etc)
* '''SUDO''' - keep environment variable '''GREP_OPTIONS''' (keep grep options)
** <code>GREP_OPTIONS</code> (keep grep options)
* '''SUDO''' - keep environment variable '''DISPLAY''', '''XAUTHORITY''' (avoid doing <code>xhost local:root</code> before launching X pgm)
** <code>DISPLAY</code>, <code>XAUTHORITY</code> (avoid doing <code>xhost local:root</code> before launching X pgm)
* '''SUDO''' - keep environment variable '''HOME''' (e.g. to keep git aliases and settings when using etckeeper)
** <code>HOME</code> (e.g. to keep git aliases and settings when using etckeeper)
{{pl2|<source lang=bash>
{{pl2|1=<source lang=bash>
Defaults env_reset
Defaults env_reset
Defaults env_keep += "http_proxy https_proxy GREP_OPTIONS DISPLAY XAUTHORITY HOME"
Defaults env_keep += "http_proxy https_proxy GREP_OPTIONS DISPLAY XAUTHORITY HOME"
</source>}}
</source>}}
* '''SUDO''' - Allow '''truecrypt''' and '''rfkill''' w/o password:
* '''SUDO''' - Allow <code>truecrypt</code> and <code>rfkill</code> w/o password:
{{pl2|<source lang=bash>
{{pl2|1=<source lang=bash>
ALL ALL=NOPASSWD: /usr/bin/truecrypt
ALL ALL=NOPASSWD: /usr/bin/truecrypt
ALL ALL=NOPASSWD: /sbin/rfkill
ALL ALL=NOPASSWD: /sbin/rfkill
</source>}}
</source>}}
* '''CRON''' - Add cron script '''~/etc/crontab-noekeon''' (backup of wikis on Noekeon.org)
* '''CRON''' - Add cron script {{file|~/etc/crontab-noekeon}} (backup of wikis on Noekeon.org)
* '''PROXY''' - script for automatic setup of network environment (proxy, ssh...) (see [[{{PAGENAME}} - Files|config files]]).
* '''PROXY''' - script for automatic setup of network environment (proxy, ssh...) (see [[{{PAGENAME}} - Files|config files]]).
* '''Security''' &mdash; Disabled control-alt-del in console as recommended in [https://help.ubuntu.com/10.04/serverguide/C/console-security.html Ubuntu Server Guide]. Comment out the following line in the file <tt>/etc/init/control-alt-delete.conf</tt>:
* '''Security''' &mdash; Disabled control-alt-del in console as recommended in [https://help.ubuntu.com/10.04/serverguide/C/console-security.html Ubuntu Server Guide]. Comment out the following line in the file <tt>/etc/init/control-alt-delete.conf</tt>:
Line 343: Line 375:
#exec shutdown -r now "Control-Alt-Delete pressed"
#exec shutdown -r now "Control-Alt-Delete pressed"
</source>
</source>
* Add user '''www''' for synchronization of <tt>/data/www</tt> folder (''localhost'' page):
* Add user '''www''' for synchronization of {{file|/data/www}} folder (''localhost'' page):
<source lang="bash">
<source lang="bash">
sudo useradd -g www-data -G users -u 999 -s /bin/bash -m www
sudo useradd -g www-data -G users -u 999 -s /bin/bash -m www
Line 352: Line 384:
</source>
</source>
* '''~/bin''' &mdash; Convert scripts for new hostname '''nxl6717ux''' and '''NXL67170''' (see <tt>~/bin/restore_wiki.sh</tt>, <tt>~/bin/generate_wiki_page.sh</tt>, <tt>~/bin/set-network.sh</tt>, files in <tt>~/.unison</tt>)
* '''~/bin''' &mdash; Convert scripts for new hostname '''nxl6717ux''' and '''NXL67170''' (see <tt>~/bin/restore_wiki.sh</tt>, <tt>~/bin/generate_wiki_page.sh</tt>, <tt>~/bin/set-network.sh</tt>, files in <tt>~/.unison</tt>)
* Force locale time to <code>en_US.UTF-8</code>. Add to {{file|~/.profile}}:
export LC_TIME="en_US.UTF-8"




Line 372: Line 406:
* Software to install: '''Ubuntu Desktop'''
* Software to install: '''Ubuntu Desktop'''
* Partition: see [[Configuration NXP Dell Latitude E5430#Partition|main page]]
* Partition: see [[Configuration NXP Dell Latitude E5430#Partition|main page]]

=== Upgrade to Ubuntu 14.04 Trusty Tahr ===
* Get list of packages not coming from repositories
apt-show-versions | grep -v uptodate
* Add back some repositories
sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
sud apt-get update
sudo apt-get upgrade
* Remove / reinstall obsolete packages
sudo apt-get purge app-install-data-medibuntu medibuntu-keyring psmouse-dkms adobeair
sudo apt-get install git-annex=5.20140412ubuntu1
* Reinstall grub (to fix <code>file not found</code> error messages at boot [https://bbs.archlinux.org/viewtopic.php?id=147123])
sudo grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --recheck /dev/sda
sudo grub-mkconfig -o /boot/grub/grub.cfg


=== Kernel ===
=== Kernel ===
Line 384: Line 432:
/dev/sda2 /c ntfs ro,users,nls=utf8,exec 0 2
/dev/sda2 /c ntfs ro,users,nls=utf8,exec 0 2
UUID=... / reiserfs notail,noatime,acl 0 1
UUID=... / reiserfs notail,noatime,acl 0 1
UUID=... /data etc4 defaults,noatime,data=writeback,acl 0 2
UUID=... /data ext4 defaults,noatime,data=writeback,acl 0 2
</source>
</source>
* File system structure:
* File system structure:
<div style="padding-left:2em">
<div style="padding-left:2em">
'''<u>/</u>''':
'''<u>/</u>''':
drwxr-xr-x root root <font color="blue">boot</font>/ <font color="gray"># /dev/sda3</font>
drwxr-xr-x root root <font color="blue">boot</font>/ <font color="gray"># /dev/sda3</font>
drwxr-xr-x root root <font color="blue">c</font>/ <font color="gray"># /dev/sda2</font>
drwxr-xr-x root root <font color="blue">c</font>/ <font color="gray"># /dev/sda2</font>
lrwxrwxrwx root root <font color="darkcyan">d</font> -> <font color="blue">/data/d</font>/
lrwxrwxrwx root root <font color="darkcyan">d</font> -> <font color="blue">/data/d</font>/
drwxr-xr-x root root <font color="blue">data</font>/ <font color="gray"># /dev/sda8</font>
drwxr-xr-x root root <font color="blue">data</font>/ <font color="gray"># /dev/sda8</font>
drwxr-xr-x root root <font color="blue">net</font>/
drwxr-xr-x root root <font color="blue">net</font>/
lrwxrwxrwx root root <font color="darkcyan">sage</font> -> <font color="blue">/data/sage-4.2.1</font>/
lrwxrwxrwx root root <font color="darkcyan">sage</font> -> <font color="blue">/data/sage-6.0</font>/
drwxr-xr-x root root <font color="blue">smb</font>/
drwxr-xr-x root root <font color="blue">smb</font>/
drwxr-xr-x root root <font color="blue">win</font>/
drwxr-xr-x root root <font color="blue">win</font>/
'''<u>/data</u>''':
'''<u>/data</u>''':
drwxrwsr-x beq06659 beq06659 <font color="blue">d</font>/
drwxrwsr-x+ beq06659 vbox <font color="blue">d</font>/
drwxr-xr-x root root <font color="blue">home</font>/
drwxr-xr-x root root <font color="blue">home</font>/
drwxr-xr-x beq06659 beq06659 <font color="blue">sage-4.2.1</font>/
drwxr-xr-x beq06659 beq06659 <font color="blue">sage-6.0</font>/
drwxr-xr-x www-data root <font color="blue">www</font>/
drwxr-sr-x+ root www-data <font color="blue">www</font>/
'''<u>/home/beq06659</u>''':
'''<u>/home/beq06659</u>''':
lrwxrwxrwx beq06659 beq06659 <font color="darkcyan">Documents</font> -> <font color="blue">/windows/d/Profiles/beq06659/My Documents</font>/
lrwxrwxrwx beq06659 beq06659 <font color="darkcyan">Documents</font> -> <font color="blue">/d/documents</font>/
'''<u>/net</u>''':
'''<u>/net</u>''':
<font color="gray"># NFS autofs</font>
<font color="gray"># NFS autofs</font>
'''<u>/smb</u>''':
'''<u>/smb</u>''':
drwxr-xr-x root root <font color="blue">mnemosyne</font>/ <font color="gray"># SMB autofs</font>
drwxr-xr-x root root <font color="blue">mnemosyne</font>/ <font color="gray"># SMB autofs</font>
'''<u>/var</u>''':
'''<u>/var</u>''':
lrwxrwxrwx root root <font color="darkcyan">www</font> -> <font color="blue">/data/www</font>/
lrwxrwxrwx root root <font color="darkcyan">www</font> -> <font color="blue">/data/www</font>/
</div>
</div>
* Configure '''acl''' on <tt>/data/d</tt>:
* Configure '''acl''' on <tt>/data/d</tt>:
<source lang=bash>
<source lang=bash>
# VirtualBox uses /data/d as Windows D: drive. Since VirtualBox runs as 'root', all files gets root/root ownership.
# VirtualBox uses /data/d as Windows D: drive. Since VirtualBox runs as 'vbox', all files gets vbox/vbox ownership.
# We use acl so that files gets group access beqO6659/rwx by default
# beq06659 user is in group 'vbox' so he can access all files created by vbox.
# We use acl so that files gets group access vbox/rwx, so that vbox can also access any file created by other users.
# OLD CONFIG:
# # VirtualBox uses /data/d as Windows D: drive. Since VirtualBox runs as 'root', all files gets root/root ownership.
# # We use acl so that files gets group access beqO6659/rwx by default
cd /data
cd /data
sudo chgrp -R beq06659 d
sudo chgrp -R vbox d
sudo chmod -R g+w d
sudo chmod -R g+w d
find d -type d -print0|sudo xargs -0 chmod g+s
find d -type d -print0|sudo xargs -0 chmod g+ws
find d -type d -print0|sudo xargs -0 setfacl -m d:group:beq06659:rwx
find d -type d -print0|sudo xargs -0 setfacl -m d:group:vbox:rwx
</source>
</source>
* Configure '''acl''' on <tt>/data/www</tt>:
* Configure '''acl''' on <tt>/data/www</tt>:
Line 581: Line 633:
<li>Appearance</li>
<li>Appearance</li>
* Launcher icon size: '''32'''
* Launcher icon size: '''32'''
<li>Desktop icons (via <tt>ubuntu-tweak</tt>)</li>
</ul>
* Show desktop icons: '''ON''' (switching off disable the wallpaper as well!)

<li>File Manager (via <tt>ubuntu-tweak</tt>)</li>
<font color=gray>
* Use the location entry instead of the pathbar: '''ON'''
<ul>
<li>Displays</li>
* Sticky edges: '''OFF'''
* Launcher placement: '''leftmost''' screen only (or we will have sticky edge on the middle edge)
<li>Brightness and Lock</li>
* Turn off screen: '''after 5 minutes'''
* Lock: '''Disabled'''
<li>Theme</li>
<li>Theme</li>
* Macbuntu 14.04. See [[Ubuntu]].
The mighty '''[[Gnome#Macbuntu|Macbuntu 10.04]]''' theme! Reverted changes:
* '''Fonts''' &mdash; see below.
* Compiz settings, see [[Ubuntu]].
* Wallpaper: {{file|Pirate Mac.jpg}} (previous was {{file|Isabelle Hires Noir&Blanc crop-despeckle 936x1200.png}}).
* '''Terminal''' &mdash; ''Colors'' select '''Use colors from system theme''' (was set to ''Gray on black'' built-in schemes). Keep transparent background '''95%'''.
* '''Panel''' &mdash; add back '''System Monitor'''. We don't add back the bottom task panel.
* In Configuration Editor, '''<tt>/apps/metacity/general/button_layout</tt>''': <tt>menu:minimize,maximize,close</tt>

<li>Appearance</li>
* <s>(before ''Macbuntu'') Fonts &mdash; ''Application'' &rarr; '''Tahoma 9'''; ''Document''&rarr; '''Sans 8'''; ''Desktop'' &rarr; '''Sans 8'''; Title &rarr; '''Sans Bold 9'''; ''Fixed width'' &rarr; '''Monospace 8'''</s>
* (after ''Macbuntu'') Fonts &mdash; ''Application'' &rarr; '''Lucida Grande 9'''; ''Document''&rarr; '''Lucida Grande 9'''; ''Desktop'' &rarr; '''Lucida Grande 9'''; Title &rarr; '''Lucida Grande 10'''; ''Fixed width'' &rarr; '''Lucida Console 9''' (originally ''Lucida Console 10'')
* Fonts &mdash; rename <tt>~/.fonts.conf</tt> to <tt>~/.fonts.conf.macbuntu</tt> to disable macbuntu hinting settings override.

<li>Appearance</li>
* <tt>Isabelle Hires Noir&Blanc crop-despeckle 936x1200.png</tt>, in <tt>~/etc</tt>.

<li>Keyboard Layout (System-Wide)</li>
* Layout: '''Belgium''' (default) + '''USA''', no separate layout<br/>Custlayout '''Belgium''' (file <tt>/usr/share/X11/xkb/symbols/be</tt>) to allow ''AltGr-;'' &rarr; '<tt>&lt;</tt>' and ''AltGr-:'' &rarr; '<tt>&gt;</tt>', and support ''Greek letters'' with ''AltGr-Shift''.
* Options: '''Capslock''' as an additional {{kb|ESC}} key, '''Alt+CapsLock''' or '''Right Ctrl+Right Shift''' switch layout, '''right alt''' chooses 3rd level.<br/><small>(because ''Alt+Shift'',''Left Ctrl+Left Shift'' prevents ''ctrl-alt-shift'' shortcuts to work, ''Right Ctrl'' conflicts with VirtualBox)</small>

<li>Keyboard Shortcuts</li>
{| class="wikitable"
|-
! Shortcut !! Action !! Remark
|-
| '''Super-E''' || Home Folder || Hack ''Super is mapped to Win keys'' not needed anymore it seems
|}

<li>Window List Panel (see [[Gnome#Configuring the Window List Panel|here]])</li>
* Window List Content &rarr; '''Show windows from all workspaces'''
* Restoring Minimized Windows &rarr; '''Restore to native workspace'''

<li>[[Fonts|Fonts]]</li>
* System fonts (<tt>/usr/local/share/fonts</tt>):
:Added '''BitStream Vera 1.10'''
:Added '''jsMath fonts''' (Linux variant, [http://www.math.union.edu/~dpvc/jsMath/download/TeX-fonts-linux.tgz darkness 20 file], see [http://www.math.union.edu/~dpvc/jsMath/download/jsMath-fonts.html here])
:Added all '''jsMath extra fonts''' ([http://www.math.union.edu/~dpvc/jsmath/download/extra-fonts/welcome.html dark version from this page])
* User fonts (<tt>~/.fonts</tt>):
:Added '''Tahoma'''

<li>[[Gnome#Compiz|Compiz]]</li>
* ''General Option - Move Window'': {{kb|Su}}{{kbname|Button2}}<br/>''because {{kb|A}}{{kbname|Button3}} is used in OpenOffice to move columns / rows''
* ''Static Application Switcher'': Use {{kb|A}}{{kbname|Alt}} for <tt>Next Window (current workspace)</tt>
* ''Scale'': '''Multi-Output Mode''' &rarr; '''On all output devices''', '''darken background''', '''Emblem''' for overlay icon
* ''Ring Switcher'': Enabled + Use {{kb|Su}}{{kbname|Tab}} for <tt>Next Windows (All Workspaces)</tt> + '''Allow Mouse Selection'''
* ''Enhanced Zoom Desktop'': Disabled
* ''Negative'': Disabled
* ''Desktop Wall'': enabled '''Edge Flip Move'''.
* ''Put'' : disabled ''Put Pointer'', enabled '''Put To Next Output''' ({{kb|Super}}{{kbkey|z}}) selected '''Avoid Offscreen'''.
{| class="wikitable"
|+ Frequently used Compiz shortcuts (bold are custom ones)
|-
! Shortcut !! Action !! Remark
|-
|'''{{kb|S}}{{kb|A}}{{kbname|Space}}'''<br/>'''{{kb|Su}}{{kbname|Button3}}'''|| General Options - Window Menu
|-
|{{kb|C}}{{kb|A}}{{kbname|Left}}<br/>{{kb|C}}{{kb|A}}{{kbname|Right}}|| Desktop Wall - Move ||
|-
|{{kb|S}}{{kb|C}}{{kb|A}}{{kbname|Left}}<br/>{{kb|S}}{{kb|C}}{{kb|A}}{{kbname|Right}}|| Desktop Wall - Move with window ||
|-
|'''{{kb|S}}{{kb|Su}}{{kbkey|e}}'''||Expo Key||
|-
|{{kb|A}}{{kbname|F7}}||Move Window||
|-
|'''{{kb|Su}}{{kbkey|z}}'''||Windows Put To Next Output||
|-
|{{kb|A}}{{kbname|F8}}<br/>'''{{kb|Su}}{{kbname|Button2}}'''||Resize Window||
|-
|'''{{kb|Su}}{{kbname|Tab}}'''<br/>'''{{kb|S}}{{kb|Su}}{{kbname|Tab}}'''|| Ring Switcher || (All Workspaces)
|-
|'''{{kb|Su}}{{kbkey|w}}'''<br/>'''{{kb|Su}}{{kbkey|a}} / {{kb|{{kbname|TopLeft}}}} / {{kb|{{kbname|TopRight}}}}'''|| Scale windows || Current viewport<br/>All windows
|-
|'''{{kb|A}}{{kbname|Tab}}'''<br/>'''{{kb|S}}{{kb|A}}{{kbname|Tab}}'''|| Static application switcher || Current viewport
|}
</ul>
</font>


=== Users ===
=== Users ===
Line 684: Line 671:
** Use password from <tt>/etc/courier/userdb</tt> (method '''authuserdb''').
** Use password from <tt>/etc/courier/userdb</tt> (method '''authuserdb''').
* Recovered most files from ''nxl67002ux'', but it '''failed''' at first because users where assigned different UID!!!<br/>Make sure users have identical UID, or courier will complain it has not the permission to access Maildir/p
* Recovered most files from ''nxl67002ux'', but it '''failed''' at first because users where assigned different UID!!!<br/>Make sure users have identical UID, or courier will complain it has not the permission to access Maildir/p

=== Crontab ===
<source lang=bash>
# Crontab
#
# Install this crontab with
#
# sed -r '/^#/!s/\$USER/'$USER'/g' crontab-noekeon | crontab
#
# !!! THIS WILL OVERWRITE ANY CURRENT CRONTAB !!!
#
# Or append only job to current crontab
#
# ( crontab -l; sed -r '$!d;s/\$USER/'$USER'/g' crontab-noekeon ) | crontab
#
# Use /bin/bash to run commands, instead of the default /bin/sh
SHELL=/bin/bash
# Define variable USER because we need it in our job scripts
USER=beq06659
# Mail any output to '$USER', no matter whose crontab this is
MAILTO=beq06659
# Set PATH - by default it is set to /usr/bin:/bin
PATH=/home/beq06659/bin:/usr/local/bin:/usr/bin:/bin
#
#
# m h dom mon dow command (dow=0|7 is sunday)
37 * * * * chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-noekeon
33 * * * * chronic ~beq06659/bin/fetch_all_svn.sh
30 12 * * * RCLCRON_RCLINDEX= RECOLL_CONFDIR="/home/beq06659/.recoll/" recollindex
42 * * * * chronic ~beq06659/bin/local/fetch_all_git.sh
37 * * * * chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-nxpwiki
47 * * * * chronic ~beq06659/bin/local/deduplocal.sh
50 * * * * chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-evoswiki
</source>


=== Firefox ===
=== Firefox ===
Line 721: Line 742:
* Apache root http directory is '''/var/www'''
* Apache root http directory is '''/var/www'''
* Enable ''mod-rewrite'' module.<br/> In <tt>/etc/apache2/sites-available/default</tt>, change as: <code>AllowOverride <s>{{red|None}}</s>{{green|FileInfo}}</code> (twice).
* Enable ''mod-rewrite'' module.<br/> In <tt>/etc/apache2/sites-available/default</tt>, change as: <code>AllowOverride <s>{{red|None}}</s>{{green|FileInfo}}</code> (twice).
* Enable mathjax:

:First install it:
sudo apt-get install libjs-mathjax
:Then edit {{file|/etc/apache2/sites-available/default-ssl.conf}}:
<source lang=diff>
DocumentRoot /var/www
+Alias /mathjax /usr/share/javascript/mathjax
</source>


Create databases that will store local copies of ''cryptokiwi'' and ''mikiwiki'' wiki, and of ''mikido'':
Create databases that will store local copies of ''cryptokiwi'' and ''mikiwiki'' wiki, and of ''mikido'':
Line 825: Line 853:
See [[Configuration NXP Dell Latitude E5430 - Wine]].
See [[Configuration NXP Dell Latitude E5430 - Wine]].


== To Do ==
== Issues and To Do ==
=== Issues ===
=== Issues ===
See [[Common Issues]]
* '''{{red|Issue}}''' — '''Git''' &mdash; Cannot install ''tileqt'' (tcl theme) to beautify ''gitk''.
* '''Issue''' — '''TeX Live''' still old version (2009) &mdash; This may be the cause of errors <code>LaTeX Font Warning: Some font shapes were not available, defaults substituted.</code> (see [http://tex.stackexchange.com/questions/24968/latex-font-warning-on-natty-ubuntu-linux])
** '''{{green|fixed}}''' &mdash; install '''TeX Live 2012''' from backports repository.
* '''{{red|Issue}}''' — Annoying file '''<tt>C:\nppdf32Log\debuglog.txt</tt>'''. Caused by acroread plugin (see [http://askubuntu.com/questions/144408/what-is-the-file-c-nppdf32log-debuglog-txt], [http://forums.mozillazine.org/viewtopic.php?f=38&t=2459255], [https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/986841]). A solution would be to edit <tt>nppdf.so</tt> with hex editor.
* '''{{red|Issue}}''' &mdash; Acrobat reader leaves ghost process ''SynchronizerApp-binary''. Disable it!
* '''{{red|Issue}}''' &mdash; Opera fonts too small, not as good as windows.
** '''{{green|partial fix}}''' &mdash; Increase default font size to 16 (''Preferences'' &rarr; ''webpages''). See also page [http://sams0n.blog.com/2012/01/23/making-fonts-in-linux-browsers-look-exactly-like-those-of-windows-and-mac/ Make linux looks like Windows/Mac]
* '''Issue''' &mdash; Touchpad scroll not working, detected as ps/2 mouse.
** '''{{green|partial fix}}''' &mdash; Install Kevin Cernekee's DKMS package (see below and [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/606238 bug 606238]). See also [http://www.dahetral.com/public-download] for more solutions.<br/>
<source lang=bash>
sudo -s
add-apt-repository ppa:cernekee/ppa
apt-get update
apt-get install psmouse-dkms
reboot
</source>
* '''{{red|Issue}}''' &mdash; Annoying popup <tt>failure to download extra data files flashplugin-installer</tt>. See [https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/977178 bug 977178] and [https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684 bug 982684].<br/>Pop-up is from ''update-notified''. Might be related to sudo ignoring some environment variables / profile.
** '''{{green|tentative fix}}''' &mdash; <code>sudo apt-get --reinstall install flashplugin-installer</code>
* '''{{red|Issue}}''' &mdash; '''Synergy''', still ''heavy'' keyboard corruption issue (v.1.4.10), in particular ctrl stuck key (must reboot to fix), and custom layout not honored (my custom belgian on us layout).
* '''{{red|Issue}}''' &mdash; Virtualbox module not recompiling (broken DKMS)
** '''{{green|tentative fix}}''' &mdash; See [[VirtualBox#Recompiling the vboxdrv module after kernel update|Virtualbox]]
* '''Issue''' &mdash; Can't reconnect to Bluetooth Microsoft Sculpt Mouse.
** '''{{green|Solved}}''' &mdash; Install ''Bluetooth manager'' (package <tt>blueman</tt>). See [http://askubuntu.com/questions/253245/bluetooth-mouse-cant-connect-after-reboot], bug [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1094744 1094744].
* '''Issue''' &mdash; ''animated gifs'' do not work.
** '''{{green|Solved}}''' &mdash; This is a feature of privoxy, to ban ads using such animation. It can be disabled (via setting ''deanimate_gifs''), or better yet, temporarily disable privoxy, and clear cache/reload the page.


=== To Do ===
=== To Do ===
* '''{{red|To Do}}''' &mdash; Set up smtp server for localhost (to allow sending mail to remote server from local smtp)
* '''{{red|To Do}}''' &mdash; See To Do / Issue list on [[Configuration NXP Dell Latitude E6500]]
* '''{{red|To Do}}''' &mdash; See To Do / Issue list on [[Configuration NXP Dell Latitude E6500]]
* '''{{red|To Do}}''' &mdash; '''recoll''', install more filters: ''python:epub, python:midi, python:rarfile'' (see <tt>~/.recoll/missing</tt>)
* '''{{red|To Do}}''' &mdash; '''recoll''', install more filters: ''python:epub, python:midi, python:rarfile'' (see <tt>~/.recoll/missing</tt>)
* '''{{red|To Do}}''' &mdash; Install macbuntu or similar theme, if available
* '''{{red|To Do}}''' &mdash; Install macbuntu or similar theme, if available
* '''{{red|To Do}}''' &mdash; See [[Ubuntu#Guides|Ubuntu 14.04 Trusty Tahr guides]]
* '''{{red|To Do}}''' &mdash; Things to try, as demo'ed by Alicia Da Conceicao on her Surface Pro 2:
** MS Office on Wine + Play on Linux
** Connect to MS Exchange using Evolution
** Connect to MS Lync using Online Buddy (Pidgin)


=== Done & Fixed ===
=== Done ===
* '''{{green|Fixed}}''' &mdash; Issue description<br/>Fix description
* '''{{green|Done}}''' — Description
* '''{{green|Done}}''' — Description

Latest revision as of 06:30, 9 April 2019

Introduction

This is the configuration page for the Ubuntu Precise 12.04 partition on NXL67170.

Configuration Files

All configuration files can be found here.

Repositories

sudo add-apt-repository ppa:texlive-backports/ppa
sudo add-apt-repository ppa:libreoffice/libreoffice-4-0
sudo apt-get update
sudo apt-get install libreoffice-gnome

Installed Applications

Common applications

See Common configuration for Linux.

Essential

VirtualBox (virtualbox-4.3)
  • Script to reset network / bluetooth after suspend / network env. change (see VirtualBox)
Privoxy (privoxy)
Gufw (gufw) graphical front-end to ufw
SSH Tunnel script (sshtunnel.pl, libssl-dev) Thierry Walrant's Perl script sshtunnel.pl
LAMP (apache2 php5 mysql-server mysql-client php5-mysql) See local config
PHPMyAdmin (phpmyadmin) Install for apache2 + configure phpmyadmin database + see local config
dwww (dwww)
Courier IMAP (courier-imap courier-doc courier-imap-ssl) Install instructions and local settings
Courier-POP3 (courier-pop courier-pop-ssl)
qmail (ucspi-tcp qmail qmail-run qmail-uids-gids) See qmail page — added qmail-run qmail-uids-gids to get SMTP service
NTP (ntp)
  • synchronize with NTP server automatically
  • add to /etc/ntp.conf:
server wbi.nxp.com iburst
HTTrack (httrack)
WireShark (wireshark tshark)
TrueCrypt v7.1a, with AES-NI instructions!
  • Preferences → uncheck Preserve modification timestamp of file containers (such that they are included in rsync backup without need for --checksum).
Samba Server (samba smbfs) See local config
ACL (acl)
Google Chrome (chromium-browser)
Thunderbird (thunderbird)
Wine (wine) See Wine page
Psi (psi) See local config
CUPS PDF (cups-pdf) Allow CUPS to access ~/PDF:
sudo aa-complain cupsd
LaTeX
  • See LaTeX for install instructions
  • Complete TeXLive 2013 install (at /usr/local/texlive/2013, with symlink at /opt/texbin).
  • Update pdftex.map in the user profile (see [3]):
updmap                # Update user's pdftex.map
Google Earth (googleearth googleearth-data) Requires Medibuntu repository
Recoll desktop search (recoll) See also Recoll page.
pdftk (pdftk)
Git (git-gui gitk git-doc gitweb)
  • [2013-02-20]Updated to 1.7.10.5 compiled from source.
sudo apt-get install autoconf zlib1g-dev libcurl4-openssl-dev expat asciidoc     # More packages might be needed
git clone git://github.com/gitster/git.git          # Use proxygit if behind a proxy
cd git
make configure                                      # See also INSTALL
./configure --prefix=/usr/local                     # In // of existing package installation. /usr/local has precedence
make all doc
sudo make install install-doc install-html
  • [2013-02-20] — Installed tileqt tcl/tk widget theme for gitk (see here).
  • Add system user git but using shell /usr/bin/git-shell:
sudo adduser --system --home /home/git --shell /usr/bin/git-shell git
# Add ssh keys to ~git/.ssh/authorized_keys
Some git browsers (qgit gitg source-highlight) [2013-02-20] gitg updated to 0.0.7!
KDirStat (kdirstat)
Color Diff (colordiff)
Word Diff (wdiff)
Diffuse (diffuse)
bsdiff (bsdiff)
KDiff3-QT (kdiff3-qt) (QT version has no dep on KDE) Settings → Integration → add ;-- to command line opts to ignore, and check Quit also via Escape key
Diffstat (diffstat)
Ack (ack-grep) A better grep...
sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack
Ag (silversearcher-ag) A better ack... Installed grom git.
Hexedit (hexedit) Hex editor
Hexer (hexer) Hex editor with vi-like interface
Uncrustify (uncrustify) v0.59, simply compiled from source (./configure; make; sudo make install)
socat (socat)
multitee (multitee)
colortail (colortail)
Qiv (qiv)
libdvdcss2 Installed via sudo /usr/share/doc/libdvdread4/install-css.sh (see also [4])
VLC (vlc)
pipe viewer (pv)
Acrobat Reader (acroread) Edit mime type in ~/.local/share/applications/mimeapps.list:
[Added Associations]
application/pdf=acroread.desktop;evince.desktop;gimp.desktop

Add to ~/.mailcap:

application/pdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-pdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-bzpdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.bz2
application/x-gzpdf; acroread '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.gz
  • Add Digital ID for NXP DocStore
screen (screen)
Synergy (synergy) v1.4.10! See local settings.
tmux (tmux) Alternative to screen, but with support for multiple panes like terminator
todo.txt
  • Copy todo.sh to /usr/local/bin, todo_completion to /etc/bash_completion.d
  • Copy colorSymbols to /usr/local/bin
  • Update colorSymbols filter to process attachment ( #attach)
Unison 2.27.57 (unison2.27.57)
Compiz scale patch Fix bug 933776. Via ppa (sudo add-apt-repository ppa:mc3man/fixing-scale)
encFS (encfs)
Pidgin + SIPE (pidgin pidgin-sipe)
  • Configure SIPE plugin as:
    • Basic — Protocol: Office Communicator, Username: michael.peeters@nxp.com, Login: michael.peeters@nxp.com, Password: xxxxx
    • Advanced — Server: sipdir.online.lync.com:443, Connection type: SSL/TLS, User Agent: UCCAPI/4.0.7577.314 OC/4.0.7577.314 (Microsoft Lync 2010), Authentication scheme: TLS-DSK
  • See SIPE FAQ for info on User Agent string.
MoreUtils (moreutils) For chronic (used in crontab)

Development

GNU C/C++ compiler (g++)
C/C++ documentation (manpages-posix-dev stl-manual) Make SGI doc available at http://localhost/sgi :
ln -s /usr/share/doc/stl-manual/html /var/www/sgi
GNU libc documentation (glibc-doc)
openJDK 7 (openjdk-7-jdk openjdk-7-doc) Selected alternatives with:
sudo update-alternatives --config java
sudo update-alternatives --config javac
# TODO: Add others (like ant, javah, etc?)
openJDK 6 32-bit (openjdk-6-jdk:i386) Installing after OpenJDK7 brings less dependency issues it seems. See Griffin for alternatives
ia32 libraries (ia32-libs libc6-dev:i386 gcc-multilib g++-multilib) TODO: Seems we should install ia32-libs-multiarch though...
Installing this package removed some package, so reinstall them back with:
sudo apt-get install build-essential g++ dkms \
     nvidia-current virtualbox-dkms

Compiling with gcc -m32 still does not work though (missing 32-bit libgcc.a). Installing package gcc-4.6:i386 force removal of many 64-bit packages. Instead we go for solution given here:

sudo apt-get install gcc-multilib
Javadoc Installed on http://nxl67002ux/. JDK 1.4.2 in /data/www/javase/1.4.2/docs; JDK 6u21 in /data/www/javase/6/docs
Perl-doc html (perl-doc-html) Available from dwww, section Programming/perl
make documentation (make-doc)
USB dev libs (libusb-dev:i386) (NXP Telematics ATOP dev)
ARM RVDS 2.2 (NXP Telematics ATOP dev)
  • Recover env. at /cadappl from old install
ATOP 2.5g dev packages (patchutils lynx ncftp ksh tcsh sysvbanner flex bison dos2unix gawk) (NXP Telematics ATOP dev)
  • Main reference: bb/target/jvm/modules/j9port/srce/doc/build_on_linux.html
  • Create symlinks for RTK:
sudo ln -s /usr/bin/perl /usr/local/bin/perl
sudo mkdir -p /usr/ccs/lib
sudo ln -s /usr/bin/cpp /usr/ccs/lib/cpp
udev dev libs (libudev-dev:i386) (NXP Telematics ATOP dev)
custom udev rules (NXP Telematics ATOP dev)
File /etc/udev/rules.d/10-plugdev_hub.rules
# Basic rule - set group 'plugdev' for all USB HUB
#SUBSYSTEMS=="usb", ATTR{bDeviceClass}=="09", MODE="660", GROUP="plugdev"

# More advanced rule, only set 'plugdev' grp for hub that have an FTDI board connected to them
#SUBSYSTEM=="tty", DRIVERS=="ftdi_sio", RUN+="/etc/udev/rules.d/plugdev_hub.sh"

# Even better, this rules also detects board removal, which allow to reset grp to 'root'
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", RUN+="/etc/udev/rules.d/plugdev_hub.sh"

File plugdev_hub.sh:

#! /bin/bash

# Set group to 'plugdev' for given hub device
function setgrp()
{
    DEVNAME=/dev/$(udevadm info -q name -p $1)
    chgrp plugdev $DEVNAME
}

# Reset group to 'root' if no ttyUSB device found for given hub
function resetgrp()
{
    TTYDEVS=$(find $1 -lname "*/ttyUSB*")
    if [ -z "$TTYDEVS" ]; then
        DEVNAME=/dev/$(udevadm info -q name -p $1)
        chgrp root $DEVNAME
    fi
}

if [ "$ACTION" = "add" -o "$ACTION" = "remove" ]; then
    F=/sys$DEVPATH
    while [ "$F" != "/sys" ] ; do 
        if [ -a "$F/bDeviceClass" ] ; then
            if [ "$(cat $F/bDeviceClass)" == "09" ] ; then
                if [ "$ACTION" = "add" ]; then
                    setgrp $F                           # add
                else
                    resetgrp $F                         # remove
                    true
                fi
                break
            fi
        fi
        F=$(dirname $F)
    done
fi
pypy (pypy)
  • Install pypy as virtual environment in ~/bin/local/pypy-env (see Python)
  • Install alias in ~/bin/local/bashrc.local:
if [ -a ~/bin/local/pypy-env/bin/pypy ]; then
    alias pypy=~/bin/local/pypy-env/bin/pypy
fi

Local applications

MBR (mbr) To create VirtualBox rawdisk
apt-rdepends (apt-rdepends)
GraphViz (graphviz) To plot package dependencies with apt-cache dotty and apt-rdepends -d
Banshee (banshee)
nautilus-play-banshee To play music directly from folders
Feh (feh) Fast and light image viewer (like qiv)
Bluetooth Manager (blueman) To fix re-connect issue with Microsft Sculpt Mouse (see [5], [6])
Mpg123 (mpg123) to play internet radio stream
Audacious (audacious) to play internet radio stream
Stream Tuner 2 & Ripper (streamtuner2 streamripper) get a list of internet radios
pdfpc (pdf-presenter-console) Note: this really installs David Vilar's fork (version 3.x) (pdfpc)

Uninstalled

Application (package) [YYYY-MM-DD] uninstalled (reason)

Simple Settings

  • SUDO - keep environment variables:
    • http_proxy, https_proxy (to keep proxy settings for apt-get etc)
    • GREP_OPTIONS (keep grep options)
    • DISPLAY, XAUTHORITY (avoid doing xhost local:root before launching X pgm)
    • HOME (e.g. to keep git aliases and settings when using etckeeper)
Defaults        env_reset
Defaults        env_keep += "http_proxy https_proxy GREP_OPTIONS DISPLAY XAUTHORITY HOME"
  • SUDO - Allow truecrypt and rfkill w/o password:
ALL     ALL=NOPASSWD: /usr/bin/truecrypt
ALL     ALL=NOPASSWD: /sbin/rfkill
  • CRON - Add cron script ~/etc/crontab-noekeon (backup of wikis on Noekeon.org)
  • PROXY - script for automatic setup of network environment (proxy, ssh...) (see config files).
  • Security — Disabled control-alt-del in console as recommended in Ubuntu Server Guide. Comment out the following line in the file /etc/init/control-alt-delete.conf:
#exec shutdown -r now "Control-Alt-Delete pressed"
  • Add user www for synchronization of /data/www folder (localhost page):
sudo useradd -g www-data -G users -u 999 -s /bin/bash -m www
sudo passwd www
su - www
ssh-keygen                                         # Or copy .ssh/ copy from other www users
scp .ssh/id_rsa.pub .ssh/authorized_keys
  • ~/bin — Convert scripts for new hostname nxl6717ux and NXL67170 (see ~/bin/restore_wiki.sh, ~/bin/generate_wiki_page.sh, ~/bin/set-network.sh, files in ~/.unison)
  • Force locale time to en_US.UTF-8. Add to ~/.profile:
export LC_TIME="en_US.UTF-8"


For Telematics build environment

  • CRON - Add cron script ~/work/NXP/ATOP/crontab-svn-fetch (fetch svn database automatically)
  • Printer — add Canon network printer (select IPP network printer via DNS-SD for protocol)

Detailed System Settings

1st install

  • 2nd install on [2013-02-20]
  • Distribution: Ubuntu 12.04 amd64
  • Installation method: Net boot install from Internet using GRUB
  • Language: English
  • Location: Europe, Belgium Time
  • Computer name: nxl67170ux
  • Keyboard layout: BE
  • Name: beq06659
  • Login name: beq06659
  • Update: No automatic update
  • Software to install: Ubuntu Desktop
  • Partition: see main page

Upgrade to Ubuntu 14.04 Trusty Tahr

  • Get list of packages not coming from repositories
apt-show-versions | grep -v uptodate
  • Add back some repositories
sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
sud apt-get update
sudo apt-get upgrade
  • Remove / reinstall obsolete packages
sudo apt-get purge app-install-data-medibuntu medibuntu-keyring psmouse-dkms adobeair
sudo apt-get install git-annex=5.20140412ubuntu1
  • Reinstall grub (to fix file not found error messages at boot [7])
sudo grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --recheck /dev/sda
sudo grub-mkconfig -o /boot/grub/grub.cfg

Kernel

  • Initial kernel: Precise Pangolin 3.2.0-38-generic (see Ubuntu page).

File System

  • For details, see /etc/fstab.
    • NTFSC: → do not mount automatically. Risk of corruption if mounted while VirtualBox is running!
      Also NTFS partition must be mounted without umask=007,gid=46, or will get operation not permitted when modifying timestamps:
    • Reiserfs/ → enable acl
    • ext4/data → enable acl and data=writeback
/dev/sda2               /c          ntfs        ro,users,nls=utf8,exec                0       2
UUID=...                /           reiserfs    notail,noatime,acl                    0       1
UUID=...                /data       ext4        defaults,noatime,data=writeback,acl   0       2
  • File system structure:
/:                                        
  drwxr-xr-x  root      root      boot/       # /dev/sda3
  drwxr-xr-x  root      root      c/          # /dev/sda2
  lrwxrwxrwx  root      root      d -> /data/d/
  drwxr-xr-x  root      root      data/       # /dev/sda8
  drwxr-xr-x  root      root      net/
  lrwxrwxrwx  root      root      sage -> /data/sage-6.0/
  drwxr-xr-x  root      root      smb/
  drwxr-xr-x  root      root      win/
/data:
  drwxrwsr-x+ beq06659  vbox      d/
  drwxr-xr-x  root      root      home/
  drwxr-xr-x  beq06659  beq06659  sage-6.0/
  drwxr-sr-x+ root      www-data  www/
/home/beq06659:
  lrwxrwxrwx  beq06659  beq06659  Documents -> /d/documents/
/net:
  # NFS autofs
/smb:
  drwxr-xr-x  root      root      mnemosyne/   # SMB autofs
/var:
  lrwxrwxrwx  root      root      www -> /data/www/
  • Configure acl on /data/d:
# VirtualBox uses /data/d as Windows D: drive. Since VirtualBox runs as 'vbox', all files gets vbox/vbox ownership.
# beq06659 user is in group 'vbox' so he can access all files created by vbox.
# We use acl so that files gets group access vbox/rwx, so that vbox can also access any file created by other users.
# OLD CONFIG:
# # VirtualBox uses /data/d as Windows D: drive. Since VirtualBox runs as 'root', all files gets root/root ownership.
# # We use acl so that files gets group access beqO6659/rwx by default
cd /data
sudo chgrp -R vbox d
sudo chmod -R g+w d
find d -type d -print0|sudo xargs -0 chmod g+ws
find d -type d -print0|sudo xargs -0 setfacl -m d:group:vbox:rwx
  • Configure acl on /data/www:
# Set default access condition to rwxr-xr-x / www / www-data
cd /data
sudo chgrp -R www-data www
find www -type d -print0|sudo xargs -0 chmod g+s
find www -type d -print0|sudo xargs -0 setfacl -m d:group:www-data:r-x
find www -type d -print0|sudo xargs -0 setfacl -m d:user:www:r-x           # TODO: this one does not work with root...

Network

  • Edited /etc/hosts (added names for intranet)
  • Added to /etc/apt/apt.conf:
Acquire::http::proxy "http://localhost:8118/";
Acquire::ftp::proxy "ftp://localhost:8118/";
Acquire::https::proxy "https://localhost:8118/";
  • Added to /etc/environment:
http_proxy="http://localhost:8118/"
ftp_proxy="ftp://localhost:8118/"
https_proxy="https://localhost:8118/"
NXP network
sshproxy
  • Connect to NXP proxy with sshtunnel (with NTLM auth. if needed)
  • Forward IMAP/SMTP ports
  • Opens a SOCKS5 proxy
privoxy
  • Forward to ssh SOCKS5 proxy.
  • Provide http proxy server.
apt-get, wget, browsers
  • through privoxy (through environment variables or .pac file)
ftp
  • Direct connection (no solution...)
HOME network
sshproxy
  • Direct connection
  • Forward IMAP/SMTP ports
  • Opens a SOCKS5 proxy (not used)
privoxy
  • Direct connection
  • Provide http proxy server.
apt-get, wget, browsers
  • through privoxy (through environment variables or .pac file)
ftp
  • SAMBA/NFS CLIENT - Mount mnemosyne shares as NFS autofs (see [8]) and as SMB autofs
    • Enabled/created the following automounters in /etc/auto.master:
    • /net           /etc/auto.net
      /smb/mnemosyne /etc/auto.smb.mnemosyne
      
    • Created configuration file /etc/auto.smb.mnemosyne (mount options: noperm,iocharset=utf8,credentials=/etc/auto.smb.mnemosyne.*)
    • Created SMB credential files /etc/auto.smb.mnemosyne.* (see man mount.cifs)
    • Created path for mount points:
    • sudo mkdir /net
      sudo mkdir -p /smb/mnemosyne
      #ls /net/mnemosyne
      #sudo mkdir -p /mnt/mnemosyne
      #for i in /net/mnemosyne/volume1/*; do sudo ln -s $i /mnt/mnemosyne/$(basename $i); done
      
  • NXP Wired
  • NXP Wireless (see Linux Admin#Wireless Network)
    • Network name (SSID): WLAN-NXP
    • Wireless security: WPA & WPA2 Enterprise
    • Authentication: TLS
    • Identity: beq06659
    • User certificate / CA certificate / Private key: imported from Windows (EMEA-CA, exp. 2014-02-18, for Client Authentication, Secure Email)
  • Privoxy settings:
    • Added to /etc/privoxy/user.action:
    { -filter }
    tennislibre.com
    
    • Add filter settings for chromanova web-radio (config file):
    # 3 forward rules for chromanova radio
    forward             85.25.86.69         emea.nics.nxp.com:8080
    forward             91.143.81.239       emea.nics.nxp.com:8080
    forward             212.112.241.88      emea.nics.nxp.com:8080
    

Firewall

  • Moved user rules to /etc/ufw so that they can be tracked by etckeeper
  • cd /lib/ufw
    sudo mv user* /etc/ufw
    sudo ln -s /etc/ufw/user.rules
    sudo ln -s /etc/ufw/user6.rules
    
  • Enabled ufw
  • sudo ufw enable
    
  • Policy:
  • sudo ufw allow from 192.168.11.2                   # Enable full access from local virtualbox
    sudo ufw allow from 172.19.0.0/16 to any port 22   # Enable - from home local network - SSH
    

Preferences

  • Fonts (via ubuntu-tweak):
  • Category Font Size
    Default Font Ubuntu 9
    Desktop Font Sans 9
    Monospace font Lucida Console Semi-Condensed 10
    Document font Sans 10
    Window title bar font Ubuntu Bold 10
    • Hinting: Basic
    • Antialiasing: Subpixel antialising (LCD screens only)
  • Keyboard
  • Appearance
    • Launcher icon size: 32
  • Desktop icons (via ubuntu-tweak)
    • Show desktop icons: ON (switching off disable the wallpaper as well!)
  • File Manager (via ubuntu-tweak)
    • Use the location entry instead of the pathbar: ON
  • Displays
    • Sticky edges: OFF
    • Launcher placement: leftmost screen only (or we will have sticky edge on the middle edge)
  • Brightness and Lock
    • Turn off screen: after 5 minutes
    • Lock: Disabled
  • Theme
    • Macbuntu 14.04. See Ubuntu.
    • Compiz settings, see Ubuntu.
    • Wallpaper: Pirate Mac.jpg (previous was Isabelle Hires Noir&Blanc crop-despeckle 936x1200.png).

    Users

    sudo gpasswd -a $USER dialout    # for access to /dev/ttyUSB0
    sudo gpasswd -a $USER fuse       # to allow mounting FUSE fs (like curlftpfs)
    

    Detailed Application Settings

    Amarok

    Courier IMAP

    • Install (reference here):
      • Create directories for web-based administration
      • SSL Certificate: /etc/courier/pop3d.pem, /etc/courier/imapd.pem
      • Postfix configuration: local only
      • System mail name: nxl67002ux.wbi.nxp.com
      • Created /etc/courier/userdb, and kept entries for root, localuser and beq06659
      • Use password from /etc/courier/userdb (method authuserdb).
    • Recovered most files from nxl67002ux, but it failed at first because users where assigned different UID!!!
      Make sure users have identical UID, or courier will complain it has not the permission to access Maildir/p

    Crontab

    # Crontab
    #
    # Install this crontab with
    #
    #   sed -r '/^#/!s/\$USER/'$USER'/g' crontab-noekeon | crontab
    #
    #   !!! THIS WILL OVERWRITE ANY CURRENT CRONTAB !!!
    #
    # Or append only job to current crontab
    #
    #   ( crontab -l; sed -r '$!d;s/\$USER/'$USER'/g' crontab-noekeon ) | crontab
    #
    # Use /bin/bash to run commands, instead of the default /bin/sh
    SHELL=/bin/bash
    # Define variable USER because we need it in our job scripts
    USER=beq06659
    # Mail any output to '$USER', no matter whose crontab this is
    MAILTO=beq06659
    # Set PATH - by default it is set to /usr/bin:/bin
    PATH=/home/beq06659/bin:/usr/local/bin:/usr/bin:/bin
    #
    #
    # m h dom mon dow   command     (dow=0|7 is sunday)
    37 * * * *      chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-noekeon
    33 * * * *      chronic ~beq06659/bin/fetch_all_svn.sh
    30 12  * * * RCLCRON_RCLINDEX= RECOLL_CONFDIR="/home/beq06659/.recoll/" recollindex
    42 * * * *      chronic ~beq06659/bin/local/fetch_all_git.sh
    37 * * * *      chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-nxpwiki
    47 * * * *      chronic ~beq06659/bin/local/deduplocal.sh
    50 * * * *      chronic ~beq06659/bin/backup_main ~beq06659/etc/backup-evoswiki
    

    Firefox

    • Theme: macfox3 1.1.7
    • Extensions (some disabled because Firefox hangs on launch/exit):
      • AutoPager 0.7.0.0 — disabled
      • Belgium eID 1.0.11 — disabled
      • CHM Reader 0.2.3
      • Cycle Input Focus 1.0.0 — disabled
      • Delicious Bookmarks 2.3.1
      • Fast Dial 3.4
      • FireGestures 1.5.7 — disabled
      • FoxyProxy Standard 3.3
      • Live HTTP headers 0.17
      • Ubuntu Firefox Modifications 0.9rc2
      • User Agent Switcher 0.7.3 — disabled

    LAMP

    Install the servers:

    sudo apt-get install apache2 php5 mysql-server mysql-client php5-mysql
    # --> Defined password for MySQL root user
    sudo vi /etc/apache2/apache2.conf
    # --> Added lines at line 32:
    #     #MIP CUSTOM
    #     ServerName "nxl67002ux"
    # Restart apache server to activate php module...
    sudo /etc/init.d/apache restart
    
    # Move www root dir to /data disk
    sudo mv /var/www /data
    sudo ln -sf /data/www /var/www
    

    Apache:

    • configuration file is at /etc/apache2/apache2.conf
    • Apache root http directory is /var/www
    • Enable mod-rewrite module.
      In /etc/apache2/sites-available/default, change as: AllowOverride NoneFileInfo (twice).
    • Enable mathjax:
    First install it:
    sudo apt-get install libjs-mathjax
    
    Then edit /etc/apache2/sites-available/default-ssl.conf:
     DocumentRoot /var/www
    +Alias /mathjax /usr/share/javascript/mathjax
    

    Create databases that will store local copies of cryptokiwi and mikiwiki wiki, and of mikido:

    MYSQL_HISTFILE=/dev/null mysql --user=root -p mysql
    
    mysql> CREATE DATABASE cryptokiwi;
    mysql> GRANT ALL PRIVILEGES ON cryptokiwi.* TO kiwi@localhost IDENTIFIED BY '********';
    mysql> CREATE DATABASE mikiwiki;
    mysql> GRANT ALL PRIVILEGES ON mikiwiki.* TO miki@localhost IDENTIFIED BY '********';
    mysql> CREATE DATABASE mikido;
    mysql> GRANT ALL PRIVILEGES ON mikido.* TO miki@localhost IDENTIFIED BY '********';
    mysql> CREATE DATABASE nxpwiki;
    mysql> GRANT ALL PRIVILEGES ON nxpwiki.* TO nxp@localhost IDENTIFIED BY '********';
    mysql> quit
    
    • Enabled HTTPS (requires valid-user)
    • Firewall blocks port 80 but allow port 443 (so that localhost can connect w/o password but other guest needs password)

    Nautilus

    • Default view: List View
    • Display, date format: YYYY-MM-DD hh:mm:ss
    • List View: zoom 33%
    • Icon View, Compact View: zoorm 66%
    • Preview: all set to Never, and only for files smaller than 500kB (to prevent thumbnailing PDFs...)

    Opera

    • (nxp) Import collabnet client-side certificate (beq06659.pfx)
    • Change fonts (Preferenceswebpages — requires restart for changes to take effect!):
      • Normal font: DejaVu Sans, 16.
      • Monospace font: DejaVu Sans Mono, 16.

    Psi

    (recovered from previous settings on Gryphon at ~/.psi)

    • Gnome: Added Psi as startup program (Psi, /usr/bin/psi, Communicate over the jabber network).
    • OptionsEventsEnable popup notifications (all notifications)
    • Modify Account... → Changed resource to work-ux
    • Modify Account...Automatically reconnect if disconnected
    • Modify Account...Proxylocalhost:8118

    Samba

       security = user
       username map = /etc/samba/smbusers
    
    # [...]
    
    [homes]
       comment = Home Directories
       browseable = no
     
    # [...]
     
    [c]
       comment = Windows Drive C
       browseable = yes
       path = /win/c
       printable = no
       guest ok = no
       read only = yes
       create mask = 0700
    
    [d]
       comment = Windows Drive D
       browseable = yes
       path = /win/d
       printable = no
       guest ok = no
       read only = yes
       create mask = 0700
    

    SSH

    • Installed SSH-Tunnel
    • Files recovered from other installation (ssh-tunnel v2.26 + patch):
    /usr/local/bin
    -rwxr-xr-x 1 root root ssh-agent-refresh_andlinux.sh
    -rwxr-xr-x 1 root root ssh-agent-refresh.sh
    -rwxr-xr-x 1 root root ssh.pl
    -rwxr-xr-x 1 root root ssh-tunnel.pl
    
    • User beq06659 - configuration file in directory ~/.ssh:
      • id_rsa || id_rsa.pub || authorized_keys || config* || proxy.conf* || clbanner.txt
    • Disabled SSH Key Agent from Gnome Startup Applications
    • Added startup application:
      • Name: startup.sh
      • Command: /home/beq06659/bin/startup.sh
      • Comment: Custom startup script
    • Do not accept locale env var. LC_* from the client (see SSH#Missing Locale in Perl)

    Terminal

    Vim

    • Added ~/.bash_completion from [9] (modified to also take alias v=gvim)

    Wine

    See Configuration NXP Dell Latitude E5430 - Wine.

    Issues and To Do

    Issues

    See Common Issues

    To Do

    • To Do — Set up smtp server for localhost (to allow sending mail to remote server from local smtp)
    • To Do — See To Do / Issue list on Configuration NXP Dell Latitude E6500
    • To Dorecoll, install more filters: python:epub, python:midi, python:rarfile (see ~/.recoll/missing)
    • To Do — Install macbuntu or similar theme, if available
    • To Do — See Ubuntu 14.04 Trusty Tahr guides
    • To Do — Things to try, as demo'ed by Alicia Da Conceicao on her Surface Pro 2:
      • MS Office on Wine + Play on Linux
      • Connect to MS Exchange using Evolution
      • Connect to MS Lync using Online Buddy (Pidgin)

    Done

    • Done — Description