Nxl67170 - Ubuntu: Difference between revisions
Jump to navigation
Jump to search
(62 intermediate revisions by the same user not shown) | |||
Line 25: | Line 25: | ||
{| class="install_simple_log" |
{| class="install_simple_log" |
||
|- |
|- |
||
|'''VirtualBox''' (<tt>virtualbox-4. |
|'''VirtualBox''' (<tt>virtualbox-4.3</tt>)|| |
||
* [2013-10-29] — Updated to 4.3.0! |
|||
* See '''[[Configuration NXP Dell Latitude E5430#Log|virtual machine configuration log]]'''. |
|||
* Installed with apt (original version 4.2.8) |
|||
* VirtualBox is launched as user '''vbox''' (see [[VirtualBox]]) |
|||
* Create launcher |
|||
{{hiddenSourceFile|~/.local/share/applications/|virtualbox-root.desktop|content= |
|||
<source lang=bash> |
|||
#!/usr/bin/env xdg-open |
|||
[Desktop Entry] |
|||
Version=1.0 |
|||
Type=Application |
|||
Terminal=false |
|||
Icon[en_US]=VBox |
|||
Name[en_US]=Oracle VM VirtualBox (vbox user) |
|||
Exec=/home/beq06659/bin/vbox.sh |
|||
Comment[en_US]=Run several virtual systems on a single host computer |
|||
Name=Oracle VM VirtualBox (vbox user) |
|||
Comment=Run several virtual systems on a single host computer |
|||
Icon=VBox |
|||
</source>}} |
|||
* Script to reset network / bluetooth after suspend / network env. change (see [[VirtualBox]]) |
|||
|- |
|- |
||
|'''Privoxy''' (<tt>privoxy</tt>)|| |
|'''Privoxy''' (<tt>privoxy</tt>)|| |
||
Line 31: | 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 |
|'''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 47: | Line 69: | ||
|'''NTP''' (<tt>ntp</tt>)|| |
|'''NTP''' (<tt>ntp</tt>)|| |
||
* synchronize with NTP server automatically |
* synchronize with NTP server automatically |
||
* add to |
* add to {{file|/etc/ntp.conf}}: |
||
<pre>server wbi.nxp.com iburst</pre> |
<pre>server wbi.nxp.com iburst</pre> |
||
|- |
|- |
||
Line 55: | Line 77: | ||
|- |
|- |
||
|'''TrueCrypt'''||<small>v7.1a, with AES-NI instructions! |
|'''TrueCrypt'''||<small>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 <code>--checksum</code>). |
|||
|- |
|- |
||
|'''Samba Server''' (<tt>samba smbfs</tt>)||See [[#Samba|local config]] |
|'''Samba Server''' (<tt>samba smbfs</tt>)||See [[#Samba|local config]] |
||
Line 70: | 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</tt>)||Soul package requires CTAN color package - see [http://www.tex.ac.uk/tex-archive/macros/latex/contrib/soul/soul.pdf]<br/><small>[2011-01-14]</small> Added texlive-science.<br/>Upgraded to TeX Live 2012 (from ''texlive-backports'' ppa) — requires package ''texlive-latex-extra'' |
|||
* 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> |
|||
updmap # Update user's pdftex.map |
|||
</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 80: | Line 107: | ||
|'''pdftk''' (<tt>pdftk</tt>)|| |
|'''pdftk''' (<tt>pdftk</tt>)|| |
||
|- |
|- |
||
|'''Git''' (<tt>git-gui gitk git-doc gitweb</tt>)|| |
|'''Git''' (<tt>git-gui gitk git-doc gitweb</tt>)|| |
||
* <small>[2013-02-20]</small> — {{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 90: | Line 118: | ||
sudo make install install-doc install-html |
sudo make install install-doc install-html |
||
</source> |
</source> |
||
<small>[2013-02-20]</small> — Installed '''tileqt''' tcl/tk widget theme for ''gitk'' (see [[Git#Configuration|here]]). |
* <small>[2013-02-20]</small> — 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 106: | Line 139: | ||
|'''KDiff3-QT''' (<tt>kdiff3-qt</tt>)||(QT version has no dep on KDE) Settings → Integration → 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 → Integration → add <tt>;--</tt> to command line opts to ignore, and check ''Quit also via Escape key'' |
||
|- |
|- |
||
|'''Diffstat''' (<tt>diffstat</tt>)|| |
|'''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 130: | Line 165: | ||
|'''pipe viewer''' (<tt>pv</tt>)|| |
|'''pipe viewer''' (<tt>pv</tt>)|| |
||
|- |
|- |
||
|'''Acrobat Reader''' (<tt>acroread</tt>)||Edit mime type in |
|'''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 |
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 151: | Line 186: | ||
|'''[http://todotxt.com/ todo.txt]''' |
|'''[http://todotxt.com/ todo.txt]''' |
||
| |
| |
||
* Copy |
* Copy {{file|todo.sh}} to {{file|/usr/local/bin}}, {{file|todo_completion}} to {{file|/etc/bash_completion.d}} |
||
* Copy |
* Copy {{file|[http://superuser.com/questions/361774/how-to-highlight-contexts-projects-in-todo-txt colorSymbols]}} to {{file|/usr/local/bin}} |
||
* Update |
* 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 162: | Line 197: | ||
|- |
|- |
||
|'''encFS''' (<tt>encfs</tt>)|| |
|'''encFS''' (<tt>encfs</tt>)|| |
||
|- |
|||
|'''Pidgin + SIPE''' (<tt>pidgin pidgin-sipe</tt>)|| |
|||
* 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 [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 219: | 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 253: | Line 302: | ||
else |
else |
||
resetgrp $F # remove |
resetgrp $F # remove |
||
true |
|||
fi |
fi |
||
break |
break |
||
Line 259: | 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 285: | 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 294: | Line 355: | ||
== Simple Settings == |
== Simple Settings == |
||
* '''SUDO''' - keep environment |
* '''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 |
* '''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 |
* '''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''' — 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''' — 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 313: | 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 |
* 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 322: | Line 384: | ||
</source> |
</source> |
||
* '''~/bin''' — 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''' — 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 342: | 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 354: | 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 |
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- |
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 |
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- |
drwxr-xr-x beq06659 beq06659 <font color="blue">sage-6.0</font>/ |
||
drwxr- |
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"> |
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 ' |
# 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 |
cd /data |
||
sudo chgrp -R |
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+ |
find d -type d -print0|sudo xargs -0 chmod g+ws |
||
find d -type d -print0|sudo xargs -0 setfacl -m d:group: |
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 551: | 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: |
|||
* |
* Compiz settings, see [[Ubuntu]]. |
||
* Wallpaper: {{file|Pirate Mac.jpg}} (previous was {{file|Isabelle Hires Noir&Blanc crop-despeckle 936x1200.png}}). |
|||
* '''Terminal''' — ''Colors'' select '''Use colors from system theme''' (was set to ''Gray on black'' built-in schemes). Keep transparent background '''95%'''. |
|||
* '''Panel''' — 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 — ''Application'' → '''Tahoma 9'''; ''Document''→ '''Sans 8'''; ''Desktop'' → '''Sans 8'''; Title → '''Sans Bold 9'''; ''Fixed width'' → '''Monospace 8'''</s> |
|||
* (after ''Macbuntu'') Fonts — ''Application'' → '''Lucida Grande 9'''; ''Document''→ '''Lucida Grande 9'''; ''Desktop'' → '''Lucida Grande 9'''; Title → '''Lucida Grande 10'''; ''Fixed width'' → '''Lucida Console 9''' (originally ''Lucida Console 10'') |
|||
* Fonts — 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-;'' → '<tt><</tt>' and ''AltGr-:'' → '<tt>></tt>', and support ''Greek letters'' with ''AltGr-Shift''. |
|||
* Options: '''Capslock''' affects all keys, '''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 → '''Show windows from all workspaces''' |
|||
* Restoring Minimized Windows → '''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''' → '''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 654: | 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 691: | 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 791: | Line 849: | ||
=== [[Vim|Vim]] === |
=== [[Vim|Vim]] === |
||
* Added <tt>~/.bash_completion</tt> from [http://vim.wikia.com/wiki/Using_bash_completion_with_ctags_and_Vim] (modified to also take <code>alias '''v'''=gvim</code>) |
* Added <tt>~/.bash_completion</tt> from [http://vim.wikia.com/wiki/Using_bash_completion_with_ctags_and_Vim] (modified to also take <code>alias '''v'''=gvim</code>) |
||
=== [[VirtualBox|VirtualBox]] === |
|||
* See '''[[Configuration NXP Dell Latitude E5430#Log|virtual machine configuration log]]'''. |
|||
* Installed with apt (original version 4.2.8) |
|||
* VirtualBox is launched as user '''root''' (because it seems that only the current user and '''root''' can access '''PulseAudio''' in a same X session — see [https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/433654]) |
|||
* Allow user '''beq06659''' to launch VirtualBox through user ''root''. Add to <tt>/etc/sudoers</tt>: |
|||
{{pl2|<source lang="text">beq06659 ALL=NOPASSWD: /usr/bin/virtualbox</source>}} |
|||
* Helper script to add to e.g. <tt>~/bin</tt> : |
|||
{{pl2|<source lang="bash" enclose=prevalid> |
|||
#First allow user vbox to connect to X11 |
|||
#xhost +SI:localuser:vbox |
|||
#sudo su vbox -c /usr/bin/virtualbox& |
|||
#New config - run VirtualBox as root to allow sound |
|||
sudo /usr/bin/virtualbox& |
|||
</source>}} |
|||
* Create a launcher in <tt>~/.local/share/applications/virtualbox-root.desktop</tt> |
|||
{{pl2|<source lang=bash> |
|||
#!/usr/bin/env xdg-open |
|||
[Desktop Entry] |
|||
Version=1.0 |
|||
Type=Application |
|||
Terminal=false |
|||
Icon[en_US]=VBox |
|||
Name[en_US]=Oracle VM VirtualBox (root) |
|||
Exec=/home/beq06659/bin/vbox.sh |
|||
Comment[en_US]=Run several virtual systems on a single host computer |
|||
Name=Oracle VM VirtualBox (root) |
|||
Comment=Run several virtual systems on a single host computer |
|||
Icon=VBox |
|||
</source>}} |
|||
=== Wine === |
=== Wine === |
||
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''' — Cannot install ''tileqt'' (tcl theme) to beautify ''gitk''. |
|||
* '''Issue''' — '''TeX Live''' still old version (2009) — 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}}''' — 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}}''' — Acrobat reader leaves ghost process ''SynchronizerApp-binary''. Disable it! |
|||
* '''{{red|Issue}}''' — Opera fonts too small, not as good as windows. |
|||
** '''{{green|partial fix}}''' — Increase default font size to 16 (''Preferences'' → ''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''' — Touchpad scroll not working, detected as ps/2 mouse. |
|||
** '''{{green|partial fix}}''' — 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}}''' — 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}}''' — <code>sudo apt-get --reinstall install flashplugin-installer</code> |
|||
* '''{{red|Issue}}''' — '''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}}''' — Virtualbox module not recompiling (broken DKMS) |
|||
** '''{{green|tentative fix}}''' — See [[VirtualBox#Recompiling the vboxdrv module after kernel update|Virtualbox]] |
|||
* '''Issue''' — Can't reconnect to Bluetooth Microsoft Sculpt Mouse. |
|||
** '''{{green|Solved}}''' — 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''' — ''animated gifs'' do not work. |
|||
** '''{{green|Solved}}''' — 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}}''' — Set up smtp server for localhost (to allow sending mail to remote server from local smtp) |
|||
* '''{{red|To Do}}''' — See To Do / Issue list on [[Configuration NXP Dell Latitude E6500]] |
* '''{{red|To Do}}''' — See To Do / Issue list on [[Configuration NXP Dell Latitude E6500]] |
||
* '''{{red|To Do}}''' — '''recoll''', install more filters: ''python:epub, python:midi, python:rarfile'' (see <tt>~/.recoll/missing</tt>) |
* '''{{red|To Do}}''' — '''recoll''', install more filters: ''python:epub, python:midi, python:rarfile'' (see <tt>~/.recoll/missing</tt>) |
||
* '''{{red|To Do}}''' — Install macbuntu or similar theme, if available |
* '''{{red|To Do}}''' — Install macbuntu or similar theme, if available |
||
* '''{{red|To Do}}''' — See [[Ubuntu#Guides|Ubuntu 14.04 Trusty Tahr guides]] |
|||
* '''{{red|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 === |
||
* '''{{green|Fixed}}''' — 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
- Added texlive-backports ppa (backports of latest TeX Live from Ubuntu 12.10, see [1])
sudo add-apt-repository ppa:texlive-backports/ppa
- Added LibreOffice 4.0.x PPA (LibreOffice 4.0.x series stable backports ppa, see [2])
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) |
~/.local/share/applications/virtualbox-root.desktop (<file name="virtualbox-root.desktop" tag="source">download</file>)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=VBox
Name[en_US]=Oracle VM VirtualBox (vbox user)
Exec=/home/beq06659/bin/vbox.sh
Comment[en_US]=Run several virtual systems on a single host computer
Name=Oracle VM VirtualBox (vbox user)
Comment=Run several virtual systems on a single host computer
Icon=VBox
|
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) |
server wbi.nxp.com iburst |
HTTrack (httrack) | |
WireShark (wireshark tshark) | |
TrueCrypt | v7.1a, with AES-NI instructions!
|
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 |
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) |
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
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
|
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 |
|
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) |
|
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)
|
ATOP 2.5g dev packages (patchutils lynx ncftp ksh tcsh sysvbanner flex bison dos2unix gawk) | (NXP Telematics ATOP dev)
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) |
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 doingxhost 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
andrfkill
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.
- NTFS — C: → 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
- NTFS — C: → do not mount automatically. Risk of corruption if mounted while VirtualBox is running!
/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/"
- .pac files:
- privoxy: file:///home/beq06659/etc/proxylocal-privoxy.pac (or http://localhost/proxy.pac to circumvent Opera bug)
- nxp: http://nww.nics.nxp.com:8080/proxy.pac
- /etc/sudoers — keep variables http_proxy and https_proxy
- Proxy configurations
NXP network | |
---|---|
sshproxy |
|
privoxy |
|
apt-get, wget, browsers |
|
ftp |
|
HOME network | |
sshproxy |
|
privoxy |
|
apt-get, wget, browsers |
|
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:
- 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:
- NXP Wired
- Added local domain name be-leu01.nxp.com to /etc/resolv.conf (! do not edit this file directly, see Linux Admin#Network Manager - Search Path)
- 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
/net /etc/auto.net
/smb/mnemosyne /etc/auto.smb.mnemosyne
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
Firewall
- Moved user rules to /etc/ufw so that they can be tracked by etckeeper
- Enabled ufw
- Policy:
cd /lib/ufw
sudo mv user* /etc/ufw
sudo ln -s /etc/ufw/user.rules
sudo ln -s /etc/ufw/user6.rules
sudo ufw enable
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):
- 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).
- Select PulseAudio as preferred device (instead of sound output HDA Intel (STAC92xx Analog)
- Set proxy settings in ~/.kde/share/config/kioslaverc.
- 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 - 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
- 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
(twice).NoneFileInfo - Enable mathjax:
- First install it:
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 |
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
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
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:
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 (Preferences → webpages — 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).
- Options → Events → Enable popup notifications (all notifications)
- Modify Account... → Changed resource to work-ux
- Modify Account... → Automatically reconnect if disconnected
- Modify Account... → Proxy → localhost:8118
Samba
- See Samba server page on this wiki.
- File /etc/samba/smb.conf:
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
- Added user beq06659
- Opened firewall ports (137/udp, 138/udp, 139/tcp, 445/tcp)
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 Do — recoll, 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