1. 程式人生 > >使用VNC作為Qt-Embedded應用的輸出

使用VNC作為Qt-Embedded應用的輸出

VNC (Virtual Network Computing)是虛擬網路計算機的縮寫。用於遠端控制的一個開源工具。
我們這裡要討論的是將VNC作為一套顯示系統,也就是說將完整的視窗介面通過網路,傳輸到另一臺計算機的螢幕上。比如我們在嵌入式系統上開發的視窗程式,我們可以讓它在我們的Linux主機上顯示,被被滑鼠和鍵盤所控制。

要讓VNC工作,需要一個server端,和一個client端。server端提供要被顯示的內容,而client端通過網路接收server端的內容將其顯示出來。很明顯我們的嵌入式裝置上的Qt-Embedded應用輸出是server,而我們的Linux主機是client

client端的工具,我們可以選擇安裝vnc4viewer,在ubuntu裡安裝命令為
$ sudo apt-get install vnc4viewer
而執行命令是
$ xvncviewer localhost:0
不過先彆著急執行這個命令,如果你此時執行,你會得到”unable to connect to host: Connectionrefused (111)”這樣的錯誤,因為server還沒起來呢。

下面我們來看在嵌入式裝置上怎麼啟動我們的vnc server.很簡單,命令如下:
$ ./app -qws -display VNC:0
此處可能會出現錯誤”VNC: driver notfound”,這是因為你在編譯的時候沒有把gfxdriver的vnc支援加進去,重新編譯一下vnc的外掛就行了。到你的src/plugins/gfxdrivers/vnc目錄下,輸入命令qmake,make install就可以了。然後重新執行
$ ./app -qws -display VNC:0
vnc server也就執行起來了,後面的這個數字0是可變的,你喜歡寫哪個數字都可以,只不過在vncclient訪問的時候要和這個數字保持一致。此時再去你的host端執行xvncviewer就能看到你在嵌入式端的應用介面了。

總結:總共分兩步
1) 在嵌入式端執行 ./app -qws -display VNC:0
注意點:gfxdriver的vnc支援一定要有
2) 在Linux主機端執行 xvncviewer localhost:0
注意點:因為我這是在一臺機器上測試,如果通過網路localhost應該換成嵌入式裝置的IP. 後面的數字兩邊應該保持一致

1、瀏覽器編譯
./configure -qt-gfx-vnc -depths all
2、瀏覽器執行
-qws -display VNC:0
3、解析度設定
export QWS_SIZE=1280x720(720x576)

4、啟動vncserver導致framebuffer無效解決方法
export QWS_DISPLAY="VNC:LinuxFb"

相關推薦

使用VNC作為Qt-Embedded應用輸出

VNC (Virtual Network Computing)是虛擬網路計算機的縮寫。用於遠端控制的一個開源工具。 我們這裡要討論的是將VNC作為一套顯示系統,也就是說將完整的視窗介面通過網路,傳輸到另一臺計算機的螢幕上。比如我們在嵌入式系統上開發的視窗程式,我們可以讓它在

Qt/Embedded在嵌入式Linux系統中的應用(ARM)

Qt/Embedded在嵌入式Linux系統中的應用 摘要:分析和討論Qt/Embedded的主流版本3.x系列的底層實現技術;結合2.x版本系列和3.x版本系列,在兩種不同的硬體平臺(Intel PXA255開發系統與筆者自行設計的Motorola MC9328 MX1開發

Qt移動應用開發(四):應用粒子特效

ons -i 遊戲 direct mit class png pop 狀態 Qt移動應用開發(四):應用粒子特效 上一篇文章介紹了Qt Quick是如何對幀動畫進行支持的。幀動畫的實現離不開狀態機、而狀態機、動畫和狀態切換(transition

[Flume][Kafka]Flume 與 Kakfa結合例子(Kakfa 作為flume 的sink 輸出到 Kafka topic)

over ins log etc avro channels xmx rri pan Flume 與 Kakfa結合例子(Kakfa 作為flume 的sink 輸出到 Kafka topic) 進行準備工作: $sudo mkdir -p /flume/web_s

qt應用層主要是大型3d,vr,管理軟件和器械嵌入軟件(有上千個下一代軟件黑科技項目是qt的,美國宇航局,歐洲宇航局,超級戰艦DDG1000)

高級 研發 eclips 人在 但是 tel engine ack 運行 作者:Nebula.Trek鏈接:https://www.zhihu.com/question/24316868/answer/118944490來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權

Linux下使用xargs得到字符串作為參數進行輸出、awk得到字符串作為參數進行輸出

包含 cat pan 效果 target clas log 實例 pos 背景: cat test.txt 1 3 4 實例: 1、xargs cat test.txt | xargs -i echo {} cat test.txt |

SpringMVC中Pojo作為引數的應用

首先在頁面新增一個表單. <form action="springmvc/testPojo" method="post"> <input type="text" name="username" /> <br>

QT/Embedded 4.7.0移植新增MySQL外掛

獲取qt-everywhere-opensource-src-4.6.3.tar.gz並解壓,tar -xzvf qt-everywhere-opensource-src-4.6.3.tar.gz 進入src/plugins/sqldrivers/mysql 執行/opt/q

IDE相關(五)基於ubuntu 18.04 配置opencv 並在Qt應用(全過程)

轉自:https://blog.csdn.net/baidu_41931307/article/details/82047990 1 ubuntu系統安裝 Windows7下安裝Linux雙作業系統 如果U盤啟動時遇到(類似U盤啟動失敗的陳述),可在UltraISO中將寫入方式修改

QT | 設定應用程式名稱和主視窗標題

1、設定應用程式名稱 在工程檔案.pro檔案中,修改Target為想設定的名稱 TARGET = MXEditer 2、設定主視窗標題,在main檔案中,我的主視窗是MainWindow. int main(int argc, char *argv[]) { QAppli

Qt過載qdebug輸出自定義的資訊

struct FunctionInfo { QString function; QString name; QString groupEnabled; QString action; QString g

Qt外掛應用小結

1. 當一個外掛具有多個Interface的時候,使用QPluginLoader得到外掛的Object後,可以將Object分別轉為各個介面型別 例如:Qt Example basictools(外掛) 和 plugandpaint(使用外掛),qt的兩個例子 class BasicToolsP

Qt on Android 讓 Qt Widgets 和 Qt Quick 應用全屏顯示

                    Android 系統版本很多,較新的 4.4 ,較老的 2.3 ,都有人用。 Qt on Android 開發的 Android 應用,預設在 Android 裝置上是非全屏的。而有些應用的需求是全屏顯示,比如遊戲。那麼怎麼樣才能做到這點呢?    我們需要分 Andr

linux下的QT/Embedded的環境配置

在安裝QT/Embedded之前,首先需要建立QT/Embedded的實驗目錄。例如:手動建立/home/uptech/QT4/for_arm目錄; 後續所有相關操作都會在此目錄下進行。 編譯tslib1.4觸控式螢幕庫 為了使QT/Embedded環境支援觸控式螢幕輸入裝置,我們需要t

適用於樹莓派Raspberry Pi的嵌入式QT平臺(一) -- 交叉編譯安裝Qt Embedded 5.5

在樹莓派上設計桌面應用一般情況會依賴於X11環境,如果是Windows平臺,就目前而言,我們也可以選擇Windows 10 IoT環境進行開發。UWP目前也支援在樹莓派2上進行部署。至於常見的Linux X11或者Wayland環境,相比之下比較冗餘,但是QT Emebedded直接利用Framebuffer

適用於樹莓派Raspberry Pi的嵌入式QT平臺(二) -- 在Windows下用Qt Creator開發編譯Raspberry Qt 5應用程式

接著上篇 "",我們已經成功在Windows上交叉編譯了Raspberry Pi的嵌入式Qt 5.5。那麼我們就可以開始開發基於Qt 5的應用程式。接下來,我們需要在Windows上搭建必要的Qt開發工具,首當其衝就是官方的Qt Creator,不僅提供了原生的C++編輯器,Qt介面設計器,而且還可以整合現有

docker應用輸出中文日誌亂碼,解決過程

用docker部署了一個tomcat應用,並以tomcat使用者執行,日誌輸出遇到中文就顯示 ? dockerfile中已經明確指定了語言的環境變數ENV LC_ALL zh_CN.utf8 進入容

在Redhat9文本系統上安裝Qt Embedded 4.4.0

Qt Embedded 直接依賴Framebuffer,無需X-Window。所以要開啟Linux系統的Framebuffer。開啟方法是通過BootLoader向核心傳遞引數: 對於grub,在grub.conf檔案的kernel 命令後面新增 vga=0x311 fb

Qt/Embedded除錯版本問題

安裝好Qt/E之後,需要修改配置檔案,才能在Qt Creator下,用嵌入式版本的qt進行編譯。以下都是在Linux環境下完成。 1,在Qt Creator中開啟一個專案,進入專案->構建設定->概要->Qt版本,後面有個 “管理”,點選進入管理頁面。 2

Qt移動應用開發(三):使用精靈圖片實現幀動畫

       上一篇博文講到了Qt Quick對於動畫的一般支援,動畫的形式多樣,配合不同的插值函式,可以幾乎實現所有想要的動畫效果,而對於遊戲的一些特殊的效果比如說幀動畫,Qt更是有專門的類來實現。下面我們就來看看Qt Quick中究竟是對幀動畫是如何實現的吧。 原