Отправлять сообщения между двумя ПК Ubuntu (Net Send Style)

Я пытаюсь найти способ отправить сообщение (например, всплывающее сообщение) с одного ПК на другой. оба используют Ubuntu. Уже пробовал smbclient, но это работает только между Linux-ПК и Windows-ПК. Мне нужен способ отправки сообщений с ПК Ubuntu на другой компьютер Ubuntu. Аналогично способу отправки Windows Net.

1
задан 6 October 2017 в 21:26

2 ответа

Я читал, что вы хотели сделать это без SSH, я считаю, что у меня есть решение: netcat [nc] По умолчанию он имеет Ubuntu.

Сначала нам нужен «демон» для запуска фон. Во-вторых, нам нужна программа для создания всплывающего предупреждения. У меня установлен zenity. Если вы этого не сделаете, установите его или отредактируйте скрипт, чтобы использовать все, что вам нравится [e.x. xmessage, но это уродливо]. Затем вставьте это в 'daemon.sh':

#!/bin/bash
port=3333
nc -l $port | while read msg; do zenity --info --text "$msg"; done

Теперь сделайте его исполняемым chmod +x daemon.sh, теперь запустите его в фоновом режиме: ./daemon.sh &

сделанный! Ну, вам действительно нужно сделать это на каждом компьютере. Вы также захотите автоматизировать запуск демона. Откройте «запуск» приложений из меню и добавьте скрипт. Как только это будет сделано, чтобы отправить сообщение на другой компьютер, введите:

nc 192.168.1.X 3333, затем введите свое сообщение и нажмите Enter. Каждая строка ввода вызовет всплывающее сообщение. Чтобы выйти из nc, нажмите Ctrl + C или Ctrl + D.

Просто убедитесь, что вы заменили 192.168.1.X реальным локальным IP-адресом другого ПК. [Вы можете использовать ifconfig, чтобы найти IP-адрес]

Я вижу, что вы уже приняли ответ на этот вопрос: (Но если мое решение работает для вас, пожалуйста, по крайней мере, дайте мне Upvote! Кроме того, вы также можете сделать еще один скрипт, скажем, message.sh. В этом, paste:

#!/bin/bash
nc 192.168.2.X 3333

Затем chmod +x message.sh. Тогда вы можете просто ввести ./message.sh, затем введите свое сообщение, затем введите, и ваше сообщение будет отправлено. Кроме того, теперь, когда я думаю об этом, вы также можете добавить звуковое уведомление. Я бы порекомендовал mplayer, это медиаплеер CLI. Не следует слишком сложно разобраться, но если у вас возникли вопросы, пожалуйста, не стесняйтесь спрашивать!

30
ответ дан 25 May 2018 в 22:26
  • 1
    Это опрятное решение, но я предпочитаю SSH из-за безопасности. – ohitsanazn 23 November 2011 в 08:08
  • 2
    Кто-то сказал, что вы можете использовать socat вместо netcat для шифрования SSL. Я никогда не смотрел в нее, хотя. – Matt 24 November 2011 в 06:06
  • 3
    Вау! красиво сделано! Я немного изменил его для работы с notify-osd: nc -l $port | while read msg; do notify-send "$HOSTNAME" "$msg" -i gtk-network; done – Khurshid Alam 4 June 2013 в 19:50
  • 4
    Или с IP-адресом удаленного соединения: while true; do nc -l -v 3333 2> status | while read msg; do ip=$(cat status | grep -o -P '(?<=from).*(?=port)') && notify-send "$ip" "$msg" -i gtk-network; done ; done – Khurshid Alam 5 June 2013 в 03:21
  • 5
    Вы можете использовать cryptcat, чтобы зашифровать ваше сообщение с помощью пароля. Он работает так же, как nc – Anonymous Platypus 17 March 2015 в 09:32

Используйте nc для отправки текста между двумя компьютерами в одной сети (без шифрования).

На принимающем компьютере выполните

nc -l 3333

На приеме computer do

nc 192.168.1.XX 3333

, тогда просто начните вводить текст, и текст появится на другом компьютере (после нажатия клавиши ввода), пока вы не нажмете ctlr + c.

Вы можете получить IP принимающего компьютера с помощью hostname -I (запустите его на принимающем компьютере).

Вам не нужно использовать порт 3333, используйте любое число между , чтобы получить IP и 65535 включительно.

Помните, что это не зашифровано. Любой компьютер в вашей сети может видеть, какой текст вы переносите.

3
ответ дан 25 May 2018 в 22:26

Другие вопросы по тегам:

Похожие вопросы: