Instructions for installing NCDC on Debian. Should hold for Debian derivatives as well.


Since NCDC 1.9, local compilation is no longer necessary on Debian. The APT alternative will also keep the package up to date, and should thus be preferred. I keep the compilation instructions for corner cases.

Alternative 1: Compile

Install required libraries:

sudo aptitude install libbz2-dev libxml2-dev libncurses5-dev libncursesw5-dev libsqlite3-dev libglib2.0-dev libgdbm-dev

Get the latest NCDC source from The filename is assumed to be ncdc-1.7.tar.gz in this section.

Unpack source and configure:

tar zxvf ncdc-1.7.tar.gz
cd ncdc-1.7
./configure --prefix=/usr/local

Here you might find more libraries that are needed that I already had installed on my system. An example of an error message:

checking for ncurses.h... no
configure: error: Could not find a header files for ncurses.

which means that you should install libncurses5-dev, re-run ./configure and so on.

Compile and install:

sudo make install

Alternative 2: APT and Open Build Service

New releases are continuously uploaded to the Open Build Service which generates .deb-packages and publishes them on a custom repository. To enable, follow the instructions at Open Build Service which are short and repeated here:

  1. Add an /etc/apt/sources-list.d/ entry:

    echo 'deb /' | sudo tee /etc/apt/sources.list.d/ncdc.list
  2. Add the repository key:

    sudo apt-key add - < Release.key && rm Release.key
  3. Update package lists and install:

    sudo aptitude update
    sudo aptitude install ncdc

    and NCDC will be kept up to date during regular package upgrades.

I uninstalled my existing NCDC install by going to the source directory from where I compiled it and running:

sudo make uninstall

just to clean out potential residue in the system.




To configure NCDC you run specific /set (global parameters) or /hset (hub specific parameters) commands in the program interface. Some parameters are currently only available in global form.

Running only /set presents a list of current configuration options.

/help set option shows a help text of the configuration option option.

Nb: The setting names change quite often. There have been at least three changes of fundamental setting names in just a couple of months, so refer to your current version for exact names. The ones below are given for NCDC 1.9. Special note can be taken to the TLS port settings which have changed in newer versions.

Define some global settings:

/set active_ip
/set active_port 54000

With this setting, NCDC will use TCP 54000–54001 and UDP 54000. These incoming ports must be reachable through FW/router/etc.

/set active true
/set slots 3
/set autorefresh 0s

Addition in 1.13:

/set share_symlinks true

since this defaults to false, and I used this functionality.

Now, create a hub profile:

/open -n myhub

This will open and place you on a hub tab. Alt+# where # is the tab number switches between the tabs listed in the bottom row.

Define some hub settings:

/hset encoding CP1252
/hset nick [mytag]mynick
/hset autoconnect true

Share data:

/share "My stuff" /media/my_stuff

Go live


This should get things running. man ncdc has more info. Let's hope NCDC development continues; it is much nicer than microdc2 in its current state.