// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! \page creator-developing-generic-linux.html \previouspage creator-reference.html \ingroup creator-reference-devices \title Developing for remote Linux devices \quotation \l {Remote Linux}{How to: Develop for remote Linux} \endquotation \brief Connect generic Linux devices to the computer to run, debug, and analyze applications built for them from \QC. If you have a toolchain for building applications for embedded Linux devices installed on the computer, add it to a \l{Managing kits}{kit} with the device type \uicontrol {Remote Linux Device} to build applications for and run them on the devices. Use a wizard to connect remote Linux devices to the computer. You can edit the settings later in \preferences > \uicontrol Devices > \uicontrol Devices. \image {qtcreator-preferences-devices-remote-linux.webp} {Remote Linux device in the Devices tab in Devices preferences} To automatically connect to the remote Linux device when \QC starts, select \uicontrol {Auto-connect on startup}. //! [openssh] \section1 Protecting device connections To protect the connections between \QC and a device, use \l{OpenSSH} for remote login over the SSH protocol. The OpenSSH suite is not delivered with \QC, so download it and install it on the computer. Then, configure the paths to the tools in \QC. You need either a password or an SSH public and private key pair for authentication. If you do not have an SSH key, use the \c ssh-keygen tool to create it in \QC. \note \QC does not store passwords, so if you use password authentication, you may need to enter the password on every connection to the device, or, if caching is enabled, at every \QC restart. If you frequently run into the timeout, consider using key-based authentication. Create an SSH key in \QC with the \c ssh-keygen tool. On \macos and Linux, go to \preferences > \uicontrol Devices > \uicontrol SSH and increase the time (in minutes) for sharing an SSH connection in the \uicontrol {Connection sharing timeout} field. Windows does not support shared connections. \image {qtcreator-ssh-options.png} {SSH tab in Devices preferences} //! [openssh] \sa {Add Docker devices}, {Remote Linux}{How to: Develop for remote Linux}, {Run in Qt Application Manager}, {Remote Linux Deploy Configuration}, {Remote Linux Run Settings} */ /*! \page creator-how-to-connect-remote-linux.html \previouspage creator-how-tos.html \ingroup creator-how-to-remote-linux \title Connect remote Linux devices Create connections between generic Linux devices and \QC to run, debug, and analyze applications on them. To configure connections between \QC and a remote Linux device: \list 1 \li Make sure that your device can be reached via an IP address. \li Go to \preferences > \uicontrol Kits > \uicontrol {Qt Versions}. \li Select \uicontrol Add to add the Qt version for embedded Linux. \li Go to \uicontrol {Preferences} > \uicontrol Kits > \uicontrol Compilers. \li Select \uicontrol Add to add the compiler for building the applications. \li Go to \uicontrol {Preferences} > \uicontrol Devices > \uicontrol Devices. \li Select \uicontrol Add to add a remote Linux device. \li Go to \uicontrol {Preferences} > \uicontrol Kits. \li Select \uicontrol Add to add a kit for building for the device. \li Select the Qt version, compiler, and device that you added above. \li In \uicontrol {Run device}, select \uicontrol {Remote Linux Device} in \uicontrol {Type}, and then select the actual device to run on in \uicontrol {Device}. \li To specify build settings: \list 1 \li Open a project for an application you want to develop for the device. \li Select \uicontrol Projects > \uicontrol {Build & Run} to enable the kit that you specified above. \endlist \li Go to \uicontrol {Run Settings} to specify run settings. Usually, you can use the default settings. \li When you run the project, \QC deploys the application as specified by \uicontrol {Deploy Settings}. \endlist \sa {Remote Linux}{How to: Develop for remote Linux}, {Manage kits}{How to: Manage kits}, {Developing for Remote Linux Devices}, {Remote Linux Deploy Configuration}, {Remote Linux Run Settings} */ /*! \page creator-how-to-add-remote-linux.html \previouspage creator-how-tos.html \ingroup creator-how-to-remote-linux \title Add remote Linux devices Create connections between generic Linux devices and \QC to run, debug, and analyze applications on them. \image {qtcreator-preferences-devices-remote-linux.webp} {Remote Linux device in the Devices tab in Devices preferences} \caption Remote Linux Device preferences \include qtcreator-add-linux-device.qdocinc {add linux device} {Remote Linux Device} \sa {Remote Linux}{How to: Develop for remote Linux}, {Debug remotely with GDB}, {Developing for Remote Linux Devices}, {Remote Linux Deploy Configuration} */ /*! \page creator-how-to-build-on-remote-linux.html \previouspage creator-how-tos.html \ingroup creator-how-to-remote-linux \title Build applications on remote Linux devices In addition to building applications \e {for} a generic Linux device, you can use the toolchain on the device to build the applications \e {on} the device. \include creator-how-to-build-on-remote-devices.qdocinc {build on remote devices} {remote Linux device} \sa {Add CMake tools}, {Remote Linux}{How to: Develop for remote Linux}, {Manage kits}{How to: Manage kits}, {Developing for Remote Linux Devices}, {Remote Linux Deploy Configuration}, {Remote Linux Run Settings} */