To get the Tcl/Tk inter-process communications working, I had to get rid of xhost and configure xauthority on my account (and the same on Ingrid/obs). Here's what you do: 1) get rid of every xhost machine line in your dot files (mine were in .xinitrc). Make sure xhost is set to xhost - (ie. don't do an xhost + either) 2) create a .Xauthority file on your account on linux with mkxauth -c 3) add a .xserverrc file (you can copy mine probably) with the following line: exec X -auth $HOME/.Xauthority -bpp 24 (the -bpp 24 is optional and depends on what you were doing before to startx - in this case I had aliased my startx to startx -- -bpp 24, so here I put the -bpp 24 in my .xserverrc file and got rid of the startx alias.) 4) if you are running X programs on other machines and need to give them permission to use your mahine's display, you need to make a .Xauthority file on those machines as well and merge into them (xauth merge) the entry for your machine you created in step 2. To get this, on your machine, do: xauth extract fred yourmachine:0 then go to the other machine, and do an xauth merge fred (after transferring fred, of course - in binary) then add the other machine's entry to your machine by running xauth extract on the other and xauth merge on your machine. 5) Exit X and restart. 6) everything should work as before and xhost should report: access control enabled, only authorized clients can connect