expoweb/handbook/computing/yourlaptop.html

166 lines
13 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CUCC Expedition Handbook: Programmers manual</title>
<link rel="stylesheet" type="text/css" href="../../css/main2.css" />
</head>
<body>
<h2 id="tophead">CUCC Expedition Handbook - Your laptop</h2>
<h1>Setting up an Expo laptop</h1>
<h3>Operating Systems</h3>
<ul>
<li>The quickest way to get a complete setup is to use a <b>Debian Linux laptop</b>.
<br>
The <i>expo laptop</i> uses <a href="https://www.debian.org/intro/about">Debian</a> with the <a href="https://computingforgeeks.com/how-to-install-cinnamon-desktop-environment-on-debian/">Cinnamon</a> interface, but pretty much any Linux system works fine. This handbook does assume that you are using apt - the Debian package manager - which is good for all Debian-derived Linuxes such as <a href="https://ubuntu.com/">Ubuntu</a>. Old, slow machines without much memory can be very effective with <a href="https://xubuntu.org/">Xubuntu/xfce</a>.
<li>Windows machines can do almost everything needed (rsync is a problem), but some useful software has no Windows version and you will need to find your own equivalents. There are also dangerous 'gotchas' to look out for because the file-naming system is different. Do use Linux if you can.
<li>WSL: the Windows Subsystem for Linux. The first release of this didn't do the ssh key exchange process easily. The <a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10">2019 WSL2 release</a> includes a complete Linux kernel. If you want to use this, then please do - and then write the handbook documentation too. But beware that it has <a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-index">two different modes</a> which behave differently.
<li>Mac users will need to use the Linux documentation as a guide and work it all out for themselves.
<li>Android phone apps can be invaluable too.
</ul>
<h3>Software</h3><a href="https://survex.com/screenshots.html"><img src="https://survex.com/img/aven-1.2.37-by-date.png" hspace="20" align="right" width="300"></a>
<p></a>Long-standing Expo policy is to retain absolute control of all software and all data.
So we use <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">FOSS software</a>.
You can use other software on your own machine if it is format-compatible and exports data in the formats we want,
but all the recommended software here is open source (and please don't install proprietary software on the '<em>expo laptop</em>').</p>
<p>The list of software:
<ul>
<li><a href="https://git-scm.com/">git</a> - distributed version control system - already installed on Linux probably
<li><a href="https://tortoisehg.bitbucket.io/"> TortoiseHg</a> - GUI to mercurial (to be deprecated during 2020)
<li><a href="https://www.mercurial-scm.org/">mercurial</a> - distributed version control system (to be deprecated during 2020)
<li><a href="../fzconfig.html">Filezilla</a> - ftp GUI software with a configuration file to get to the expo server
<li><a href="https://survex.com/download.html">Survex</a>, including the Aven visualisation tool.
<li><a href="https://github.com/CaveSurveying/tunnelx">Tunnel</a>: 2.5D cave drawing program based on Survex-compatible data which can also read PocketTopo files. (Generally called 'tunnel' even though the project and executable is actually 'tunnelx'.)
<li><a href="https://therion.speleo.sk/">Therion</a> - Therion processes survey data and generates maps or 3D models of caves.
<li><a href="https://bitbucket.org/AndrewA/topparser/src/default/">TopParser</a> - to convert PocketTopo .top files from a DistoX into Therion.
<li><a href="http://wscc.darkgem.com/caveconverter/">Footleg Cave Converter</a> - to convert PocketTopo .top files from a DistoX into survex (Java)
<li><a href="https://www.qgis.org/en/site/">QGIS</a> - A Free and Open Source Geographic Information System
<li><a href="https://activityworkshop.net/software/gpsprune/development.html">GPSprune</a> - to edit GPS tracks in GPX files (Java).
<li><a href="https://sourceforge.net/projects/viking/">Viking</a> - an alternative to GPSprune. The <a href="https://github.com/viking-gps/viking">code</a> is on github.
<li>python, if you are extending troggle or the scripts in expoweb/noinfo/ - already installed on Linux <img src="https://www.python.org/favicon.ico" width=64 hspace="20" align="right">
<li>python packages you will want to install: [<em>not yet documented</em>]
</ul>
<p>Nearly all our Austrian surveys have beeen produced using Tunnel but we are moving to Therion for new caves because Therion does elevations properly and Tunnel never will.</p>
<a href="https://therion.speleo.sk/2D.php"><img src="https://therion.speleo.sk/img/head.jpg" hspace="20"></a>
<p>For Linux users only:
<ul>
<li><a href="https://git-scm.com/download/gui/linux">GUI for git</a> - There is a choice on Linux but many people just use the command line.
<li>Your favourite syntax-highlighting code editor. <a href="">gedit</a> is installed on the <em>expo laptop</em> has syntax highlighting for .svx files too. This works with <a href="https://survex.com/changes.html">all GtkSourceView-based editors</a> (thanks to Phil Withnall).
</ul>
<p>For Windows users only:
<ul>
<li><a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html">PuTTY</a> including pagent. Version 0.73 was released on 2019-09-29. You need this to generate and to use ssh keys on Windows. Otherwise none of git, mercurial, scp, ftp or rsync will work. It includes command line tools ssh, scp (pscp) and sFTP (psftp).
<li><a href="https://gitforwindows.org/">Git for Windows</a>
<li><a href="https://tortoisegit.org/support/faq/#prerequisites">TortoiseGit</a> - GUI interface to git
<li><a href="https://www.python.org/downloads/windows/">python for windows</a>. We are using python 2.7 not 3.8.
<li><a href="https://winscp.net/eng/download.php">WinScp</a> can be used as an alternative to Filezilla if you like.
<li><a href="https://www.java.com/en/">java</a> - needed for GPSprune and CaveConverter. Has to be installed separately on a Windows machine.
<li><a href="https://notepad-plus-plus.org/">Notepad++</a> or any other syntax-highlighting code editor for HTML and python such as <a href="https://www.aptana.com/">Aptana Studio</a>. Configuring these to syntax-highlight .svx files has yet to be done.
<li><a href="https://www.cygwin.com/">Cygwin rsync</a> - not installed as standard on Windows so you need to get Cygwin or <a href="https://serverfault.com/questions/878887/rsync-server-using-windows-subsystem-for-linux">use WSL</a>. But getting WSL to work with ssh keys has been <a href="https://heejune.me/2018/08/02/setup-rsync-server-over-ssh-on-windows-server-2012-easy-way/">tricky</a> and pagent-managed ssh keys are apparently not visible to ssh and rsync in WSL. If you find a good solution for Windows please edit this documentation.
</ul>
<p>For Android phones:
<ul>
<li><a href="https://www.termius.com/">Termius</a> - command line to create a key for your phone, to ssh (and mosh) login to the expo server. To get sftp you have to buy it.
<li><a href="https://osmand.net/">OsmAnd</a> - a GPS app. See also <a href="../essentials.html">the expo GPS configuration pages</a>
<li><a href="http://www.gpsessentials.com/">GPSessentials</a> - another GPS app.
<li><a href="http://apemap.com/">Ape@Map</a> - another GPS app, compatible with Kompass commerical map sand used by Austrian cavers
<li><a href="../uploading.html#android">andftp</a> FTP app - needs an <a href="computing/keyexchange.html">ssh key</a> installed on your phone
<li><a href="ftpusage.html">FTP using Cx_File_Explorer</a> (this is probably out of date)
<li><a href="https://sites.google.com/site/speleoapps/home">TopoDroid</a> makes cave surveys with the DistoX.
<li><a href="https://sites.google.com/site/speleoapps/home">Cave3D</a> is a Therion 3D viewer.
<li><a href="https://sites.google.com/site/speleoapps/home">ThManager</a> organizes single surveys, exported by TopoDroid, into Therion projects encoded by Therion "thconfig" files.
</ul>
<h3>Logins to external systems</h3>
<ul>
<li><a href="https://github.com/join">Github</a> - create your own github account if you don't have one already.
<li><a href="https://bitbucket.org/product/">Bitbucket</a> - create an account to help develop tunnel. <img src="https://tortoisehg.bitbucket.io/img/bitbucket-icon.png" width=64 hspace="20" align="right">
<li><a href="https://trac.survex.com/wiki">Trac issue tracker and wiki</a> for developing survex
<li><a href="https://launchpad.net/">Launchpad</a> - create an account to help develop survex.
</ul>
<p>You should also have a look at, and keep up to date with:
<ul>
<li><a href="https://github.com/CaveSurveying/CUCCexposurveyissues/issues">CUCC CaveSurveying Bug lists and open issues discussed on github</a> -
issue list so you will need to subscribe to the Cave Surveying Group on github to participate.
<li><a href="https://github.com/CaveSurveying/CUCCexposurveyissues/wiki/Expo-tunnel-workflows">Expo-tunnel-workflows</a> -
a wiki on github discussing workflows to generate centerlines, GEOTIFF and QGIS integration.
<li><a href="https://launchpad.net/survex">launchpad.net/survex</a> - the main Survex development system.
</ul>
<h3>Configuration</h3>
You need to do the
<a href="keyexchange.html">key exchange</a> procedure - which you can only do entirely on your own if
you have access to the <i>expo laptop</i> to upload and install the public key generated by your laptop. Do this first, Without it none of git, mercurial, scp, ftp or rsync will work.
<p>On a Windows machine you will need to configure pageant (the putty authentication agent)
to <a href="https://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html">run at startup to load your key</a>. Note that you are loading your <em>private</em> key, the .ppk file, into pageant and that this key never leaves your laptop.
<p>The above gets TortoiseHg and the command-line PuTTY tools (ssd, sftp, pscp) running, but doesn't get Cygwin rsync working. You might like to try <a href="https://stackoverflow.com/questions/23517023/rsync-from-windows-to-linux-using-puttys-pagent-authentication">this</a> (untested).
<p>Full illustrated instructions:<img src="https://wiki.filezilla-project.org/favicon.ico" width=64 hspace="20" align="right">
<ul>
<li><a href="../tortoise/tortoise-win.htm">Installing TortoiseHg and PuTTy on Windows</a>.
<li><a href="../fzconfig.html">Installing Filezilla</a>.
<li><a href="https://tortoisehg.readthedocs.io/en/latest/quick.html">Quick Start guide o TortoiseHg</a>.
</ul>
<p>When using Windows please, please be <a href="http://expo.survex.com/handbook/survey/getin.htm#filenames">excessively careful when naming files and survex names</a> and be <a href="../manual.html#quickstart">exceptionally careful when using rsync</a>.
<p>The handbook has documents where it is necessary to use scp or sftp to manage large files in 'expofiles'. See <a href="../upload-expert.html">Experts: Uploading files</a>, <a href="../uploading.html">Uploading files</a> and <a href="../gpxupload.html">Uploading GPS tracks</a>. Only machines which have done the key exchange process can do scp, sftp or rsync.
<h3>Learning how to use this software</h3>
<img src="/expofiles/tunnelwiki/wiki/images/6/65/Banner204.png" align="right" width=450>
<p>For Survex, Tunnel and Therion, see the <a href="http://expo.survex.com/handbook/survey/">Expo Surveying Handbook</a>.
<p><em>For installing Survex, Tunnel etc. see <a href="../getsurvex.html">this page</a> which will be merged in here eventually.</em>
<p><a href="http://expo.survex.com/expofiles/tunnelwiki/wiki/pages/Tunnel.html">The Tunnel tutorial</a> - installation notes and a wiki of examples and tutorials
<p><a href="https://bitbucket.org/goatchurch/tunnelx/src/default/">bitbucket.org/goatchurch/tunnelx</a> - documentation and source code in the bitbucket repository system.
<h3>Cheat lists and quick reminders</h3>
<p>Quick <a href="qstart-hg.html">reminders for using mercurial</a> at the command line.
<p>Quick <a href="../manual.html#quickstart">reminders for using rsync and mercurial</a> at the command line.
<h3>Complementary tools</h3>
<p>When maintaining the HTML files in the expo handbook a link-checker is useful to report bad URLs (links to external sites go bad regularly) and to find orphaned pages with no in-links. The website has <a href="https://www.klebos.net/subdomains/keldos/LinkScans/TUNNEL-wiki-link-report.html">about 2,000 internal URLs</a> in just the Tunnel wiki section alone.
<ul>
<li><a href="https://www.brokenlinkcheck.com/">Online brokenlinkcheck tool</a> - does not install on your laptop
<li><a href="http://home.snafu.de/tilman/xenulink.html">Xenu Link Sleuth</a> - on Windows
<li><a href="https://www.digitalocean.com/community/tutorials/how-to-find-broken-links-on-your-website-using-wget-on-debian-7">Linkchecking with wget</a> - command line methods on Linux
</ul>
<a href="http://wscc.darkgem.com/caveconverter/"><img src="CaveConverterWorkflow.png" width=600 hspace="20"></a>
<hr />
<div id="menu">
<ul id="links">
<li><a href="../index.htm">Handbook</a>
<li><a href="../../infodx.htm">Main index</a></li>
</ul>
</div>
</body>
</html>