Kirim pesan antara 2 PC Ubuntu (Gaya Kirim Net)

28

Saya mencoba menemukan cara untuk mengirim pesan (seperti pesan sembulan) dari 1 PC ke yang lain. keduanya menggunakan Ubuntu. Sudah mencoba cara smbclient tetapi ini hanya berfungsi antara PC linux ke PC windows. Saya perlu cara untuk mengirim pesan dari PC Ubuntu ke PC Ubuntu lain. Mirip dengan cara Windows Net Send.

Luis Alvarado
sumber
notify-send mengirim pop up di terminal saya tetapi saya ingin mengirim popup ke pengguna lain (mungkin daftar pengguna tertentu) tetapi tanpa menggunakan sudo atau ssh, apakah saya punya alternatif. Perintah yang berfungsi sebagai "notify- kirim "tetapi untuk mengirim pesan pada terminal pengguna lain.

Jawaban:

27

Instal sshdan libnotify-bin(melalui terminal):

sudo apt-get install ssh libnotify-bin

di kedua komputer.

(Anda mungkin sudah libnotify-binmenginstal. Saya sudah memilikinya.)

Kemudian SSH (via terminal) ke komputer lain:

ssh <user name>@<ip address>

Dan saat Anda masuk, ketik:

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

Selamat mengirim pesan!
(atau menakuti XD)

ohitsanazn
sumber
1
Meskipun ini adalah jawaban yang sangat cerdas, saya berusaha mencari cara untuk mengirimnya tanpa ssh. Dengan opsi ssh saya sudah tahu itu berfungsi (menggunakan dinding misalnya) tetapi pemberitahuan-kirim Anda sangat cerdas.
Luis Alvarado
1
Setelah mencari beberapa metode yang satu ini adalah yang terbaik. Karena 2 alasan: 1. ssh memberi saya keamanan untuk melakukan ini dan 2. Penggunaan DISPLAY memungkinkan untuk memilih video mana yang akan ditampilkan pesan. Saya diuji menggunakan ssh user @ ip / domain 'DISPLAY =: 0 beri tahu-kirim "TITLE" "MESSAGE"'
Luis Alvarado
Mungkin bekerja di lingkungan rumah, tetapi dalam organisasi besar, saya tidak yakin apakah mungkin untuk menginstal SSH pada setiap sistem klien, saya punya pengalaman karena di kantor saya ada sekitar 100 com, harus ada cara lain untuk mengirim sebuah pesan tanpa menginstal SSh
The_skinny_man
Lihatlah jawaban saya untuk menyelesaikan ini tanpa ssh! :)
Matt
31

Saya membaca Anda ingin melakukan ini tanpa SSH, saya yakin saya punya solusi: netcat[nc] Muncul dengan Ubuntu secara default.

Pertama kita membutuhkan "daemon" untuk dijalankan di latar belakang. Kedua, kita membutuhkan program untuk membuat peringatan muncul. Saya telah zenitymenginstal Jika tidak, silakan instal, atau edit skrip untuk menggunakan apa pun yang Anda suka [ex xmessage, tapi itu jelek]. Selanjutnya, rekatkan ini ke 'daemon.sh':

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

Sekarang, buat itu bisa dieksekusi chmod +x daemon.sh, sekarang jalankan di latar belakang:./daemon.sh &

Sekarang kamu selesai! Sebenarnya Anda perlu melakukan ini di setiap komputer. Anda juga ingin mengotomatiskan awal daemon. Buka aplikasi 'startup' dari menu, dan tambahkan skrip Anda. Setelah selesai, untuk mengirim pesan ke komputer lain, ketikkan:

nc 192.168.1.X 3333kemudian ketik pesan Anda dan tekan Enter. Setiap baris masukan akan membuat pesan muncul. Untuk keluar dari nc, tekan Ctrl + C, atau Ctrl + D.

Pastikan untuk mengganti 192.168.1.X dengan IP lokal asli dari PC lain. [Anda dapat menggunakan ifconfiguntuk menemukan alamat IP]

Anda juga dapat membuat skrip lain, misalnya message.sh,. Di dalamnya, tempel:

#!/bin/bash
nc 192.168.2.X 3333

Lalu chmod +x message.sh. Kemudian Anda bisa mengetik ./message.shlalu mengetik pesan Anda, lalu masuk, dan pesan Anda dikirim. Juga, sekarang saya memikirkannya, Anda juga bisa menambahkan notifikasi suara. Saya akan merekomendasikan mplayer, ini adalah media player CLI. Seharusnya tidak terlalu sulit untuk diketahui, tetapi jika Anda memiliki pertanyaan, jangan ragu untuk bertanya!

Mat
sumber
1
Ini adalah solusi yang rapi, tetapi saya lebih suka SSH karena tujuan keamanan.
ohitsanazn
1
Seseorang memberi tahu saya bahwa Anda dapat menggunakan socatbukan netcat, untuk enkripsi SSL. Saya tidak pernah melihatnya.
Matt
3
Wow! dilakukan dengan baik! Saya mengubahnya sedikit untuk bekerja dengan notify-osd:nc -l $port | while read msg; do notify-send "$HOSTNAME" "$msg" -i gtk-network; done
Khurshid Alam
Atau dengan alamat ip konektor jarak jauh: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
Anda dapat menggunakan cryptcatuntuk membuat komunikasi Anda dienkripsi dengan kata sandi. Ia bekerja sama sepertinc
Anonymous Platypus
11

Gunakan ncuntuk mengirim teks antara dua komputer di jaringan yang sama (tanpa enkripsi).

Di komputer penerima lakukan

nc -l 3333

Di komputer pengirim lakukan

nc 192.168.1.XX 3333

maka cukup mulai mengetik dan teks akan muncul di komputer lain (setelah Anda menekan enter) sampai Anda menekan ctlr + c.


Anda bisa mendapatkan IP dari komputer penerima hostname -I(jalankan di komputer penerima).

Anda tidak harus menggunakan port 3333, gunakan nomor apa pun antara 1025 dan 65535 inklusif.

Ingat bahwa ini tidak dienkripsi . Komputer apa pun di jaringan Anda dapat melihat teks apa yang Anda transfer.

Boris
sumber