Gnu-Screen

附加到螢幕時 -r 和 -x 有什麼區別?

  • April 4, 2021

我今天發現我和我的朋友都使用不同的方式連接到螢幕。我一直使用表格-x,他使用-r. 我閱讀了手冊頁,但無法提出產生不同結果的測試案例。

-r我在同一個帳戶上打開了兩個控制台,並使用和成功連接到它-x

這些命令有什麼區別?

如果我嘗試附加到我已經附加到的同一個螢幕,我只能發現錯誤消息是不同的:

$ screen -r 1486
There is no screen to be resumed matching 1486.

$ screen -x 1486
Attaching from inside of screen?

https://www.gnu.org/software/screen/manual/screen.html#Invoking-Screen

-x附加到會話,即使您已經附加到它。

-r如果目前沒有附加客戶端,則僅附加到會話。

如果你想測試它(你所做的測試聽起來就像你試圖從螢幕會話內部附加到螢幕會話,你絕對不應該這樣做),你需要兩個單獨的終端會話。首先,執行 screen 以啟動螢幕會話並附加到它。在第二個,做screen -r

screen -r
There is a screen on:
   562503.pts-2.E595   (Attached)
There is no screen to be resumed.

現在做screen -x,您將附加到會話。如果將兩個終端並排放置,您還會注意到您在其中一個終端上所做的事情在另一個終端上也可見。

簡而言之:-r為了附加一個分離的會話,-x附加到一個附加的會話而不分離另一個會話。

引用自:https://unix.stackexchange.com/questions/643414