我現在有一台電腦,上面灌Ubuntu18.04LTS桌面版,
我想把它當server,給實驗室的人遠端去使用,
功能是這樣的:每個人都有自己的帳號,然後遠端登入自己帳號,並只會看到自己的桌面,不會看到別人在做甚麼,也就是說同時使用的情況下,每個帳號有各自的畫面,而不是像teamviewer一樣,大家都看到同一個畫面。
但我怎麼找都是找到登進去都在同一個畫面的方法如vnc+xrdp,有沒有人能提供甚麼想法?
你找錯方向了....
VNC/XRDP 這些工具只是共享你的 Console 畫面, 他們不提供多帳戶多人登入的功能. Linux 裡, 要做到多帳號登入, 相對應的標準工具協定叫做 X-Window:
Google: ubuntu xwindow
除了 Ubunut Server 上面要啟動 X-Window 之外, 你的用戶端也需要安裝 X-Window Server 工具, 有很多種不同的選擇:
Google: win10 x window
順便提一下, X-Window 的名詞剛好跟我們認知的相反:
他在 Ubuntu Server 上執行的是 X-Window Client 軟體
在用戶端電腦上, 執行的是 X-Window Server 軟體
目前的情況:若我單只有開xrdp沒有搭配vnc,已經可以做到在不同電腦用windows的內建軟體「遠端桌面連線」連到server且有各自畫面(不同帳號),可以各做各的事情。
請問這樣不算多帳號多人登入功能嗎?
XRDP 這樣做也是可以...他的缺點應該是只能使用單螢幕, 如果你有多螢幕會無法切換....X-Window 可以適用所有螢幕....
登入後可以用 whoami 或 id 指令, 確認一下是否真的用個別帳號登入的? 也用 pwd 確認一下資料夾是否在自己所屬的資料夾? 如果都對的話, 那就沒問題了...
沒錯,都確認過是個別帳號的了。
另外請問遠端登入的用who為何會看不到,例如在別台電腦上登入test這個帳號,但用who並沒有出現test有登入,但實際上是有的?
那是 xrdp 的一個 bug, 2017 年 9/9 就有人提出來, 因為程式忘了將登入資訊記錄到 utmp 去, 導致使用 utmp 查詢的 who 指令, 無法得知目前有誰登入:
Who is logged in? #870
作者在很久以前曾經修正過這個問題, 但當時只是在他的測試主機上試過, 沒有將程式碼合併回來, 導致發布的版本中, 沒有這段程式.
不幸的是, 此 issue 直到 2019/9/10 都還是掛在 Open 狀態, 雖然有人提供修正的程式碼了, 但是還沒有被 Merge 到 master 去, 所以除非你自己改 Source code, 否則採用現成套件安裝的話, 都仍保有這個 Bug...
有人另外提供一個指令來取代 who 查詢登入者:
ps h -o ouid -C xrdp-sesman | xargs getent passwd | cut -d: -f1
或者, 你也可以用他另外寫的這段程式碼:
evanlinde/xrdp-who
這是這隻程式實際顯示的結果:
可以跟您要.sh裡面的程式碼嗎? 我打完上面的指令沒有這麼豐富的輸出,只有使用者名稱而已
我沒有程式, 只是截作者 (evanlinde) 的圖而已, 還是要跟作者要...應該就是上面 Github 裡面的 xrdp-who-xorg.sh 這隻程式:
https://github.com/evanlinde/xrdp-who/blob/master/xrdp-who-xorg.sh
了解,感謝您!