Archelon Client =============== Curses based application for command history that can be wired up to a Web server (archelond) for shared shell history across multiple hosts. Installation ------------ .. code-block:: bash pip install archelonc Once that is setup you can try it out by running ``. archelon`` this uses your existing shell history to let you try out the client. To make this work more like the bash reverse history search via ``C-r`` I recommend adding: .. code-block:: bash bind '"\033a":". archelon\n"' this will launch the reverse search of archelon via Alt-A. Web Enabled History ------------------- From here you can use archelon as is, but the cool part really start when you install archelond and wire the client up to use that project for shared and indexed shell history. To configure the client side after you have setup the server, you just need to add two environment variables to the mix. - ``ARCHELON_URL`` - Web URL to your archelond installation - ``ARCHELON_TOKEN`` - The API token for your user. You can get this by going to `https://your.archelond.domain/api/v1/token `_ and logging in with the username and password you've created. Add those to ``.bashrc``, ``.profile``, or whichever shell startup you are using and it will be hooked up to the Web server. You can verify this and populate your Web history by running the ``archelon_import`` command which will import your current computers history. Keyboard Shortcuts ------------------ Within the client curses application, there are a few handy keyboard shortcuts. :Alt-o: This presses the Ok button and runs whatever command is in the ``command`` field. :Alt-c: This presses the cancel button and exits out of the application without running a command. ``Ctrl-C`` also works, but currently has a nasty exception message. :Ctrl-x: This brings up the menu for doing things like changing the order of the search results. Within Menus ------------ Within the menu there are also keyboard shortcuts. And are executed emacs style, i.e. ``Ctrl-x Ctrl-f`` to set sorting order to oldest->newest. So far those are: :Ctrl-f: Sort results from oldest to newest :Ctrl-r: Default order. Sort results from newest to oldest.