2 Ubuntu पीसी (नेट सेंड स्टाइल) के बीच संदेश भेजें


28

मैं 1 पीसी से दूसरे में एक संदेश (जैसे एक पॉपअप संदेश) भेजने का एक तरीका खोजने की कोशिश कर रहा हूं। दोनों उबंटू का उपयोग कर रहे हैं। पहले से ही smbclient तरीके की कोशिश की है, लेकिन यह केवल एक लिनक्स पीसी के बीच एक विंडोज पीसी के लिए काम करता है। मुझे उबंटू पीसी से दूसरे उबंटू पीसी पर संदेश भेजने का एक तरीका चाहिए। विंडोज नेट सेंड के तरीके के समान।


अधिसूचित-भेज मेरे टर्मिनल पर एक पॉप अप भेजता है, लेकिन मैं अन्य उपयोगकर्ताओं (विशिष्ट उपयोगकर्ताओं की सूची हो सकती है) को एक पॉपअप भेजना चाहता था, लेकिन sudo या ssh का उपयोग किए बिना, क्या मेरे पास कोई विकल्प है। एक कमांड जो "सूचित करें" के रूप में काम करता है। भेजें "लेकिन दूसरे उपयोगकर्ता टर्मिनल पर संदेश भेजने के लिए।

जवाबों:


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 उपयोगकर्ता @ ip / domain 'DISPLAY =: 0 का उपयोग करके परीक्षण किया - "TITLE" "संदेश" भेजें
लुइस अल्वाराडो

यह एक घर में काम कर सकता है, लेकिन एक बड़े संगठन में, मुझे यकीन नहीं है कि अगर हर ग्राहक प्रणाली पर एसएसएच स्थापित करना संभव है, तो मुझे अनुभव है कि मेरे कार्यालय में लगभग 100 कॉम हैं, भेजने का एक और तरीका होना चाहिए SSH
The_skinny_man

यह ssh के बिना पूरा करने के लिए मेरे जवाब की जाँच करें! :)
मैट

31

मैंने पढ़ा है कि आप एसएसएच के बिना ऐसा करना चाहते थे, मेरा मानना ​​है कि मेरे पास एक समाधान है: netcat[एनसी] यह डिफ़ॉल्ट रूप से उबंटू के साथ आता है।

पहले हमें पृष्ठभूमि में चलने के लिए "डेमॉन" की आवश्यकता होती है। दूसरा, हमें अलर्ट पॉप अप करने के लिए एक कार्यक्रम की आवश्यकता है। मैंने 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 को बदलना सुनिश्चित करें। [आप ifconfigआईपी ​​पता खोजने के लिए उपयोग कर सकते हैं ]

आप एक और स्क्रिप्ट भी बना सकते हैं, कहते हैं message.sh,। उस में, पेस्ट करें:

#!/bin/bash
nc 192.168.2.X 3333

तब chmod +x message.sh। फिर आप बस ./message.shअपना संदेश टाइप कर सकते हैं , फिर दर्ज करें, और आपका संदेश भेजा जाता है। इसके अलावा, अब जब मैं इसके बारे में सोचता हूं, तो आप एक ध्वनि अधिसूचना भी जोड़ सकते हैं। मैं सिफारिश करूंगा mplayer, यह एक सीएलआई मीडिया प्लेयर है। यह पता लगाने के लिए बहुत मुश्किल नहीं होना चाहिए, लेकिन अगर आपके कोई प्रश्न हैं, तो कृपया पूछने में संकोच न करें!


1
यह एक साफ समाधान है, लेकिन मैं सुरक्षा उद्देश्यों के कारण एसएसएच को पसंद करता हूं।
ओहित्सानज़्न

1
किसी ने मुझे बताया कि आप socatनेट एन्क्रिप्शन के लिए, नेटकैट के बजाय उपयोग कर सकते हैं । मैंने हालांकि इस पर कभी गौर नहीं किया।
मैट

3
वाह! अच्छी तरह से किया! मैंने अधिसूचित-ओएसडी के साथ काम करने के लिए इसे थोड़ा बदल दिया:nc -l $port | while read msg; do notify-send "$HOSTNAME" "$msg" -i gtk-network; done
खुर्शीद आलम

या रिमोट-कनेक्टर आईपी पते के साथ: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 को हिट नहीं करते तब तक टेक्स्ट दूसरे कंप्यूटर पर दिखाई देगा (एंटर प्रेस करने के बाद)।


आप प्राप्त करने वाले कंप्यूटर का IP प्राप्त कर सकते हैंhostname -I (प्राप्त कंप्यूटर पर इसे चलाएं)।

आपको पोर्ट 3333 का उपयोग करने की आवश्यकता नहीं है, 1025 और 65535 समावेशी के बीच किसी भी संख्या का उपयोग करें ।

याद रखें कि यह एन्क्रिप्टेड नहीं है । आपके नेटवर्क का कोई भी कंप्यूटर देख सकता है कि आप किस पाठ को स्थानांतरित कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.