Администрирование

В данной статье представлен основной перечень команд, необходимых для:

  • диагностики Lipstick, производительности, резервного копирования;
  • перезапуска системных служб;
  • технического обслуживания пакетов;
  • работы с предупреждениями и диалоговыми окнами.

Подготовка к работе

Подключение устройства к компьютеру

Для выполнения тех или иных команд для диагностики производительности или перезапуска системных служб с помощью терминала необходимо предварительно:

  1. включить режим разработчика на устройстве;
  2. подключить устройство к компьютеру с помощью USB-кабеля;
  3. установить SSH-подключение.

Для включения режима разработчика необходимо:

  • в сетке приложений открыть «Настройки»;
  • открыть «Средства разработчика»;
  • коснуться поля Режим разработчика.

После подключения USB-кабеля к компьютеру в открывшемся окне необходимо выбрать Режим разработчика.

Примечание. Для установки режима USB по умолчанию следует в сетке приложений открыть «Настройки»USB. В поле Режим USB по умолчанию отобразятся доступные режимы USB.

После подключения устройства необходимо установить SSH-подключение. Для этого в сетке приложений необходимо открыть «Настройки»«Средства разработчика». В поле «IP-адрес USB» содержится адрес, который используется для установления SSH-подключения.

Данный IP-адрес необходимо добавить в базу данных доменных имен. Для этого в терминале необходимо:

  • перейти в режим суперпользователя;
  • в файле hosts добавить строку с IP-адресом устройства device
  • сохранить изменения в файле.

Пример параметров в файле hosts:

127.0.0.1 localhost
127.0.1.1 ubuntu
192.168.2.15 device

После чего необходимо установить SSH-подключение с устройством с помощью команды:

ssh nemo@device

Далее необходимо подтвердить запрос на подключение и ввести пароль, сгенерированный автоматически на устройстве.

Примечание. Выполнение приведенных в документе команд осуществляется от имени суперпользователя:

  Место ввода       Выполнение от имени суперпользователя    
SDK su перед вводимыми командами
Устройство devel-su перед вводимыми командами

Диагностика

Возможные изменения в конфигурационных файлах

Отладочные сообщения системного журнала, как правило, сохраняются между перезагрузками устройства. Если они не сохраняются, необходимо в конфигурационном файле /etc/systemd/journald.conf для параметра Storage установить значение persistent:

Storage=persistent

Для настройки скорости генерации отладочных сообщений необходимо в конфигурационном файле отредактировать значения параметров RateLimitBurst и RateLimitInterval:

RateLimitBurst=9999
RateLimitInterval=5s

Установка данных значений означает генерацию 9999 сообщений за 5 секунд. Для выключения ограничения скорости следует установить значения 0.

Для детализации процессов возможно отредактировать и перезагрузить определенные конфигурационные файлы. Некоторые из них представлены в таблице ниже:

  Конфигурационный файл     Описание  
/home/nemo/.config/QtProject/Messageserver.conf Конфигурационный файл e-mail, QtMessagingFramework
/home/nemo/.config/eas-sailfish.conf Конфигурационный файл плагина Exchange ActiveSync

Установка пакетов для трассировки

Для того чтобы собрать подробную информацию, можно установить пакеты для трассировки с помощью команды pkcon install [наименование_пакета]. Например:

  Команда     Описание  
pkcon install connman-tracing Установка пакета для трассировки Connman
pkcon install bluez5-tracing Установка пакета для трассировки BlueZ
pkcon install connectionagent-qt5-tracing Установка пакета для трассировки компонентов cвязи

Основные команды

Основные команды и команды, предназначенные детализации информации в отладочных сообщениях в системном журнале, представлены в таблице ниже:

  Команда     Описание  
devel-su journalctl -a > ~/saved.journal Сохранение данных системного журнала. Рекомендуется выполнять перед началом диагностики
devel-su journalctl -fa Вывод отладочных сообщений системного журнала в режиме реального времени
QT_LOGGING_RULES="*.debug=true" Включение отладочных сообщений по категориям для приложений и служб, написанных в Qt
MSYNCD_LOGGING_LEVEL=8 Включение отладочных сообщений для плагина Buteo Sync
SSO_LOGGING_LEVEL=3
SSOUI_LOGGING_LEVEL=3
Включение отладочных сообщений для Accounts & Single Sign-on (SSO)
CONTACTSD_DEBUG=1 Включение отладочных сообщений для демона contactsd
QTCONTACTS_SQLITE_TWCSA_TRACE=1
QTCONTACTS_SQLITE_TRACE=1
Включение отладочных сообщений для qtcontacts-sqlite backend
KCALDEBUG=1 Включение отладочных сообщений для приложения «Календарь» и для mkcal и KCal
LIPSTICK_COMPOSITOR_DEBUG=1 Включение отладочных сообщений для Lipstick

Команды Lipstick

Отладочные сообщения для Lipstick могут быть включены добавлением LIPSTICK_COMPOSITOR_DEBUG = 1 в /var/lib/environment/compositor/*.conf.

После чего необходимо перезагрузить Lipstick. В результате появится окно для отладки в нижней части домашнего экрана. Кнопка «Dump» выводит данные в верхнее окно в системном журнале. Кнопка «Expose» показывает текущие окна.

Если домашний экран заблокирован или не отвечает, но есть доступ к устройству, верхнее окно может быть сброшено следующим образом:

dbus-send --type=method_call --print-reply --dest=org.nemomobile\
.compositor.debug /debug org.nemomobile.compositor.debug.dump

Команды производительности

Для диагностики производительности необходимо перейти к командной строке и загрузить сценарий для отчетов на устройство:

curl -o power-diagnostics.sh https://git.merproject.org/mer-core/\
statefs-providers/blob/master/tools/power-diagnostics.sh && chmod \
a+x power-diagnostics.sh

После чего запустить сценарий для отчетов:

devel-su./power-diagnostics.sh > /home/nemo/power-state-report.txt

И приложить файл /home/nemo/power-state-report.txt к отчету об ошибке.

Команды резервного копирования

Для диагностики резервного копирования необходимо на целевом устройстве перейти в командную строку. После чего загрузить сценарий резервного копирования отчетов о состоянии и сделать его исполняемым:

curl -o the-vault-storage-report.sh \
https://git.merproject.org/mer-core/the-vault/blob/master/tools/\
the-vault-storage-report.sh && chmod a+x the-vault-storage-report.sh

Далее выполнить команду:

devel-su -p ./the-vault-storage-report.sh > /home/nemo/backup-status-report.txt

И приложить файл /home/nemo/backup-status-report.txt к отчету об ошибке.

Перезагрузка системных служб

В таблице ниже представлены основные команды для перезагрузки системных служб:

  Команда     Описание  
systemctl restart user@100000 Перезагрузка сеанса пользователя
systemctl restart connman.service Перезагрузка сети. Произойдет разъединение SSH-подключения
systemctl --user restart lipstick Перезагрузка домашнего экрана
systemctl --user restart maliit-server Перезагрузка клавиатуры
systemctl --user restart voicecall-ui-prestart Перезагрузка приложения «Телефон»
systemctl restart ofono
systemctl-user restart voicecall-manager
Перезагрузка промежуточного cвязующего ПО устройства (oFono, Voicecall manager)

Техническое обслуживание пакетов

Основные команды

  Команда     Описание  
version Отображение версии сборки
version --dup Обновление программного обеспечения

Pkcon

В таблице ниже представлены основные команды Pkcon:

  Команда Pkcon     Описание  
pkcon refresh Обновление списка пакетов
pkcon search [наименование_пакета] Поиск пакета по названию
pkcon install [наименование_пакета] Установка пакета
pkcon get-details [наименование_пакета] Отображение информации о пакете или о коллекции пакетов
pkcon remove [наименование_пакета] Удаление пакета/пакетов
pkcon update [наименование_пакета] Обновление пакета/пакетов
pkcon install-local [наименование_пакета] Установки локального пакета
pkcon repo-list Отображение сконфигурированных репозиториев
pkcon repo-enable [ID_репозитория] Включения репозитория
pkcon repo-disable [ID_репозитория] Отключения репозитория
pkcon Отображение информации о синтаксисе команд и параметрах

Zypper

В таблице ниже представлены основные команды Zypper:

  Команда Zypper     Описание  
zypper lr Вывод списка репозиториев
zypper ref Обновление репозиториев
zypper update Обновление пакетов
zypper se [наименование_пакета] Поиск пакета
zypper in [наименование_пакета] Установка пакета
zypper info [наименование_пакета] Отображение информации о пакете
zypper info -t pattern [наименование_шаблона] Отображение информации о поиске по шаблону
zypper verify Проверка зависимостей

RPM

В таблице ниже представлены основные команды для работы с RPM-пакетами:

  Команда RPM     Описание  
rpm -e [[наименование_пакета] Удаление пакета
rpm -ql [наименование_пакета] Отображение списка файлов в пакете
rpm -qlP [наименование_файла] Отображение списка файлов в пакете
rpm -qf [наименование_файла] Отображение пакета, который содержит файл
rpm -qpR [наименование_пакета] Отображение информации о зависимостях пакетов
rpm -qR [наименование_пакета] Отображение информации о зависимостях пакетов
rpm -q --whatrequires [наименование_пакета] Отображение информации об обратных зависимостях
rpm -U --oldpackage --replacepkgs --replacefiles [наименование_пакета] Переустановка пакета
rm -rf /var/lib/rpm/__db* ; rpm --rebuilddb Удаление поврежденных данных

Для того чтобы запустить проверку пакетов (зависят ли они от соответствующего пакета), следует ввести команду:

rpm -qa | xargs rpm -qR | grep -b5 [наименование_пакета]

Очистка, импорт и экспорт пользовательских данных

Телефон

В таблице ниже представлены команды для очистки и импорта пользовательских данных приложения «Телефон»:

  Команда     Описание  
pkcon install libcommhistory-qt5-tools Установка commhistory-tool
commhistory-tool deleteall -calls Очистка журналов вызовов
commhistory-tool import-json calllogs.json Включение отладочных сообщений для журнала вызовов
pkill voicecall-ui Перезапуск приложения «Телефон» (изменения вступят в силу)

Сообщения

В таблице ниже представлены команды для очистки и импорта пользовательских данных приложения «Сообщения»:

  Команда     Описание  
commhistory-tool deleteall -groups Удаление списка сообщений
commhistory-tool import-json messages.json Импорт данных сообщений
pkill jolla-messages Перезапуск приложения «Сообщения» (изменения вступят в силу)

Контакты

В таблице ниже представлены команды для импорта и экспорта пользовательских данных приложения «Контакты»:

  Команда     Описание  
pkcon install nemo-qml-plugin-contacts-qt5-tools Установка vcardconverter
devel-su -p vcardconverter contacts.vcf Импорт контактов в формате визитной карточки vCard
devel-su -p vcardconverter --export contacts.vcf Экспорт локальных контактов в формате визитной карточки vCard

Календарь

В таблице ниже представлены команды импорта и экспорта пользовательских данных приложения «Календарь»:

  Команда     Описание  
pkcon install nemo-qml-plugin-calendar-qt5-tools Установка icalconverter
devel-su -p icalconverter import calendar.ics Импорт события из iCal
dbus-send --print-reply --type=method_call --dest=com.jolla.calendar.ui /com/jolla/calendar/ui com.jolla.calendar.ui.importFile string:/home/nemo/calendar.ics Импорт событий с помощью календаря
devel-su -p icalconverter export calendar.ics Экспорт локальных событий из календаря в iCal

Браузер

Для установки домашней страницы в приложении «Браузер» следует ввести команду:

dconf write /apps/sailfish-browser/settings/home_page \
"'http://адрес_домашней_страницы.com'"

Медиа

В таблице ниже представлены основные команды для копирования файлов на устройство:

  Команда     Описание  
scp *.jpg nemo@device:Pictures Копирование JPG-файлов на устройство в каталог «Pictures»
scp *.mp4 nemo@device:Videos Копирование MP4-файлов на устройство в каталог «Videos»
scp *.pdf nemo@device:Documents Копирование PDF-файлов на устройство в каталог «Documents»
scp *.ogg nemo@device:Music Копирование OGG-файлов на устройство в каталог «Music»

Атмосфера

Для того чтобы установить изображение как атмосферу, следует ввести команду:

dbus-send --session --print-reply \
--dest=com.jolla.ambienced /com/jolla/ambienced com.jolla.ambienced.\
setAmbience\
 string:"file://home/nemo/Pictures/наименование_изображения.jpg"

Домашний экран

Для сброса порядка приложений на домашнем экране следует ввести команду:

rm /home/nemo/.config/lipstick/applications.menu

Погода

Для сброса местоположения в приложении «Погода» следует ввести команду:

rm /home/nemo/.local/share/sailfish-weather/weather.json

Блокировка устройства

В таблице ниже представлены команды для работы с блокировкой устройства:

  Команда     Описание  
zypper in mce-tools Установка mcetool для работы команд
mcetool -searly Отключение состояния ожидания
mcetool -sdisabled Отключение ранней блокировки
mcetool -senabled Восстановление стандартной политики блокировки

Яркость экрана

В таблице ниже представлены команды для работы с яркостью экрана:

  Команда     Описание  
zypper in mce-tools Установка mcetool для работы команд
mcetool -b100 Установка яркости до максимального значения
mcetool -b1 Установка яркости до минимального значения
mcetool -Don Отключение яркости экрана, когда домашний экран или приложения открыты
mcetool -tdisabled Отключение яркости экрана, когда домашний экран открыт
mcetool -Doff -tenabled Возврат к стандартному состоянию
mcetool -gdisabled Отключение фильтра яркости экрана на основе ALS (при проблемах с низкой яркостью экрана)
systemctl stop mce.service
rm /var/lib/mce/builtin-gconf.values
systemctl start mce.service
Сброс всех значений mce по умолчанию

Предупреждения и диалоговые окона

Cигнал таймера и будильника

Для включения сигнала таймера в течение трех секунд (ticker=3) в приложении «Часы» следует ввести команду:

timedclient-qt5 -b'TITLE=button0' -e'APPLICATION=nemoalarms;TITLE=Timer;\
type=countdown;timeOfDay=1;triggerTime=1395217218;ticker=3'

Для включения сигнала будильника в течение трех секунд (ticker=3) в приложении «Часы» следует ввести команду:

timedclient-qt5 -b'TITLE=button0' -e'APPLICATION=nemoalarms;TITLE=Clock;\
type=event;timeOfDay=772;ticker=3'

Способ подключения

Для отображения дилогового окна «Способ подключения» следует ввести комнаду:

dbus-send --print-reply --type=method_call\
 --dest=com.jolla.lipstick.ConnectionSelector / \
  com.jolla.lipstick.ConnectionSelectorIf.openConnection string:

Остановка и продолжение выполнения приложения

При отображении сообщении о том, что приложение не отвечает, его можно остановить с помощью команды:

kill -SIGSTOP `pgrep наименование_приложения` # например, jolla-messages

Если необходимо продолжить выполнение приложения, следует ввести команду:

kill -SIGCONT `pgrep наименование_приложения` # например, jolla-messages

Запрос на вызов

Для отображения запроса на вызов абонента следует ввести команду:

xdg-open "tel://0123456789"

Предупреждение о высокой громкости

Для изменения значения задержки предупреждения о высокой громкости на одну минуту, при прослушивании аудио необходимо в файле /etc/pulse/mainvolume-listening-time-notifier.conf изменить параметры в строках, приведенных ниже :

"timeout = 1
sink-list = sink.primary
mode-list = lineout"

После чего для перезапуска ввести команду:

systemctl --user restart pulseaudio.service

Для проверки внесенных изменений необходимо воспроизвести песню в течение одной минуты с гарнитурой в приложении «Медиа». В результате через указанное в строке timeout время отобразится диалоговое окно с предупреждением.

Для возврата стандартного значения задержки предупреждения о высокой громкости следует ввести команду:

/usr/bin/dconf write /desktop/nemo/audiowarning true

Для проверки внесенных изменений, при прослушивании песни через гарнитуру, необходимо изменить уровень громкости на максимальный. В результате через время, заданное по умолчанию, отобразится диалоговое окно с предупреждением.