62

As I recall there was something like netsend on windows that allowed simple messages to be sent over the local network. I especially like this because one doesn't need to install extra client soft (hello skype).

Is there something dead simple like this on Linux?

Just to clarify I'm looking for a bash command or simple CLI script/tool, not a GUI app.

80

You actually can do this with netcat, I believe it is already installed in most cases on linux, and it's dead simple.

On PC 1, type: nc -l 55555

On PC 2, type: nc $IP 55555, where $IP equals the local IP address of PC 1 [e.x. 192.168.2.50]

Once you do this, in the same box, from PC 2, type something and press enter. Then go over and look at PC 1, and your message will be there! It works both ways.

You can also choose a different port than 55555, or if you opened your firewall, you can do this through the internet via your external IP.

  • 11
    +1 for another creative use of netcat. You can use that tool for anything. – Nathan Osman Oct 10 '11 at 23:09
  • Any possibility to do it with more than 2 pc? – wair92 Sep 30 '15 at 7:59
  • @wair92 indeed. Use on the PC1: while true; do nc -l 5555; done and (the tricky part) is to echo something to the nc pipe instead of enter on it's interactive mode. On PC2 (or even another therminal in same machine) use: echo "i am PC2" | nc $IP 5555 and the message will be sent and connection will close, but will be reopened. So, you can still do in PC3: echo "i am PC3" | nc $IP 5555 and the PC1 will receive that message. – erm3nda Feb 11 '17 at 0:31
21

You can use iptux. It is a very convenient GUI-based program. You can even send files (and entire folder) to your colleague.

From a terminal,

sudo apt-get install iptux

will do the job.

Here is a screenshot of this tool.

iptux image (turn on image in your browser to see this)

  • 4
    Best answer in this thread by far. – notbad.jpeg Feb 23 '14 at 4:01
  • 1
    simple, graphical, easy and perfect, thx! – Aquarius Power Jun 24 '14 at 0:37
20

No need for netcat hacks.

The talk (or ytalk - same protocol but newer, multi-user) is a visual communication program which copies lines from your terminal to that of another user. They are probably the closest UNIX equivalent to netsend. An advantage is that communications can be secured by running over ssh.

Packages are in the software repositories. Usage is simply:

talk user@host

More information here:

Edit: found a screenshot on wikipedia: Unix talk screenshot

Edit again (response to psusi's comment): I'm not sure about Gnome, but KDE will show a popup for a talk request:

KDE talk popup

  • I was thinking of answering this question like that, but decided against it because (y)talk operates tty to tty, not over the network, and people use gui desktops these days instead of logging in to a tty. A proper answer to this question would involve a network protocol that would pop up a gui chat client on the desktop, but unfortunately a modern network+gui replacement for ytalk was never developed. Windows NT used to have a proper chat program that did this ( not just one way one message net send ), but Microsoft dropped the program I think in win2k or xp, which is a shame. – psusi Sep 22 '11 at 1:54
  • @psusi: There is a desktop notification for talk requests; see my second edit. Also, talk certainly does work over the network and in a graphical desktop. – scottl Sep 22 '11 at 3:52
  • Could you expand on how to make this work over the network, or SSH? – CMCDragonkai Mar 24 '16 at 4:10
  • I'm having difficulties to make talk work. Netcat worked immediately though. – Nikos Sep 22 '17 at 18:57
  • @psusi the talk protocol operates tty to tty on the local system, but if you have a talk daemon running on both machines and DNS names assigned to them it will hunt down users on other machines over the network as well. – Perkins Oct 3 '18 at 22:11
8

One option: if one server has a ssh client installed you could login using ssh and use write. http://manpages.ubuntu.com/manpages/wily/man2/write.2.html

4

Empathy supports this, but you need to activate it. It is called people nearby and is a special kind of account which does not require a server. Other than that, it's the same protocol as Facebook and Google uses. Everyone who has activated that will be visible to everyone else on the same network that has also activated it.

  • couldnt find the option, could be the version? – Aquarius Power Jun 24 '14 at 0:33
  • It should be installed by default in any supported version of Ubuntu, but I think the package is called telepathy-salut. It should appear as account type "People Nearby" when you create a new account in Empathy. (Of course, "People Nearby" is also translated, so it might be different if you're not using English) – Jo-Erlend Schinstad Jun 27 '14 at 16:11
  • ppl nearby is actually named "salut" and my install is english o_O (at least on empathy 3.8.6), anyway users found each other! but... they cant send messages? despite green icon, it says user is offline... did you add some firewall rule to allow this? – Aquarius Power Jun 27 '14 at 19:41
  • ugh just saw this: "traps: empathy-chat[...] general protection ip:... sp:... error:0 in libc-2.19.so" but only shown on dmesg of one machine! – Aquarius Power Jun 27 '14 at 19:48
4

You can do this with finch Install finch, the command-line equivalent to pidgin, by setting up local accounts (Bonjour/Avahi). I have not used finch myself, so I cannot guide you in the setup, but it should be fairly easy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.