การส่งข้อความจากผู้ใช้ปลายทางหนึ่งไปยังผู้ใช้อื่น


10

ฉันมีผู้ใช้ชื่อ x ใน tty1 และ y ใน tty2 ตอนนี้ x ต้องการเขียนข้อความถึง y และในทางกลับกัน ตอนนี้ฉันพิมพ์เทอร์มินัล tty1 write y tty2 มันกำลังแสดงอยู่

เขียน: เขียน: คุณได้รับอนุญาตเขียนปิด

เขียน: y ปิดการใช้งานข้อความ

สิ่งเดียวกันปรากฏขึ้นเมื่อ y กำลังส่งข้อความถึง x แทนที่จะเป็น 'x' ในบรรทัดสุดท้าย ฉันควรทำอย่างไรดี?

คำตอบ:


15

ดูเหมือนว่าyจะปิดข้อความ

ในyเทอร์มินัลของให้พิมพ์:

$ mesg
is n

ความหมายyไม่อนุญาตให้ผู้อื่นเขียนถึงyเทอร์มินัลของ จากนั้นคุณควรลอง:

$ mesg y

บันทึก

ตัวเลือกyในคำสั่งด้านบนนี้แตกต่างกับyผู้ใช้ในกรณีของคุณ

จากman mesg:

NAME
       mesg - control write access to your terminal

SYNOPSIS
       mesg [y|n]

DESCRIPTION
       Mesg  controls the access to your terminal by others.  It's typically used to allow or disallow other users to write to your terminal
       (see write(1)).

OPTIONS
       y      Allow write access to your terminal.

       n      Disallow write access to your terminal.

       If no option is given, mesg prints out the current access state of your terminal.

มันแสดงให้เห็นการใช้งาน: mesg [y | n] และพรอมต์กำลังจะมาถึง
saptarshi nag

1
@saptarshinag: mesg y <enter>คุณต้องพิมพ์ yเป็นตัวเลือกmesgไม่ใช่ผู้ใช้ของคุณ
cuonglm

โอ้ฉันเห็นแล้วขอโทษสำหรับความผิดพลาดของฉัน
saptarshi nag

มันได้ผล! แต่หลังจากออกจากระบบและเข้าสู่ระบบอีกครั้งในหนึ่งเทอร์มินัลข้อความแรกยังคงปรากฏเช่นการเขียน: เขียน: คุณได้รับอนุญาตเขียนปิด ... มันใช้งานได้ แต่ขอบคุณ!
saptarshi nag

@saptarshinag: เป็นระบบของคุณข้อความจะไม่เปิดตามค่าเริ่มต้น ระบบปฏิบัติการของคุณคืออะไร?
cuonglm

1

ถ้า X คือ usr ที่ต้องการแสดงข้อความบนเครื่อง y Fisrt นำเทอร์มินัล id ของเครื่อง y และทั้งคู่ควรอยู่ในโฮสต์เดียวกัน คุณสามารถส่งข้อความเหมือนด้านล่าง

  1. พิมพ์whoคำสั่งและดูเทอร์มินัล id ของเครื่อง y (ตัวอย่างเช่นpty/1ID เทอร์มินัลของ y)
  2. echo "Hello" 1> pty/1(สิ่งนี้จะแสดงข้อความบนเครื่อง y

0

คุณไม่สามารถทำอะไรได้เลย (เว้นแต่คุณจะเป็นผู้ใช้รูท)

ผู้ใช้แต่ละคนสามารถเปิด / ปิดการใช้งานความสามารถของผู้ใช้รายอื่นเพื่อส่งข้อความถึงพวกเขาโดยใช้คำสั่ง mesg คำสั่งนี้สามารถใส่ลงในไฟล์. bashrc หรือ .login (ขึ้นอยู่กับเชลล์)

ค่าเริ่มต้นหากคุณไม่ทำอะไรเลยคือปกป้องผู้ใช้จากข้อความที่ขัดจังหวะจากผู้ใช้รายอื่น


-1
> $ who
bouba    :0           2015-07-30 07:10 (:0)
jdone    pts/1        2015-07-30 20:07
bouba    pts/12       2015-07-30 20:39 (:0)
> $ mesg y
> $ write jdone

jdone เป็นชื่อผู้ใช้ของคุณและที่นี่พิมพ์ข้อความของคุณและกด Entre To send

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.