# Installing XDS client tools [xds-agent](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-agent.git) is a client tool that must run on your machine (user / developer host) to be able to use XDS. You should establish the following chain: - XDS Client: (`xds-cli` or XDS Dashboard). - XDS Agent: (`xds-agent`) running on your machine. - XDS Server (`xds-server`) running on a remote server and/or in a container. Exchanges between these 3 tools are done though HTTP and Websocket protocols. Default url/port mentioned in schema below can be change using config files.  Installation of other XDS client tools, such as `xds-cli` or `xds-gdb` is optional and depends of what you want to do: - [xds-cli](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-cli.git) : command line tool to used to interact with XDS (also used by IDE integration). - [xds-gdb](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-gdb.git) : requested for debugging application. ## Install packages for debian distro type ```bash # 'DISTRO' can be set to { xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, Debian_8.0, Debian_9.0 } export DISTRO="xUbuntu_16.04" # AGL_RELEASE can be set to {AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master} export AGL_RELEASE="AGL_Master" wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/Release.key | sudo apt-key add - sudo bash -c "cat >> /etc/apt/sources.list.d/AGL.list <<EOF deb http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/ ./ EOF" sudo apt-get update sudo apt-get install agl-xds-agent sudo apt-get install agl-xds-cli sudo apt-get install agl-xds-gdb ``` ## Install packages for openSUSE distro type ```bash # DISTRO can be set to {openSUSE_Leap_42.3, openSUSE_Leap_15.0, openSUSE_Tumbleweed} export DISTRO="openSUSE_Leap_15.0" # AGL_RELEASE can be set to {AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master} export AGL_RELEASE="AGL_Master" sudo zypper ar http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/isv:LinuxAutomotive:${AGL_RELEASE}.repo sudo zypper ref sudo zypper install agl-xds-agent sudo zypper install agl-xds-cli sudo zypper install agl-xds-gdb ``` ## Install for other platforms (Windows / MacOS) - Install `xds-agent`: 1. Download the latest released tarball from github [releases page](https://github.com/iotbzh/xds-agent/releases). 1. Then unzip the tarball any where into your local disk (for example: `/opt/AGL/xds` or `C:\AGL\xds`). 1. Add binary to PATH: - MacOs: create the .bash_profile `nano .bash_profile` and add `export PATH="/opt/AGL/xds/xds-agent:$PATH` - Windows: change the system path via control panel or system settings or `setx path "C:\AGK\xds\xds-agent;%path%"` - repeat the previous steps to install other tools depending of your needs: - `xds-cli` : requested for command line and IDE integration. ([released tarball link](https://github.com/iotbzh/xds-cli/releases)). - `xds-gdb` : requested for debugging application. ([released tarball link](https://github.com/iotbzh/xds-gdb/releases)). ## Start xds-agent XDS-agent is a client tool that must run on your local / user development machine when you use XDS. For **Linux** distro, a user systemd service is provided, `xds-agent.service`. To start it automatically at boot and you can enable it using following commands: ```bash # Enable xds-agent service at boot systemctl --user enable xds-agent.service ``` To start the XDS-agent service: ```bash # Manually start xds-agent service systemctl --user start xds-agent.service # Get status and log of xds-agent service systemctl --user status xds-agent.service ``` On **MacOS** (or Linux), you can start-it manually using following commands: ```batch /opt/AGL/bin/xds-agent ``` On **Windows**, you can start-it manually using following commands: ```batch C:\AGL\xds\xds-agent\xds-agent.exe ```