背景
在Ubuntu編譯Android系統源碼,編譯完成之后使用
source build/envsetup.sh
lunch 6
emulator
出現報錯
QXcbConnection: Could not connect to display
Aborted (core dumped)
在Windows 中,很多人選擇安裝Xmanager+Xshell
,然后遠程連接Linux,就能直接調用軟件的GUI界面了,但是在Mac終端上 ssh 連接訪問 Linux 服務器端的圖形界面。
使用Mac ssh連接Linux服務器,想要在Mac電腦顯示服務器端圖形界面應用,需要Mac端的具備Xserver服務。
原理
實現遠程圖形訪問,必須借助X11協議轉發圖片,X11將Xclient端的圖像發送回Xserver端。 Xserver端為Mac端,Xclient 為Linux 服務器端。
Linux 端
編輯 /etc/ssh/sshd_config 配置文件
配置轉發參數為yes
X11Forwarding yes
X11DisplayOffset 10
重啟ssh 服務
service ssh restart
Mac端
安裝XQuartz
XQuartz下載地址:https://www.xquartz.org
- 安裝XQuartz
- 打開XQuartz
- 打開 Mac terminal
- ssh -X {用戶名}@{遠程端ip}
例如: ssh -X root@192.168.10.10
輸入密碼,連接成功之后驗證。
驗證
執行命令會出現時鐘界面,則說明配置成功,然后在執行編譯指令之后,使用emulator -partition-size 6144驗證,則可以看到Android虛擬機。
xclock
效果
報錯
Could not connect to display localhost:13.0 Aborted (core dumped)
斷開一下重新連接
參看文檔:
https://www.cyberciti.biz/faq/apple-osx-mountain-lion-mavericks-install-xquartz-server/