Gits¶
Gits is a web-based terminal emulator. The project is based on completely reworked source code of Ajaxterm. It understands only Linux console escape and control sequences so far. The main goal of the project is to be used in OpenStack one day.
Installation¶
Gits consists of two parts: a client and a server. The following sections
describe how to install Gits automatically and manually. You will need npm
to get the client package or build it from the source code. If you don’t have
npm
installed, have a look at nvm.
Automatic installation
The Gits client is listed in npm search and can be installed with
npm
. For example:
npm install gits-client
The node_modules
directory will be created inside the current working
directory.
The Gits server is listed in PyPI and
can be installed with pip
or easy_install
.
First, (optionally) prepare a virtualenv:
virtualenv -p python3 gits-env
. gits-env/bin/activate
Then, install the server:
pip install gits
Finally, go to the directory where you executed npm install gits-client
and
run server.py
. The server tries to use the
node_modules/gits-client/static
and node_modules/gits-client/templates
directories by default. Also you can explicitly specify which directories
should be used through the --static-path
and --templates-path
parameters.
Manual installation
First, get the Gits source code:
git clone https://github.com/tolstoyevsky/gits.git
cd gits
Then, build the client:
npm install
npm run start
Next, (optionally) prepare a virtualenv:
virtualenv -p python3 gits-env
. gits-env/bin/activate
After that, intall the server:
python setup.py install
Finally, run the server:
server.py --static-path=static --templates-path=templates
or
./bin/server.py --static-path=static --templates-path=templates
As previously mentioned in Automatic installation, the server tries to use
the node_modules/gits-client/static
and
node_modules/gits-client/templates
directories by default. In this case
they don’t exist, so you have to explicitly specify which directories should be
used through the --static-path
and --templates-path
parameters.
Prerequisites
Gits uses
- SSH to remotely login into a system. You need to ensure, that ssh daemon is running, before you’ll start a gits server.
- Tornado to create a WebSocket server and multiplex input/output in a platform-independent way
- PyYAML to store escape and control sequences in a YAML file.
Platforms
Theoretically Gits is platform-independent software (generally because of using Tornado), but practically the quality of its work may vary from platform to platform.
Licensing¶
Gits is available under the Apache License, Version 2.0.