Starting VA Smalltalk on openSuSE 12.2


As I’ve written a few days ago, there are problems installing and starting VA Smalltalk on openSuSE 12.2. The problem is that root (nor any normal user) cannot start VAST or its setup program in an X session. The installation or start of VA Smalltalk quits with the following message:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

ERROR: Failed to open default display - exiting.

I already wrote the solution is to tell the X server to allow a connection to the X server for the current user. You can use xhost for this. The command to execute is host local: <username>. I couldn’t figure out which configration file would have to be changed to set this permanently, but I wanted to share what I did to at least make VA Smalltalk start without any problems. I just added the following line to the abt startup script (the text in black is as it ships with VAST, but with it you can find where to add the line):

#
# Runtime determination logic:
#
# 1. If <shellName> = "abt" then development time; otherwise runtime.
# 2. If development time, run es adding -mcd switch to disable code caching;
# if runtime, run es adding -no_break switch so user break window not shown
#
# As of VAST 5.5 the install no longer sets up symbolic links to /usr/bin/es.
# (This permits the coexistence of multiple VAST versions on the same UNIX machine)

xhost local:$(whoami)
if [ "${0##*/}" = "abt" ]
 then
   $VASTROOT_85/bin/es -mcd $IMAGE "$@"
 else
  $VASTROOT_85/bin/es -no_break $IMAGE "$@"
fi

I am not completely sure if I like this solution, but I’ve found a number of posts on the net where other applications  had the same startup problem and the only advice that seemed to reliably work was to call xhost before the start of the affected application.

Especially surprising for me was that adding my normal user to the user group xok, which is meant for users who may start X applications does not change anything.

So do you know what has to be done in openSuSE to allow certain users to start an application on the X server? Please add a comment and let me know. I don’t like the fact that I have to remember to change my act file after each VAST update. I could of course also put the call into .profile or any other startup script, but that still requires me to remember to do that for every user…

One thought on “Starting VA Smalltalk on openSuSE 12.2

Comments are closed.