Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!dont-send-mail-to-path-lines From: randy@erik.UUCP (Randy Brown) Newsgroups: comp.windows.x Subject: Re: What is /usr/X/lib/Xconnections ??? Message-ID: <9105102036.AA20603@erik.uucp> Date: 10 May 91 20:36:44 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 75 hm1@unhd.unh.edu writes: > We have a system, which is EXLMBX 486/AT. It running under > System V, release 4. Lucky you. > I have just installed X11.R4 on the system (it didn't run X11 before). > When I try to run some clients (like xclock, maze...), I got the message > as following: I'm guessing you built this yourself from the MIT distribution. A little more detail on your environment would be useful next time. Did you build the nameserver used by Streams connections (by adding att-nameserver to the SUBDIRS in mit/util/Imakefile)? If you haven't yet poked around in this directory, do. Do you have /usr/X/lib/xdaemon and /usr/X/lib/net/{your network names here}/nameserver? Is xdaemon running? And so on. Most of these things are not needed on SVR4, since the multi-network nameserver capability is built in, but the X11R4 tape was targeted at SVR3.2. > Xlib/_XMakeStreamsConnection: unable to open connection file /usr/X/lib/Xconnections > Error: Cant't Open display Let's take a simple case. Suppose your machine is connected to only one network with connection-oriented facilities, say TCP/IP over Ethernet. Suppose the streams clone device for the t_open to access this net is /dev/tcp. Then /usr/X/lib/Xconnections is just * * tcp and that's it. But add an X.25 virtual circuit network and an OSI TP0 over token ring, with clone devices x25vc and tp0token. Say display tokyo:0 is on host japan on the X.25 net and mfg:0 is on host mfg7 on the token ring. Everything else is still on the original net. Then /usr/X/lib/Xconnections looks like tokyo:0 japan x25vc lathe:0 mfg7 tp0token * * tcp At least, that's the theory. I'd love to have a multiply connected machine to try it out on. AT&T has offered (given their business success, I hesitate to say shipped) machines with both 10Mbps and 1Mbps networks attached (Ethernet and Starlan). Host naming, addressing, etc. differed, but all could act as servers to clients on the multiply-connected machine (that's the claim, anyway...) using a single Xlib, etc. > I checked other systems DEC3100, Apollo_3500... and they don't have this file > opened when they run any of the client that come with X11.R4. What can I do > about it. If you don't need multiple-net access, can't figure out the Streams-oriented stuff, and aren't interested in networking, you might try setting up a new .cf file that uses sockets instead of Streams. But I don't know how many header files switched locations and contents in the move from what the MIT distribution expects to what SVR4 provides. If you want to be thorough, and like networking, dope out how to replace the MIT tape's nameserver stuff with the facilities of SVR4; but you'll still need something like Xconnections to relate display names to hosts and networks. (The non-Streams convention that host:0 is a display on host accessed through tpc/ip and host::0 is on host on decnet could be extended to other networks until it gets ridiculous, if you prefer to put the load on the user instead of on the system administrator.) Note that you can use an Xlib using TLI to connect to a server using Internet domain sockets on the same machine or another; the protocol is the same, only the programmer's interface changes. Potential difficulty comes up only when server and client are on the same machine; you can always fall back to the ip loopback connection, but you can't connect an Xlib using Streams pseudo-tty's (MIT X11R4 tape) to one using Unix domain sockets or Streams pipes or ... for local transport. Enjoy.