Donate

Flattr this

Main

Documentation

Community

IRC News

Syndication

rss
atom

Ohloh

Powered by

SmartIrc4net

Nini

log4net

Twitterizer

IRC-Junkie.org for the #Smuxi IRC relay bot on Freenode and GIMPnet

Server HowTo

Add New User to Server

First connect to the server were you want to run the smuxi-server. It should be a machine that is always connected to the internet and is never powered off. Usually SSH (or VNC for Windows) will do this job for you.

Smuxi only ships with a "local" user by default, that is used by smuxi-frontend-gnome when no remote engine was defined. For that reason if you want to use the smuxi-server you have to create a new user first. The name of this user is not seen anywhere outside of the smuxi-server itself, it has nothing to do with the IRC nickname or whatever. Just start the smuxi-server application with the --add-user,  --username and --password parameter like this:

smuxi-server --add-user --username=$myuser --password=$mypassword

Later on, users can also be modified using the --modify-user parameter or deleted using the --delete-user parameter, see "smuxi-server --help" for details.

After that start the smuxi-server.

On Linux you should do this by using the nohup tool like this: nohup smuxi-server > smuxi-server.log &

The "&" sign is very important as that makes the server running in the background and continues to run even after terminating your SSH session!

On Windows you can simply start the smuxi-server.exe application.

Now tell the frontend to connect to a "remote engine" using "Engine -> Add Remote Engine" from the frontend menu. Only that makes the frontend connecting to the server!

SSH Support

Smuxi 0.6.4 and later has full SSH support out of the box and doesn't need any special configuration besides adding a remote engine entry with the menu "Engine" -> "Add Remote Engine"

Common Issues

Connecting says: Error: Connection refused

When connecting to the smuxi-server using the smuxi-frontend-gnome you get:

Error occured while connecting to the engine!
Engine URL: tcp://$HOST:$PORT/SessionManager
Error: Connection refused

And the debug log shows:

2009-05-02 14:14:08,308 [Main] ERROR
Smuxi.Frontend.Gnome.EngineManagerDialog -
System.Runtime.Remoting.RemotingException: Connection refused  at
System.Runtime.Remoting.Channels.Tcp.HostConnectionPool.CreateConnection ()

This means, either the connection from smuxi-frontend-gnome to the smuxi-server didn't work or the connection from the smuxi-server to the smuxi-frontend-gnome, as Smuxi needs to communicate in both directions.

Checking Connection To smuxi-server

Testing the connection to smuxi-server is very simple, just try to telnet to the smuxi-server IP + port, using this command:

telnet $IP $PORT

$IP being 192.168.0.1 for example and $PORT being 7689

If it says "Connected to $IP" then the connection to the smuxi-server is allright.

Checking Connection From smuxi-server

Testing the back-connection, smuxi-server to smuxi-frontend-gnome is a bit more difficult because it's done in a dynamic and automated fashion. But we can check what it tries and if that looks good.

Now run this command on the computer that has the smuxi-server running:

sudo ngrep tcp:// port 7689

This will show us which IP and port the client tells the server to use, often the IP is incorrect here. Look at the end of the line where it that says:

$System.Collections.DictionaryEntry[].....................tcp://$IP:$PORT.

Check if the value behind tcp:// is correct. The value is the IP address the client announces to the server. The IP must not be 127.0.0.1 or localhost! It should be the IP of your LAN interface, for example 192.168.0.2, if that's the case then it's allright too.

If it says 127.0.0.1 or equivalent (127.0.1.1 or any other 127.x.x.x) then you specified BindAddress with that value in ~/.config/smuxi/smuxi-frontend.ini or your /etc/hosts and/or /etc/hostname contains not correct values.

Checking /etc/hosts

/etc/hosts should contain a line with the LAN IP address and the hostname behind that. Like this:

192.168.0.2 mycomputer

If you are not sure what your hostname is, just run: hostname and it will output the hostname.