簡體   English   中英

linux消息其他用戶終端:更改文本顏色?

[英]linux message other users' terminal: change text color?

當用戶使用linux / unix中的write user [ttyname]命令發送終端文本時,是否有辦法trap或捕獲自動寫入終端的文本並更改其顏色,以便使其更明顯?

man write

Write allows you to communicate with other users, by copying lines from your terminal to theirs.

我添加了一個別名,所以當我使用write我的文字會更改顏色,即:

alias write='echo -e "\\033[1;31m\\c" ; write '

但這只是更改了終端上的所有文本。

本質上,我想要一種簡單的方法來讀取從另一個用戶發送到我的終端的文本。 有什么建議?

我試過使用1-60的所有信號設置trap ,但似乎什么也看不到?

僅當將文本寫入到shell的input中時 ,您才能捕獲該文本。 終端的方向不同(外殼的輸出 )。 還有其他一些程序旨在使文本更加可見並記錄會話(查找irc客戶端)。

在兩者之間沒有一些(相對)智能服務器的情況下,您通常從write (或talk )中獲得的只是底層驅動程序,它們可以由終端驅動程序處理而無需協調消息的外觀。 可以使用/proc文件系統將消息直接寫到用戶的偽終端專用設備(並知道process-id)。

在Linux上,給定進程可以使用/dev/stdin等進行引用,這是指向/proc文件系統的符號鏈接,例如,

lrwxrwxrwx   1 root           15 Fri 04:19:34   stderr -> /proc/self/fd/2
lrwxrwxrwx   1 root           15 Fri 04:19:34   stdin -> /proc/self/fd/0
lrwxrwxrwx   1 root           15 Fri 04:19:34   stdout -> /proc/self/fd/1

如果您知道其他用戶終端的進程ID 具有權限,則也可以對其進行操作。 (如果是其他用戶,則您可能沒有權限-這就是那些可以被授予權限的其他程序的目的)。

進一步閱讀:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM