Author: Kang Lin kl222@126.com
Translator: Allan Nordhøy epost@anotheragency.no
Ubuntu
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Debian
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Version: v12.0.2
It is recommended to use version v5.0.2 or later.
Prior versions don't have CMake support.
Install the development tools package
~$ sudo apt install build-essential
GCC/g++
~$ sudo apt install g++ gcc
automake、autoconf、make、fakeroot
~$ sudo apt install automake autoconf make fakeroot
~$ sudo apt install git
CMake: https://cmake.org
Version: 3.27.0
~$ sudo apt install cmake
Package tools: debhelper
~$ sudo apt install debhelper
Qt
Qt (official release): https://download.qt.io/official_releases/qt/
Qt5: Current version: 5.12.12
System build-in:
~$ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qtmultimedia5-dev qtlocation5-dev libqt5svg5-dev libqtermwidget5-0-dev
Qt6: Current version: 6.4.2
System build-in:
~$ sudo apt install qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev qt6-webengine-dev qt6-webengine-dev-tools
[OPTIONAL] IDE: Qt Creator. It is recommended to use version v5.0.2 or later.
Prior versions don't have CMake support.
~$ sudo apt install qtcreator
Doxygen: http://www.doxygen.nl/
~$ sudo apt install doxygen
This library is placed in the same directory level as the project by default. If not, you must specify the CMake parameters: -DRabbitCommon_DIR=[RabbitCommon installation path]
~$ git clone https://github.com/KangLin/RabbitCommon.git
Use the system-packaged development library
~$ sudo apt install freerdp2-dev
Use vcpkg
Source-code location: https://github.com/microsoft/vcpkg/
~$ git clone https://github.com/microsoft/vcpkg.git
~$ cd vcpkg
~/vcpkg$ ./bootstrap-vcpkg.sh
~/vcpkg$ vcpkg install freerdp
Specify the CMake parameters: -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake
With vcpk, the FreeRDP service is not a default feature, so you need to specify it manually.
Compile from source code
Source-code location: https://github.com/FreeRDP/FreeRDP
Compilation instructions: https://github.com/FreeRDP/FreeRDP/wiki/Compilation
~$ git clone https://github.com/FreeRDP/FreeRDP.git
~$ cd FreeRDP
~/FreeRDP$ mkdir build
~/FreeRDP/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DWITH_SERVER=ON
~/FreeRDP/build$ cmake --build . --config Release --target install
Specify the CMake parameters:
Use the system-packaged development library
~$ sudo apt install libvncserver-dev
Compile from source code
Compile from source code Source-code location: https://github.com/KangLin/RabbitVNC
~$ sudo apt install libpixman-1-dev
~$ git clone https://github.com/KangLin/RabbitVNC.git
~$ cd RabbitVNC
~/RabbitVNC$ mkdir build
~/RabbitVNC$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install
~/RabbitVNC$ cmake --build . --config Release --target install
Specify the CMake parameters: -DRabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/tigervnc
The official program does not support libraries.
See: https://github.com/TigerVNC/tigervnc/issues/1123
The KangLin fork has support.
Source-code location: https://github.com/KangLin/tigervnc
~$ sudo apt install libpixman-1-dev
~$ git clone https://github.com/KangLin/tigervnc.git
~$ cd tigervnc
~/tigervnc$ mkdir build
~/tigervnc$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install
~/tigervnc$ cmake --build . --config Release --target install
Use vcpkg
Source-code location: https://github.com/microsoft/vcpkg/
~$ git clone https://github.com/microsoft/vcpkg.git
~$ cd vcpkg
~/vcpkg$ vcpkg install libdatachannel
Specify the CMake parameters: -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake
Compile from source code
Source-code location: https://github.com/paullouisageneau/libdatachannel
Compilation: https://github.com/paullouisageneau/libdatachannel/blob/master/BUILDING.md
~$ git clone https://github.com/paullouisageneau/libdatachannel.git
~$ cd libdatachannel
~/libdatachannel$ git submodule update --init --recursive
~/libdatachannel$ mkdir build
~/libdatachannel$ cd build
~/libdatachannel/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install
~/libdatachannel/build$ cmake --build . --config Release --target install
Specify the CMake parameters: -DLibDataChannel_DIR=[libdatachannel installation path]/lib/cmake/LibDataChannel
Source-code location: https://github.com/qxmpp-project/qxmpp
~$ git clone https://github.com/qxmpp-project/qxmpp.git
~$ cd qxmpp
~/qxmpp$ mkdir build
~/qxmpp$ cd build
~/qxmpp/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DQt5_DIR=[Qt install path]/lib/cmake/Qt5
~/qxmpp/build$ cmake --build . --config Release --target install
Specify the CMake parameters: -DQXmpp_DIR=[libdatachannel installation path]/lib/cmake/qxmpp
Use the system-packaged development library
~$ sudo apt install libqtermwidget5-0-dev
Compile from source code
Use the system-packaged development library
~$ sudo apt install libssh-dev
Use vcpkg
Source-code location: https://github.com/microsoft/vcpkg/
~$ git clone https://github.com/microsoft/vcpkg.git
~$ cd vcpkg
~/vcpkg$ vcpkg install libssh
Specify the CMake parameters: -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake
Compile from source code
Source-code location: https://github.com/KangLin/qt-solutions/
~$ git clone https://github.com/KangLin/qt-solutions.git
~$ cd qt-solutions
~/qt-solutions$ mkdir build
~/qt-solutions$ cd build
~/qt-solutions/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install
~/qt-solutions/build$ cmake --build . --config Release --target install
Specify the CMake parameters: -DQtService_DIR=[QtService installation path]/lib/cmake/QtService
Project location: https://github.com/KangLin/RabbitRemoteControl
Download the source code:
~$ git clone https://github.com/KangLin/RabbitRemoteControl.git
The CMake parameters:
If using vcpkg, please set the CMake parameters:
Compilation
Compile from the command-line
Not using vcpkg
~$ cd RabbitRemoteControl
~/RabbitRemoteControl$ mkdir build
~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install
~/RabbitRemoteControl/build$ cmake --build . --config Release --target install
If using vcpkg
~$ cd RabbitRemoteControl
~/RabbitRemoteControl$ mkdir build
~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [options libraries] -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake
~/RabbitRemoteControl/build$ cmake --build . --config Release --target install
Using an IDE (Qt Creator)
Use script build_debpackage.sh
Set Compile this project → The CMake parameters as environment variable. eg:
export RabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/RabbitVNC
export tigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc
Use build_debpackage.sh
./build_debpackage.sh $QT_ROOT $RabbitCommon_DIR
Run
The application is installed in install/bin
~$ cd RabbitRemoteControl
~/RabbitRemoteControl$ cd build/install/bin
~/RabbitRemoteControl$ ./RabbitRemoteControl.sh
Note: If the plugin does not load. It may be that the plugin's dependencies are not installed on the system. You can add the path of the dependent library to the environment variable PKG_CONFIG_PATH. You can also add the path of the dependent library to the /etc/ld.so.conf file, and then run ldconfig to add the dependent library to the system.
Ubuntu
#Install the development tools package
~$ sudo apt install build-essential
# Install tools
~$ sudo apt install git cmake debhelper doxygen
# Install Qt5
~$ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev \
qtbase5-dev-tools qtmultimedia5-dev qtlocation5-dev libqt5svg5-dev \
libqtermwidget5-0-dev
# Install dependency libraries
~$ sudo apt install freerdp2-dev libvncserver-dev libssh-dev libtelnet-dev
# Install X development libraries
~$ sudo apt install libxkbcommon-dev libxkbcommon-x11-dev libx11-xcb-dev \
libx11-dev libxfixes-dev
~$ sudo apt install libutf8proc-dev libpam0g-dev # Need by compile qtermwidget
# Install libpixman, RabbitVNC and TigerVNC need it.
~$ sudo apt install libpixman-1-dev
# Compile RabbitVNC
~$ git clone https://github.com/KangLin/RabbitVNC.git
~$ cd RabbitVNC
~$ mkdir build
~/RabbitVNC/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install
~/RabbitVNC/build$ cmake --build . --config Release --target install
~/RabbitVNC/build$ cd ~
# Compile TigerVNC
~$ git clone https://github.com/KangLin/tigervnc.git
~$ cd tigervnc
~$ mkdir build
~/tigervnc/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install
~/tigervnc/build$ cmake --build . --config Release --target install
~/tigervnc/build$ cd ~
~$ sudo apt install libqxmpp-dev
# Compile libdatachannel
~$ git clone https://github.com/paullouisageneau/libdatachannel.git
~$ cd libdatachannel
~/libdatachannel$ git submodule update --init --recursive
~/libdatachannel$ mkdir build
~/libdatachannel$ cd build
~/libdatachannel/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install
~/libdatachannel/build$ cmake --build . --config Release --target install
~/libdatachannel/build$ cd ~
# Compile QtService
~$ git clone https://github.com/KangLin/qt-solutions.git
~$ cd qt-solutions/qtservice
~/qt-solutions/qtservice$ mkdir build
~/qt-solutions/qtservice$ cd build
~/qt-solutions/qtservice/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install
~/qt-solutions/qtservice/build$ cmake --build . --config Release --target install
~/qt-solutions/qtservice/build$ cd ~
~$ git clone https://github.com/KangLin/RabbitCommon.git
~$ git clone https://github.com/KangLin/RabbitRemoteControl.git
~$ cd RabbitRemoteControl
~/RabbitRemoteControl$ mkdir build
~/RabbitRemoteControl$ cd build
~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install \
-DRabbitVNC_DIR=~/RabbitVNC/build/install/lib/cmake/RabbitVNC \
-Dtigervnc_DIR=~/tigervnc/build/install/lib/cmake/tigervnc \
-DBUILD_FREERDP=ON \
-DLibDataChannel_DIR=~/libdatachannel/build/install/lib/cmake/LibDataChannel \
-DQtService_DIR=~/qt-solutions/qtservice/build/lib/cmake/QtService
~/RabbitRemoteControl/build$ cmake --build . --config Release --target install
See: Compile integration
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。