Just a few minutes ago DL2NBU and I discovered the reason for this
strange message and I wish to immediately let you know. This info
will also go to the FAQ because it seems to be a rather frequent
problem.
The symptom is as follows:
On a new system you start up CLX, everything seems to work except
external programs like "SH/SUN":
>sh/us
User:
ik4drv-1
ik4drv-1 de xx0xx-6 16-Nov-1997 1951Z clx >
>sh/command
The follwing databases are available at xx0xx-6:
ik4drv-1 de xx0xx-6 16-Nov-1997 1951Z clx >
>sh/station ik4drv
ik4drv - Martino
qth Ravenna
location 44 24 n 012 13 e
last login 16-Nov-1997 1950Z
ik4drv-1 de xx0xx-6 16-Nov-1997 1951Z clx >
>sh/sun kl7
Sri, cannot exec "sh/sun".
The help command also used to be an external command until release
3.03, now it is internal. But SHOW/SUN is external and it does
not work.
The problem was with the master and slave ptys in the /dev directory.
With some Linux installations, all the free tty's have rights 600, so
only root can access them:
crw-rw-rw- 1 root root 3, 0 Jan 29 23:31 ttyp0
crw--w---- 1 ben tty 3, 1 Mar 1 21:29 ttyp1
crw--w---- 1 ben tty 3, 2 Mar 1 21:29 ttyp2
crw--w---- 1 ben tty 3, 3 Mar 1 21:28 ttyp3
crw--w---- 1 ben tty 3, 4 Mar 1 21:18 ttyp4
crw--w---- 1 ben tty 3, 5 Mar 1 21:02 ttyp5
crw--w---- 1 ben tty 3, 6 Mar 1 21:29 ttyp6
crw------- 1 root root 3, 7 Mar 1 00:32 ttyp7
crw------- 1 root root 3, 8 Mar 1 00:32 ttyp8
crw------- 1 root root 3, 9 Mar 1 00:14 ttyp9
crw------- 1 root root 3, 10 Feb 28 20:20 ttypa
crw------- 1 root root 3, 11 Feb 28 19:13 ttypb
crw------- 1 root root 3, 12 Feb 28 19:13 ttypc
Here ttyp0..ttyp6 are being used (by X), the next free tty would
be ttyp7. CLX uses these devices to communicate with the external
program. It starts looking from the lowest tty?? available up to
the end which, on my system, is /dev/ttyzf. If it does not find
a free tty it gives up and returns with the message:
Sri, cannot exec "sh/sun".
The solution (for Martino and also for us) was to change the
/dev/[pt]ty[p-z]* to mode 666:
# chmod 666 /dev/[pt]ty[p-z]*
This changes both tty and pty (master and slave) terminals. From
my tests I see that *both* tty and the corresponding pty have to
be writable for CLX to make it work. If you just open up one pty
(like Martino did with /dev/ptyzf, CLX can only use that and if a
second user is executing an external command, he will receive that
cryptic message again.
The only thing unclear to me at the moment is how X and other
programs not running as root who are using tty/pty's can access
these files after all in a fresh installation.
Anyhow, this is your solution for the moment.
73 Ben
--
[] clx - PacketCluster Software for Linux
[] c/o Bernhard ("Ben") Buettner, DL6RAI
[] Internet: mwmgchu.pyfkvbzqdv@relay.tunkki.fi
[] Packet: DL6RAI @ DB0AAB.#BAY.DEU.EU