Skip to content

Get your environment done

Chun Cai edited this page Nov 22, 2021 · 7 revisions

You are trying to run abacus either on your computer or a remote server accessed by ssh.

Developing on a Remote Server

Connect to Remote Server

Use ssh <user>@<ip_address>. We recommend add these lines to ~/.ssh/config(if this file does not exists, create one) :

Host <server_name> # whatever you like to name the server, e.g. abacus
    HostName <ip_address> # the IP address to the server
    User <user> # the username on the server, e.g. root

After that, you can use ssh server_name which is equivalent to ssh user@ip_address. Read more about SSH config files here.

Besides, we recommend using public key authentication to avoid entering password all the time. This takes two steps:

  • Generate a key: ssh-keygen. This will generate a key pair under ~/.ssh/. The passphrase can left blank, or the passphrase will be requested every time connecting remote server.
  • Put the key onto the server: ssh-copy-id user@host. This is the very last time you enter your password. This command conforms to the config file you've set above, i.e. using ssh-copy-id server_name also works.

For Windows users, follow Install OpenSSH guide to install the ssh and ssh-keygen tools on local machine. There is not a ssh-copy-id command on Windows, so you have to do it manually. Try type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@host "cat >> .ssh/authorized_keys". Read the origin blog post for further information.

Fast lane

Using Container in VS Code, regardless of the platform you are on.

  • Click "Clone Repositry" in VS Code Explore page on side bar (usually left-top), and enter the address of abacus repositry.
  • Install requirements and compile abacus, or
  • Follow the instruction on the notification area. This will clone a docker image containing all of the requirements.

Using Linux

Shell

The default shell is bash in most cases. We recomment replacing it with Z shell by the Oh My Zsh tool.

Another choice is fish shell. It comes with an user-friendly interface, however, and some compatiability issues - still worth trying.

See terminal shortcuts if you are using apple terminal. Some key shortcuts is also applicable for linux shells.

Visual Studio Code

The best editor to use for remote developing. We'll discuss it on a dedicated page.

Developing on Your PC

Windows

WSL

Since abacus does not support Windows officially, use Windows Subsystem for Linux as an alternative: just follow the best practice guide.

WSL2 has huge improvements than WSL1, so be sure you are installing under WSL2 configuration. By wsl --install you will get the proper installation. We suggest you install Linux distributions (e.g. Ubuntu) from Microsoft Store, rather than from Powershell commandline interface, as the former method is more stable.

Please be aware that the file system between WSL and Windows partially shares.

Windows Terminal

Stop using the annoying cmd! Powershell improves little. Try Windows Terminal for a better shell experience under Windows. You can launch WSL simply in a new tab.