一、什麼是exportdisplay
exportdisplay是一個用於多屏幕環境下的圖形化應用程序運行的工具。在多屏幕環境下,我們可以使用多個物理屏幕,但是如果想要在遠程計算機上運行一個圖形化應用程序,並在本地顯示其圖形界面,就需要使用exportdisplay。
二、exportdisplay的缺省參數
export DISPLAY=:0.0
在不設置任何參數的情況下,exportdisplay默認導出本地屏幕(即:0.0)。
在命令行中運行export DISPLAY=:0.0,然後再執行圖形化應用程序,即可將應用程序的窗口顯示在本地屏幕上。
三、exportdisplay的基本使用方法
以下介紹exportdisplay的三種基本使用方法。
1. 將圖形界面導出到另一台計算機的物理屏幕上
$ export DISPLAY=remoteip:0.0
其中remoteip是該計算機的ip地址,0.0表示導出到物理屏幕0上。然後在本地計算機上運行圖形化應用程序,圖形界面會顯示在遠程計算機的屏幕上。
2. 將圖形界面導出到另一台計算機上的X窗口
$ export DISPLAY=remoteip:1.0
其中1.0表示導出到遠程計算機上的第二個X窗口上。同樣,運行圖形化應用程序,圖形界面會顯示在遠程計算機的X窗口上。
3. 將圖形界面導出到本地計算機上的X窗口
$ export DISPLAY=:1.0
其中1.0表示導出到本地計算機上的第二個X窗口上。在本地計算機上運行圖形化應用程序,圖形界面會顯示在本地計算機的X窗口上。
四、exportdisplay的具體應用
以下介紹exportdisplay在實際應用中的幾個具體用途。
1. 遠程計算機上運行圖形化編輯器
假設我們需要在遠程計算機上運行圖形化編輯器gedit,並在本地顯示編輯器的圖形界面。則可以使用以下命令:
$ ssh -X user@remoteip
$ gedit
其中ssh -X user@remoteip表示使用ssh協議連接到遠程計算機,並啟用X11轉發。在遠程計算機上運行gedit,並將圖形界面導出到本地計算機上。
2. 在Docker容器中運行圖形化應用程序
如果我們在Docker容器中運行圖形化應用程序,並希望將圖形界面導出到宿主機上。則可以使用以下命令:
$ docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix image_name
其中-e DISPLAY=$DISPLAY表示將宿主機上的display信息傳遞給容器,-v /tmp/.X11-unix:/tmp/.X11-unix表示將宿主機上的X11 socket文件映射到容器內部,image_name為容器鏡像名稱。
3. 在多用戶系統中使用exportdisplay
如果多個用戶同時使用同一台計算機,每個用戶都希望能夠使用圖形化應用程序。則可以使用以下方法來配置exportdisplay:
$ xhost +
該命令會允許所有用戶訪問X11服務器。但是這種方式存在安全風險,因為任何人都可以訪問X11服務器。
因此更安全的做法是,允許特定用戶訪問X11服務器。例如,我們希望user1和user2可以訪問X11服務器:
$ xhost +SI:localuser:user1
$ xhost +SI:localuser:user2
這樣只有user1和user2能夠訪問X11服務器,其他用戶無法訪問。
五、總結
exportdisplay是在多屏幕環境下運行圖形化應用程序的必備工具。通過合理的使用exportdisplay,可以方便地在不同計算機或容器之間傳遞圖形界面,並在多用戶系統中為不同用戶提供圖形化應用程序的使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271620.html