I am writing a quick script to read user input and put into commands of a couple different programs. I'm using xterm -e to open a terminal for each separate program.

The script is working fine, but each time xterm -e is executed, an error message is displayed:

Warning: Tried to connect to session manager, None of the authentication protocols specified are supported

Any ideas on how to stop this from displaying?


3 Answers 3


xterm uses the $SESSION_MANAGER environment variable to find out how to contact the X session manager.

In your case it seems to be unable to authenticate to it. Possibly, that script is started in the current session but as a different user.

Anyway, you don't have to report to a session manager so you can as well unset that variable to make the error message go away:


In POSIX-like shells (or unsetenv SESSION_MANAGER in (t)csh or set -e SESSION_MANAGER in fish)

Or if your env supports the non-standard -u option, start xterm as:

env -u SESSION_MANAGER xterm ...

Actually, xterm does not directly use the SESSION_MANAGER variable. That is used in the Xt and SM libraries.

A more direct method of disabling the session manager feature is found in the xterm manual, first in command-line options:

-sm This option, corresponding to the sessionMgt resource, indicates that xterm should set up session manager callbacks.

+sm This option indicates that xterm should not set up session manager callbacks.

and then in application resources:

sessionMgt (class SessionMgt)
If the value of this resource is "true", xterm sets up session manager callbacks for XtNdieCallback and XtNsaveCallback. The default is "true".

Since these features were introduced in patch #169 (2002), it is likely that they are available.


You can ignore it with:

xterm -e 2> /dev/null

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .