लिनक्स लिखें कमांड मुद्दा


3

मैं के माध्यम से अपने आप को एक संदेश भेजने की कोशिश कर रहा हूँ write कमांड क्योंकि मैं चाहता हूं कि कुछ स्क्रिप्ट पृष्ठभूमि में चल रही हैं और जहां मैं हूं उस टर्मिनल की चीजों को गूंजने में सक्षम हूं।

इसलिए, मुझे हमेशा एक ही त्रुटि मिलती है और मुझे नहीं पता कि और क्या प्रयास करना है:

user $: mesg y
user $: mesg
is y
user $: write myuser
write: myuser has messages disabled
echo 'hello' | write myuser
write: myuser has messages disabled
myuser $DISPLAY
write: myuser has messages disabled
echo 'hello' | write myuser $DISPLAY
write: myuser has messages disabled

ये क्यों हो रहा है? मेरे द्वारा यह कैसे किया जा सकता है?

पुनश्च: मुझे रूट के समान परिणाम मिलते हैं।


1
कृपया चलाएं cat /etc/default/devpts और परिणाम दिखाओ। कृपया भी चलाएं /bin/mount | grep devpts और परिणाम यहां कॉपी करें। अंत में, आप किस लिनक्स वितरण का उपयोग कर रहे हैं?
John1024

cat: /etc/default/devpts: No such file or directory। मैं जेंटू पर चल रहा हूं। दूसरा आदेश यह संकेत देता है: devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
Rubén Marrero

2
ठीक। gid=5,mode=620 मूल्यों के अनुसार आवश्यक हैं man mount, सक्षम करने के लिए mesg। वे मूल्य हैं जो मेरे पास हैं और ऊपर आपकी आज्ञा है, echo 'hello' | write myuser, मेरे लिए ठीक काम करता है। मुझे आशा है कि किसी और के पास विचार हैं जो आपकी सहायता करेंगे।
John1024

@ जॉन १०२४ कोई समस्या नहीं है, आपकी टिप्पणी ने मुझे सही उत्तर दिया ^ ^।
Rubén Marrero

अति उत्कृष्ट। write मुझे इस तरह की चेतावनी दी logged in more than once; writing to pts/1 लेकिन पीटीएस निर्दिष्ट करने की मेरी आवश्यकता के बिना काम करना जारी रखा।
John1024

जवाबों:


2

आप कमांड का उपयोग कर सकते हैं

who -T

लिखने के लिए किस पोर्ट का उपयोग करें यह निर्धारित करने के लिए आपकी स्क्रिप्ट में। '+' या '-' वर्ण इंगित करता है कि टर्मिनल लेखन योग्य है या नहीं।

[lion@FedoraXXI ~]$ who -T
lion     ? :0           2015-04-24 15:18 (:0)
lion     + pts/0        2015-04-24 19:58 (:0)
lion     - pts/1        2015-04-24 21:24 (:0)
[lion@FedoraXXI ~]$

का उत्पादन who -T है vdevatman ? :0.0 2015-04-23 23:09 (:0.0) मेरे लिए और सिर्फ उत्पादन who एक ही है लेकिन बिना ? मुझे पता नहीं क्यों, लेकिन यह आपके मामले में उतना उपयोगी नहीं लगता है।
Rubén Marrero

अब यह हल हो गया है, आपके द्वारा सुझाए गए कमांड का आउटपुट होगा: myuser $: who -T vdevatman ? :0.0 2015-04-26 01:46 (:0.0) vdevatman + pts/1 2015-04-26 18:46 , लेकिन यह केवल उपयोगी है एक बार जब यह काम करता है, तो यह समाधान का हिस्सा नहीं है।
Rubén Marrero

1

टिप्पणियों के लिए धन्यवाद, # freenet नेटवर्क पर ## लिनक्स चैनल और man mesg मुझे जवाब मिला, जो है:

myuser $: w
 18:45:42 up 17:00,  2 users,  load average: 4.10, 3.84, 3.52
 USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
 myuser :0.0      01:46   ?xdm?  23:59   0.02s /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/bin/i3

myuser $: sudo login myuser
 Password: 
 Last login: Sun Apr 26 18:18:43 CEST 2015 on pts/6

myuser $: w
 18:46:31 up 17:00,  3 users,  load average: 4,11, 3,89, 3,56
 USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
 myuser :0.0      01:46   ?xdm?  24:13   0.02s /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/bin/i3
 myuser pts/1     18:46    7.00s  0.86s  0.00s w

myuser $: echo "Now it works! :). Thanks to John1024 from http://superuser.com and <arvut> from ##linux channel in freenode's network :)" | write myuser /dev/pts/1

  Message of myuser@tux the pts/1 at 18:50 ...
  Now it works! :). Thanks to John1024 from http://superuser.com and <arvut> from ##linux channel in freenode's network :)
  EOF 

यह मेरे साथ सिर्फ इसलिए हुआ क्योंकि मैं एक न्यूनतर चित्रमय सेटअप का उपयोग कर रहा हूं, यदि आप किसी भी सामान्य डेस्कटॉप वातावरण का उपयोग करते हैं तो ऐसा नहीं होगा।

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