Cluster administration with pconsole

Note: You may want to consider using ClusterSSH (clusterssh package for Fedora users) as it appears to be superior to pconsole.

, a "parallel console tool," is an excellent way to administer several machines at the same time. Every command typed is sent simultaneously to each of your attached terminals. By default, pconsole uses ssh for secure remote administration. Visit the pconsole home page to learn more.

Installing pconsole:

$ wget
$ tar zxvf pconsole-1.0.tar.gz
$ cd pconsole-1.0

/usr/local/bin/ contains function declaration syntax not compatible with the Bourne shell. The following change is needed on any system where /bin/sh is the Bourne shell (e.g. Solaris).
$ sed 's/function get_tty {/get_tty () {/' >
$ mv,

$ ./configure
$ make
# make install

Configuring pconsole

pconsole requires root privileges. You may make pconsole SUID to run it as a non-privileged user. pconsole should not be world-executable, so change group ownership on the pconsole utilities so that only you or members of an administrative group may execute pconsole.

$ cd /usr/local/bin
# chmod 4750 pconsole

# chgrp your_group pconsole

Using pconsole

Using pconsole is as simple as hostname(s). It is convenient to use aliases for pconsole as demonstrated in the following example:

alias mail_relays='P_CONNECT_CMD="ssh -l user_ID"
P_TERM_OPTIONS="-geometry 80x25 -bg white"
host1 host2 host3 host4'

In the example alias above, I change the xterm geometry (the default is almost illegible) and specify my user ID on the remote systems (it is the not the same as my local user ID).

Please read the pconsole documentation for more information on these environment variables and other options.

Ubuntu instructions

The Ubuntu pconsole package places and in /usr/share/doc/pconsole/examples. Here is how I configured pconsole on my Ubuntu system:

1. $ (cd /usr/share/doc/pconsole/examples; sudo cp /usr/local/bin)
2. $ sudo chmod u+s /usr/bin/pconsole
3. $ sudo sed --in-place 's|^#! /bin/sh|#!/bin/bash|' /usr/local/bin/
4. Added the following to ~/.bashrc:

export P_CONNECT_CMD="ssh -l hutchib"

export P_TERM_OPTIONS="-geometry 80x25 -bg white"
alias "$@"

5. Sourced ~/.bash_profile for my current login.
$ . ~/.bash_profile

Back to
Last modified: 2007/02/09