Sunday, August 24, 2008

XChat or irssi+screen+ssh?

Ever since I started to IRC from my Linux machine, not only I had been a happy (almost) user of XChat for years but also I wrote an XChat plugin for Guile. All that changed when I moved to Finland three years ago and was educated about the benefits of the combination of irssi+screen+ssh, the biggest (perhaps the only one) of them being the persistence connection to IRC. Since then I had been using that combination. After three years, I am having doubts about the choice I made at that time.

XChat might not be able to provide me with a persistent connection to the IRC world but it still provides lots of small features that irssi does not (and in some cases can not) provide that really does matter in the end and one would expect in a modern IRC client, e.g hard-to-miss notifications when I get new messages, saving of logs and DCC-sent-files directly on my local-machine etc.

I switched to back to XChat a few days ago. I mostly feel good about coming back to it but still miss the persistent connection to IRC. Especially when I suspend/resume my laptop. After resuming, XChat happily assumes that everything is exactly how it was before I suspended the laptop and it takes a while in realizing that it needs to re-connect to all networks. In most cases the network connection doesn't take long but in case of very busy networks like ircnet, it takes a lot of time and is therefore a source of annoyance.

The reason I am discussing this here and not doing anything about it is that I currently don't have time do anything about it and if someone has already solved this problem somehow, I would like to know.

20 comments:

Pedro Martínez Juliá said...

I think you could try to use XCHAT+X11+SSH. It is the equivalent to IRSSI+SCREEN+SSH...

ressu said...

Get the best of both worlds.

You can use the proxy plugin for irssi that will allow you to maintain a persistent connection to the network while you are offline with xchat.

This should make reconnect a lot faster. The only downside is that if someone sends you a message while you are offline you will have to manually check it. This could be fixed with a script though...

Salvatore Iovene said...

ZNC solves my persistence and logging problems. But if you wanna go for the irssi+ssh+screen way, please s/irssi/weechat.

Frej said...

If you do have shell somewhere, there exists several 'irc bouncers'.
That stays online as an agent. And then you(xchat) connect to the agent.

http://en.wikipedia.org/wiki/Bouncer_(networking)

In general there are painfully hard to setup up.

rant>
Also, you might just consider IRC broken and complain about it, and use XMPP. You don't need always on for multiuser chats, when you have offline messageing. But i guess gnome is about decadence and very old pants ;)
/rant

Anonymous said...

what you need is a 'screen' for X. http://partiwm.org/wiki/xpra claims to be it. i tried compiling it a while ago and did not get very far, but it might be worth a try.

another solution would be VNC.

Rubenv said...

screen+ssh+irssi + irssi proxy + xchat does the trick for me. Best of both world, like ressu mentioned.

For the offline messaging: there are scripts, like awayproxy, that take care of that. Enjoy!

zeenix said...

Thanks ressu and rubenv, I think I'll go this path.. :)

Stecchino said...

I'm surprised no one suggested Quassel-irc yet. It's a GUI chat program with a client-server architecture.
The core part stays online all the time and the client connects to it. The result is similar to irssi + screen but with a real GUI including balloon notifications.

It's written in Qt version 4 and runs on all Qt supported platforms. That includes Maemo based tablets.

http://www.quassel-irc.org

sankarshan said...

Use something like http://dircproxy.securiweb.net/ and configure X-Chat to connect to the proxy. This would mean that you require a separate box to run the proxy server. I used to work with the setting for a while before I returned to ssh+irssi+screen

Anonymous said...

I use Bip. Basically X-Chat connects to my own server, and it proxies my IRC. Leaves me on all the time, allows multiple IRC clients to join the same nick at the same time. And provides mechanisms for reading scroll back.

miffe said...

I'll have to second znc, it's really nice.
Plus throw bitlbee in there and you can be online on the im networks at the same time.

schmichael said...

ssh+irssi+screen

no proxies
no bouncers
no graphics

It Just Works.

zeenix said...

ssh+irssi+screen

no proxies
no bouncers
no graphics


Really? I didn't know that.

El Burro said...

http://miau.sourceforge.net/features.html

easy to install irc proxy - just connect you xchat to it and get a quicklog of what was said during your absence. You can configure the quicklog as long or short as you like

J. Smith said...

I've happily used the dircproxy IRC proxy with XChat for the past couple of years.

Anonymous said...

Smuxi might be your graphical solution to the irssi+screen+ssh combo. It's GTK based and allows to run the session indepedent from the frontend, so it can be detached and re-attached like screen does! http://www.smuxi.org/

nelix said...

screen+ssh+irssi + irssi proxy + xchat

Although I find xchat not so great, and irssi to be less distracting from my primary task.

OMMV

Noel said...

I also use dircproxy.
The current URL to dricproxy is http://dircproxy.googlecode.com/

Doug Holton said...

Do you know if the proxy solutions will work with pidgin?

I'm liking how I can do irc/instant messaging/twitter whatever all in one with pidgin, but would also like a persistent irc connection.

Memo said...

I am surprised people suggesting to install programs on a suspended laptop/pc . The only solution in my knowledge (very limited in this case ) would be a BNC service, you get from a provider, or installing your own BNC to an always-on-pc on a shell you already have. I use this solution with xchat-pidgin - mirc - chatzilla to a Dircproxy BNC .
I recommend dircproxy for its easy to use interface (very basic) and simple setup . Not pain-in-the-butt like psybnc or others.