Rabbit Remote Control 0.0.30
|
Author: Kang Lin kl222.nosp@m.@126.nosp@m..com
Translator: Allan Nordhøy epost.nosp@m.@ano.nosp@m.thera.nosp@m.genc.nosp@m.y.no
~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
~$ 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.
~$ sudo apt install build-essential
~$ sudo apt install g++ gcc
~$ sudo apt install automake autoconf make fakeroot
~$ sudo apt install git
CMake: https://cmake.org
Version: 3.27.0
~$ sudo apt install cmake
~$ sudo apt install debhelper
~$ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qtmultimedia5-dev qtlocation5-dev libqt5svg5-dev libqtermwidget5-0-dev
~$ 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
~$ sudo apt install qtcreator
~$ sudo apt install libglu1-mesa-dev
~$ 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_ROOT=[RabbitCommon installation path]
~$ git clone https://github.com/KangLin/RabbitCommon.git
~$ sudo apt install freerdp2-dev
~$ git clone https://github.com/microsoft/vcpkg.git ~$ cd vcpkg ~/vcpkg$ ./bootstrap-vcpkg.sh ~/vcpkg$ ./vcpkg install freerdp
~$ 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
~$ sudo apt install libvncserver-dev
~$ 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
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
~$ git clone https://github.com/microsoft/vcpkg.git ~$ cd vcpkg ~/vcpkg$ ./vcpkg install 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
~$ 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
~$ sudo apt install libqtermwidget5-0-dev
~$ sudo apt install libssh-dev
~$ git clone https://github.com/microsoft/vcpkg.git ~$ cd vcpkg ~/vcpkg$ ./vcpkg install libssh
~$ 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
~$ git clone https://github.com/seladb/PcapPlusPlus.git
~$ git clone https://github.com/microsoft/vcpkg.git ~$ cd vcpkg ~/vcpkg$ ./vcpkg install pcapplusplus
It is depended by PcapPlusPlus
~$ sudo apt install libpcap-dev
~$ git clone https://github.com/KangLin/RabbitRemoteControl.git
~$ 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
~$ 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
export RabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/RabbitVNC export tigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc
./build_debpackage.sh $QT_ROOT $RabbitCommon_ROOT
~$ cd RabbitRemoteControl ~/RabbitRemoteControl$ cd build/install/bin ~/RabbitRemoteControl$ ./RabbitRemoteControl.shNote: 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
See: Compile integration
snapcraft pull [<part-name>] snapcraft build [<part-name>] snapcraft stage [<part-name>] snapcraft prime [<part-name>] snapcraft pack or snapcraft
$ snapcraft prime -v --debug --shell Using 'snap/snapcraft.yaml': Project assets will be searched for from the 'snap' directory. Launching a VM. Launched: snapcraft-test [...] Pulling part-test Building part-test Staging part-test snapcraft-test #
snapcraft clean
snap install ./rabbitremotecontrol_0.0.27_amd64.snap --devmode
rabbitremotecontrol
snap remove rabbitremotecontrol