« 2008/09, Vol. 152 PChome Magazine | 首頁 | MailScanner 郵件備份方案 »

2008年09月11日

Write A Message To Login Users Through Terminal

使用 wall 傳遞訊息給所有線上使用者

wall (Ctrl + D 送出; Ctrl + C 取消)

wall < file.txt

使用 write 傳遞訊息

write someone [tty1]
write someone [pts/0]  (Ctrl + D 或 Ctrl + C 結束)

write someone [tty2] < file.txt
write someone [pts/1] < file.txt

直接將訊息丟向 tty device

echo message > /dev/tty1
echo message > /dev/pts/0

cat file.txt > /dev/tty2
cat file.txt > /dev/pts/1

ps. 執行身份須為 root, 或目標 tty device 係與自己相同的登入帳號

使用 talk 交談

前置作業 - 啟動 talk daemon

yum -y install talk-server

vi /etc/xinetd.d/ntalk

disable = no

/etc/init.d/xinetd restart

建立對談連線

talk someone [tty1]
talk someone [pts/0]

對方將收到以下訊息:

Message from Talk_Daemon@your.host.name at xx:xx ...
talk: connection requested by xxx@your.host.name.
talk: respond with: talk xxx@your.host.name

此時對方只要執行 talk xxx (xxx 是呼叫者的帳號) 就能建立對話連線

對談畫面操作

Ctrl + C 結束對談
Ctrl + L 重繪畫面
Ctrl + H backspace
Ctrl + W 清除一個字
Ctrl + U 清除列
Esc - p 往上捲動
Esc - n 往下捲動

相關指令

w / who - 查詢線上使用者

tty - 查詢自己的 tty device name

mesg [ y | n ] - 是否接受其他 user 傳來的訊息


附錄 - 在 putty 視窗輸入中文、傳遞中文訊息

  1. 執行 putty.exe, 於 Host Name (or IP Address) 欄位輸入 ssh 連線目的 IP 或 host name
  2. 點選畫面左邊的 Window → Translation, 於 Received data assumed to be in which character set: 輸入 UTF-8 (或於下拉選單中選擇 UTF-8)
  3. 按 Open 執行 ssh 連線, 設定環境為 LANG=zh_TW.UTF-8 或 LANG=en_US.UTF-8

ps. write 指令無法傳遞中文訊息

Posted by Jamyy at 2008年09月11日 11:32