2台のUbuntu PC間でメッセージを送信する(Net Send Style)


28

1つのPCから別のPCにメッセージ(ポップアップメッセージなど)を送信する方法を見つけようとしています。どちらもUbuntuを使用しています。すでにsmbclientの方法を試しましたが、これはLinux PCからWindows PCの間でのみ機能します。Ubuntu PCから別のUbuntu PCにメッセージを送信する方法が必要です。Windows Net Sendの方法に似ています。


notify-sendは端末にポップアップを送信しますが、他のユーザー(特定のユーザーのリストかもしれません)にポップアップを送信したいのですが、sudoまたはsshを使用せずに、代わりのコマンドがあります。 send」が、他のユーザー端末でメッセージを送信します。

回答:


27

インストールsshしてlibnotify-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オプションを使用すると、(たとえば壁を使用して)動作することは既にわかっていますが、通知送信は非常にスマートです。
ルイスアルバラード

1
いくつかのメソッドを検索した後、これが最適です。次の2つの理由があります。1。sshを使用すると、これを行う際のセキュリティが確保されます。2。DISPLAYを使用すると、メッセージが表示されるビデオを選択できます。ssh user @ ip / domainを使用してテストしました 'DISPLAY =:0 notify-send "TITLE" "MESSAGE"'
ルイスアルバラード

それは家庭環境で動作するかもしれませんが、大規模な組織では、すべてのクライアントシステムにSSHをインストールできるかどうかわかりません、私のオフィスには約100のcomがあるので、別の送信方法があるはずですSShをインストールせずにメッセージ
The_skinny_man

SSHなしでこれを達成するための私の答えをチェックしてください!:)
マット

31

SSHを使用せずにこれを実行したかったと読みましたが、解決策があると思いnetcatます。[nc] Ubuntuにはデフォルトで付属しています。

最初に、バックグラウンドで実行するための「デーモン」が必要です。第二に、アラートをポップアップさせるプログラムが必要です。私がしているzenityインストールされています。そうでない場合は、インストールするか、スクリプトを編集して、好きなものを使用してください[例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の代わりに使用できると誰かが言った。私はそれを見たことはありません。
マット

3
うわー!うまくできました!私は通知-OSDでビット仕事にそれを変更:nc -l $port | while read msg; do notify-send "$HOSTNAME" "$msg" -i gtk-network; done
Khurshidアラム

または、リモートコネクタの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

cryptcatパスワードを使用して通信を暗号化するために使用できます。同じように動作しますnc
匿名カモノハシ

11

nc同じネットワーク上の2台のコンピューター間でテキストを送信するために使用します(暗号化なし)。

オン受けるコンピュータがdo

nc -l 3333

、送信コンピュータがdo

nc 192.168.1.XX 3333

入力を開始すると、ctlr + cを押すまで、テキストが(Enterキーを押した後)他のコンピューターに表示されます。


使用して、受信側コンピューターのIP取得できますhostname -I(受信側コンピューターでIPを実行します)。

あなたは、ポート3333を使用しての間の任意の数を使用する必要はありません102565535以下です。

これは暗号化されていないことに注意してください。ネットワーク上のどのコンピューターでも、転送するテキストを確認できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.