Как мне просто запустить приложение Ubuntu Touch из терминала?
У меня есть файл qml, и я просто хочу ssh на телефон и сделать
qmlscene myfile.qml
Возможно ли это сделать без SDK и пакетов? Просто vim и несколько простых команд, которые могут вписаться в память человека.
2 ответа
Если у вас уже есть файл qml на телефоне, это довольно просто. Все, что вам нужно сделать, это позвонить qmlscene
с дополнительным аргументом.
Начните соединение с вашего рабочего стола / ноутбука с
phablet-shell
,Бежать
qmlscene
с--desktop_file_hint
, пример:$ qmlscene --desktop_file_hint=/usr/share/applications/dialer-app.desktop $HOME/Documents/myfile.qml
Не было так просто на OTA 10.1 (Ubuntu 15.04), BQ E5, с phablet-shell
SSH-соединение, я должен был выполнить эту однострочную командную строку, чтобы заставить ее работать:
APP_ID=com.ubuntu.clock_clock_3.7.456 \
QML2_IMPORT_PATH=/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/lib/arm-linux-gnueabihf \
QML_IMPORT_TRACE=1 \
/usr/bin/qmlscene \
--desktop_file_hint=/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/applications/ubuntu-clock-app.desktop \
/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml
Обратите внимание, что когда вы запускаете приложение таким образом, весь его вывод выводится на вызывающий терминал, а в ~/.cache/upstart/application-click-com.ubuntu.clock_clock_3.7.456.log
, Должен также запускаться, когда телефон спит, и он блокируется в терминале, и Ctrl-C прекратит его (и его окно на устройстве). QML2_IMPORT_PATH
решает
file:///usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml:22 module "Alarm" is not installed
file:///usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml:20 module "WorldClock" is not installed
... см. ошибку #1338979 "Недопустимый вызов qmlscene - недопустимая опция -" I "": Ошибки: notes-app
Обратите внимание, что без --desktop_file_hint
, ты получишь:
Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0'
UbuntuClientIntegration: connection to Mir server failed. Check that a Mir server is
running, and the correct socket is being used and is accessible. The shell may have
rejected the incoming connection, so check its log file
Aborted