A terminal app for desktop and mobile devices. It provides access to terminal sessions and is based on KDE's Konsole plugin.
The current plugin consists of:
- KTerminal: offers access to terminal session from qml
- KSessions: offers access to pty(s) from C++ layer
To build and run the app on the desktop run:
clickable desktop
To build and install a click package on the device run:
clickable
See clickable documentation for details.
Install the following build dependencies:
sudo apt-get install libpam0g-dev
Then open the CMakeLists.txt file in Qt Creator, and ensure that the kit selected on the left sidebar (just above the green "Run" button) is "Desktop"
Ensure you've selected the kit you want for your build and press the build button on Qt Creator's left sidebar (or alternatively Ctrl+B).
If you don't have one already, you'll need to create an armhf chroot to cross-compile the app. Here's how:
- In Qt Creator, open the CMakeLists.txt file
- Go to Tools > Options > Ubuntu > Click
- Click on Create Click Target
- Follow the prompts to generate the chroot. You will be asked for your sudo password
- Once created, you'll need to add the build dependencies for the app:
- Click on the Maintain button on your chroot
- On the terminal prompt that is started, type apt-get install libpam0g-dev:armhf
- Close the terminal when the installation finishes
- Now you can either do a clean checkout and wait to be prompted by Qt Creator to add the armhf kit, or alternatively:
- Go to the Projects tab > Add kit and then select the UbuntuSDK armhf kit
Additionally, you'll have to tell Qt Creator that you are doing a build for a device to ultimately create a click package for installation:
- In Qt Creator, go to the Projects tab on the sidebar
- Click on the "Build" subtab of the "UbuntuSDK for armhf..." tab
- Then go to the "CMake arguments" text field and add "-DCLICK_MODE=on" without the quotes
Before starting the build make sure to select the "UbuntuSDK" kit on Qt Creator's left sidebar (just above the green "Run" button).
Ensure you've selected the kit you want for your build and press the build button on Qt Creator's left sidebar (or alternatively Ctrl+B).
No additional steps are required before running the app on the desktop.
Due to Qt Creator's bug #1312094 in launchpad.net, there needs to be a manual workaround done before the app can run on the device:
- Modify the desktop.in file: change the Exec line to read: Exec=lib/arm-linux-gnueabihf/bin/@EXEC@
Remember to revert this temporary change if you are building a click package or if you're making other changes to be committed to the code!
Ensure you've selected the kit you want for your build and press the run button on Qt Creator's left sidebar (or alternatively Ctrl+R).
If the app hasn't been built yet, or if there are pending changes that require a build, the app will automatically be built first before running.
If you're starting the app on a device, the build will be copied over and the code will run unconfined.
There are two alternative ways to clickable of building a click package.
- Ensure you've selected the UbuntuSDK for armhf kit on Qt Creator's sidebar
- Click on Publish on the sidebar
- Click on "Create package"
- If all goes well, you'll find the final click package in the build directory
Notes:
- You can see the output of the click build if you click on Edit on the sidebar and then "Application Output" at the bottom. This is useful to identify any failures during the build
- Run
sudo apt-get install click-reviewers-tools
to enable click package validation in Qt Creator. You might need to restart Qt Creator after you've installed them for it to detect them
- Install phablet-tools:
sudo apt-get install phablet-tools
- Run click-buddy in your source tree: click-buddy --dir . --arch armhf --framework ubuntu-sdk-15.04
- Once finished, click-buddy will tell you the location of your source package
First of all, ensure you've got a working Ubuntu device attached over USB to your host computer
Run the following commands to manually install the click package (replace 0.1 with the version of your package):
adb push /home/phablet com.ubuntu.terminal_0.1_armhf.click
adb shell
sudo -H -u phablet pkcon install-local /home/phablet/com.ubuntu.terminal_0.1_armhf.click
You can add the --provision argument to the previous command to install the click package on the device.
- Either kill unity8 with
pkill unity8
or restart the system for the Apps (click) scope to pick up your newly installed click package - Search for Reminders in the Apps scope and tap on its icon to start it
- You'll find the runtime logs at ~/.cache/upstart/application-click/
Run the following commands, replacing the version of the click package you want to uninstall:
adb shell
sudo -iu phablet
sudo click unregister com.ubuntu.terminal 0.1
The autopilot tests require the deprecated SDK. If you still have it installed, you may run the tests. Once the app has been built, you can go to the build directory and run:
cd tests/autopilot
autopilot run ubuntu_terminal_app