與遠程調(diào)試環(huán)境配置指南)
1. 安裝 OpenSSH 服務(wù)器首先確保系統(tǒng)已更新然后安裝 OpenSSH 服務(wù)器。# 切換到 root 用戶或使用 sudosudosu-# 更新軟件包列表aptupdate# 安裝 openssh-serveraptinstallopenssh-server-y2. 啟動服務(wù)并設(shè)置開機自啟安裝完成后啟動 SSH 服務(wù)并設(shè)置為開機自動啟動。# 啟動 SSH 服務(wù)并設(shè)置開機自啟systemctlenable--nowssh3. 驗證 SSH 服務(wù)狀態(tài)通過以下命令檢查 SSH 服務(wù)是否正常運行。# 檢查 SSH 服務(wù)狀態(tài)systemctl statusssh# 檢查 22 端口是否在監(jiān)聽ss-tulpn|grep:224. 本地連接測試在本地嘗試 SSH 連接驗證服務(wù)是否可訪問。# 使用當前用戶連接本地 SSH 服務(wù)sshhomelocalhost5. 額外配置與檢查為了避免后續(xù)連接問題建議進行以下配置。5.1 防火墻放行 SSH 端口如果系統(tǒng)啟用了防火墻如ufw需要放行 SSH 端口。# 允許 SSH 端口默認 22ufw allowssh# 重新加載防火墻規(guī)則ufw reload5.2 確認允許密碼登錄默認情況下Ubuntu 22.04 的 SSH 配置可能禁止密碼登錄。請檢查并修改配置文件。# 編輯 SSH 服務(wù)配置文件nano/etc/ssh/sshd_config找到PasswordAuthentication一行確保其設(shè)置為yesPasswordAuthenticationyes保存文件后重啟 SSH 服務(wù)使配置生效。systemctl restartssh6. 遠程部署路徑配置.pro 文件在 Qt 項目的.pro文件中可以指定遠程部署路徑方便通過 Qt Creator 進行遠程部署。# 指定遠程目標路徑 target.path /home/pc/myApp INSTALLS target7. 遠程運行環(huán)境變量設(shè)置在遠程主機上運行 Qt 應(yīng)用程序時可能需要設(shè)置以下環(huán)境變量。# 設(shè)置顯示和權(quán)限exportDISPLAY:0exportXAUTHORITY/home/pc/.Xauthority# 設(shè)置庫路徑包含自定義庫和系統(tǒng)庫exportLD_LIBRARY_PATH/home/pc/myApp/lib:/home/pc/myApp/lib/Galaxy:/home/pc/myApp/lib/OpenCV:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH# 設(shè)置 Qt 插件路徑exportQT_QPA_PLATFORM_PLUGIN_PATH/home/pc/myApp/plugins/platforms# 另一種動態(tài)庫路徑設(shè)置方式使用當前目錄exportLD_LIBRARY_PATH$PWD/lib:$PWD/lib/Galaxy:$PWD/lib/OpenCV:/usr/lib/x86_64-linux-gnu8. 安裝 xcb 依賴解決 Qt 圖形界面問題如果遠程應(yīng)用程序使用 Qt 且基于 xcb 平臺需要安裝相關(guān)依賴。sudoaptupdatesudoaptinstall--reinstall-ylibxcb-cursor0 libxcb-util-dev libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-randr0 libxcb-shm0 libxcb-icccm4 libxcb-render0 libxcb-xkb1 libxkbcommon-x11-0sudoldconfig9. 編寫啟動腳本創(chuàng)建一個啟動腳本例如start.sh統(tǒng)一設(shè)置環(huán)境并啟動應(yīng)用程序。#!/bin/bashcd$(dirname$0)# 強制指定庫路徑包含本地庫和系統(tǒng)庫exportLD_LIBRARY_PATH$PWD/lib:/usr/lib/x86_64-linux-gnu# 強制指定 Qt 插件路徑exportQT_QPA_PLATFORM_PLUGIN_PATH$PWD/plugins/platforms# 強制使用 xcb 平臺避免 wayland 干擾exportQT_QPA_PLATFORMxcb# 開啟 Qt 插件調(diào)試方便定位問題exportQT_DEBUG_PLUGINS1# 啟動應(yīng)用程序./HA5001HM賦予腳本執(zhí)行權(quán)限chmodx start.sh10. 安裝遠程調(diào)試工具為了支持遠程調(diào)試例如使用 GDB需要在遠程主機上安裝gdbserver在本地開發(fā)機安裝gdb。# 在遠程主機Ubuntu 22.04上安裝 gdbserversudoaptupdatesudoaptinstallgdbserver gdb-y安裝后即可在遠程主機啟動gdbserver在本地通過gdb連接進行遠程調(diào)試??偨Y(jié)本文詳細介紹了在 Ubuntu 22.04 上安裝和配置 SSH 服務(wù)以及為遠程 Qt 應(yīng)用程序部署和調(diào)試準備環(huán)境的完整步驟。涵蓋了服務(wù)安裝、防火墻配置、環(huán)境變量設(shè)置、依賴安裝和啟動腳本編寫幫助開發(fā)者快速搭建穩(wěn)定的遠程開發(fā)和調(diào)試環(huán)境。