日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

x11转发:通过ssh远程使用GUI程序

發(fā)布時(shí)間:2025/3/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 x11转发:通过ssh远程使用GUI程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

x11轉(zhuǎn)發(fā):通過(guò)ssh遠(yuǎn)程使用GUI程序

我們常常使用ssh服務(wù)遠(yuǎn)程操控服務(wù)器,大多數(shù)操作我們都可以通過(guò)命令行命令來(lái)實(shí)現(xiàn)。

ssh遠(yuǎn)程無(wú)法查看GUI程序

現(xiàn)在,筆者在x11-test目錄下放入一張圖片test.jpg,并通過(guò)opnencv-python寫(xiě)一個(gè)簡(jiǎn)單的腳本來(lái)在圖形界面中顯示圖片。

# test.pyimport cv2img = cv2.imread('test.jpg') cv2.imshow('test', img) cv2.waitKey(0)

通常,我們?cè)谧约罕镜氐臋C(jī)器上運(yùn)行該腳本時(shí)會(huì)正常顯示一個(gè)窗口,其中是我們的test.jpg圖片。而在遠(yuǎn)程ssh操作服務(wù)器時(shí),我們只能在命令行中執(zhí)行腳本,并得到報(bào)錯(cuò):

(JJ_env) song@dhu424:~/JJ_Projects/dsmAVA/x11-test$ python test.py qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/song/anaconda3/envs/JJ_env/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plugins are: xcb, eglfs, minimal, minimalegl, offscreen, vnc.Aborted (core dumped)

根據(jù)報(bào)錯(cuò)信息,可以看到,我們的程序腳本時(shí)沒(méi)有問(wèn)題的,只是由于我們時(shí)遠(yuǎn)程ssh命令行連接,無(wú)法顯示圖片。

x11轉(zhuǎn)發(fā)

這時(shí)我們就需要通過(guò)x11轉(zhuǎn)發(fā)來(lái)實(shí)現(xiàn)遠(yuǎn)程查看圖形界面。我們分別介紹服務(wù)器端和客戶端的設(shè)置,其中服務(wù)器端默認(rèn)為L(zhǎng)inux,而客戶端則又分為Mac和Linux兩種情況。

服務(wù)器端設(shè)置

  • 修改服務(wù)器端的ssh設(shè)置:

    sudo vim /etc/ssh/sshd_config

    找到以下內(nèi)容,取消注釋,如果找不到的話直接在下面加上這幾行即可:

    X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
  • 服務(wù)器端修改完成后需要執(zhí)行命令重啟sshd服務(wù) :

    sudo systemctl restart sshd.service
  • Mac客戶端

  • 在Mac上使用x11轉(zhuǎn)發(fā)需要下載Xquartz,直接去官網(wǎng)下載dmg文件安裝即可。

  • 安裝好之后可以直接打開(kāi)終端,連接遠(yuǎn)程服務(wù)器。

    注意:與普通的ssh連接不同,要使用x11轉(zhuǎn)發(fā)服務(wù),需要在連接時(shí)加上-X參數(shù),即:

    ssh -X song@10.199.160.252

    然后我們進(jìn)入x11-test目錄運(yùn)行test.py文件,即可看到x11轉(zhuǎn)發(fā)到本地的圖形界面窗口:

  • 可以看到,我們要展示的test.jpg圖片成功轉(zhuǎn)發(fā)到了我們的本地窗口。

    Linux客戶端

  • 修改客戶端的ssh設(shè)置:

    sudo vim /etc/ssh/ssh_config

    添加以下三行:

    ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes
  • 重啟客戶端的ssh服務(wù)

    sudo systemctl restart ssh.service
  • 添加-X參數(shù)連接服務(wù)器

    ssh -X song@10.199.160.252

    后面就與Mac端進(jìn)行類似的測(cè)試即可。

  • Ref:

    https://www.cnblogs.com/tsfh/p/9022170.html

    總結(jié)

    以上是生活随笔為你收集整理的x11转发:通过ssh远程使用GUI程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。