2 개의 Ubuntu PC간에 메시지 보내기 (Net Send Style)


28

한 PC에서 다른 PC로 메시지 (예 : 팝업 메시지)를 보내는 방법을 찾으려고합니다. 둘 다 우분투를 사용하고 있습니다. 이미 smbclient 방식을 시도했지만 이것은 Linux PC에서 Windows PC 사이에서만 작동합니다. 우분투 PC에서 다른 우분투 PC로 메시지를 보내는 방법이 필요합니다. Windows Net Send 방식과 유사합니다.


notify-send는 내 터미널에서 팝업을 보내지 만 다른 사용자 (특정 사용자 목록 일 수 있음)에게 팝업을 보내려고했지만 sudo 또는 ssh를 사용하지 않고 다른 대안이 있습니까? 보내기 "를 제외한 다른 사용자 터미널에서 메시지를 보냅니다.

답변:


27

설치 sshlibnotify-bin(터미널을 통해) :

sudo apt-get install ssh libnotify-bin

두 컴퓨터에서.

( libnotify-bin이미 설치되어 있을 수 있습니다 . 이미 설치했습니다.)

그런 다음 터미널을 통해 다른 컴퓨터로 SSH하십시오.

ssh <user name>@<ip address>

그런 다음 로그인하면 다음을 입력하십시오.

export DISPLAY=:0
notify-send "Title of message" "message text"

행복한 메시지 보내기!
(또는 XD를 무섭게)


1
이것은 매우 지능적인 답변이지만 ssh없이 보낼 수있는 방법을 찾으려고합니다. ssh 옵션을 사용하면 이미 작동한다는 것을 알고 있지만 (예 : 벽 사용) 알림 보내기가 매우 똑똑합니다.
Luis Alvarado

1
여러 방법을 검색 한 후이 방법이 가장 좋습니다. 두 가지 이유 때문에 : 1. ssh는이 작업을 수행 할 때 약간의 보안을 제공합니다. 2. DISPLAY를 사용하면 메시지를 표시 할 비디오를 선택할 수 있습니다. ssh user @ ip / domain 'DISPLAY = : 0 notify-send "TITLE" "MESSAGE"'를 사용하여 테스트했습니다.
Luis Alvarado

그것은 가정 환경에서 작동 할 수 있지만 대규모 조직에서는 모든 클라이언트 시스템에 SSH를 설치할 수 있는지 확실하지 않습니다. 사무실에서 약 100 coms가있는 경험이 있습니다. 보내는 다른 방법이 있어야합니다 SSH를 설치 밖으로 메시지
The_skinny_man

ssh없이 이것을 달성하기위한 내 대답을 확인하십시오! :)
Matt

31

나는 당신이 SSH없이 이것을하기를 원한다고 읽었다. 나는 해결책이 있다고 믿는다 netcat.

먼저 백그라운드에서 실행하려면 "데몬"이 필요합니다. 둘째, 경고 팝업을 만들기위한 프로그램이 필요합니다. 나는 한 zenity설치. 그렇지 않은 경우 설치하거나 스크립트를 편집하여 [ex 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를 다른 PC의 실제 로컬 IP로 교체하십시오. [ ifconfigIP 주소를 찾는 데 사용할 수 있습니다 ]

또 다른 스크립트를 만들 수도 있습니다 message.sh. 그 안에 붙여 넣습니다.

#!/bin/bash
nc 192.168.2.X 3333

그런 다음 chmod +x message.sh. 그런 다음 ./message.sh메시지를 입력하고 입력 한 다음 입력하면 메시지가 전송됩니다. 또한 지금 생각하면 소리 알림을 추가 할 수도 있습니다. mplayerCLI 미디어 플레이어 인 것이 좋습니다 . 알아 내기가 너무 어려워서는 안되지만 궁금한 점이 있으면 언제든지 문의하십시오.


1
이것은 깔끔한 솔루션이지만 보안상의 이유로 SSH를 선호합니다.
ohitsanazn

1
누군가 socatSSL 암호화에 netcat 대신 사용할 수 있다고 말했습니다 . 나는 그것을 보지 않았다.
Matt

3
와우! 잘 했어요! notify-osd와 함께 작동하도록 약간 변경했습니다.nc -l $port | while read msg; do notify-send "$HOSTNAME" "$msg" -i gtk-network; done
Khurshid Alam

또는 원격 커넥터의 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
쿠르 알람

cryptcat통신을 암호로 암호화하는 데 사용할 수 있습니다 . 그것은뿐만 동일하게 작동합니다nc
익명 오리너구리

11

nc암호화없이 동일한 네트워크의 두 컴퓨터간에 텍스트를 보내는 데 사용 합니다.

수신 컴퓨터 할 일

nc -l 3333

보내는 컴퓨터 할 일

nc 192.168.1.XX 3333

그런 다음 입력을 시작하면 ctlr + c를 누를 때까지 다른 컴퓨터에 Enter 키를 누른 후 텍스트가 표시됩니다.


수신 컴퓨터 의 IP받을 수 있습니다 hostname -I( 수신 컴퓨터에서 실행).

포트 3333을 사용할 필요가 없으며 1025 에서 65535 사이의 숫자를 사용하십시오 .

이것은 암호화되지 않았습니다 . 네트워크상의 모든 컴퓨터에서 전송중인 텍스트를 볼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.