Telegram

Материал из ALT Linux Wiki

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

Установка

Установите пакет telegram-desktop:

$ su -
# apt-get update
# apt-get install telegram-desktop
Примечание: Также Telegram можно использовать в клиенте обмена сообщения Pidgin посредством пакета purple-telegram


Исправление ошибки запуска (altbug #34182)

Если Telegram не запускается, а при его запуске через командную строку примерно такой вывод:

(telegram-desktop:7286): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'
(telegram-desktop:7286): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(telegram-desktop:7286): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
(telegram-desktop:7286): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(telegram-desktop:7286): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(telegram-desktop:7286): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(telegram-desktop:7286): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(telegram-desktop:7286): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplay'
(telegram-desktop:7286): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(telegram-desktop:7286): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
(telegram-desktop:7286): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(telegram-desktop:7286): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Ошибка сегментирования

то необходимо изменить команду запуска Telegram - либо вынести ярлык на Рабочий стол, и указать в команде запуска следующую:

bash -c "XDG_CURRENT_DESKTOP=NONE telegram-desktop -- %u" 

(соответственно запуск из консоли будет аналогичный (bash -c можно опустить)). Либо выполнить от рута команду, которая поправит запуск из меню для всех пользователей:

$ su -
# sed -i "s#telegram-desktop -- %u#bash -c \"XDG_CURRENT_DESKTOP=NONE telegram-desktop -- %u\"#g" /usr/share/applications/telegram-desktop.desktop

Русификация

  1. Запустить приложение и войти в свою учетную запись
  2. В поиске найти робота Антона - telerobot
  3. В чате с ним написать locate tdesktop
  4. В ответ придет вложение - Russian.strings (по нажатию будет загружено в папку ~/Загрузки/Telegram Desktop)
  5. Переходим в настройки приложения, на клавиатуре набираем loadlang и выбираем скачанный файл
  6. После перезапуска приложения - оно будет на русском языке

Проблемы разработки Telegram

Во всех сборках Telegram Desktop с ffmpeg версии 4.0 и выше есть баг, связанный с проигрыванием голосовых сообщений, созданных в официальном клиенте для iOS:

Проблема заключается в том, что Telegram for iOS вставляет в файл несколько маркеров конца файла. Старые версии ffmpeg (< 4.0) их спокойно загружали, а новые (4.0+) уже выдают предупреждение. Telegram Desktop при получении кода ошибки от ffmpeg тут же прекращает воспроизведение аудиозаписи.


В бинарной сборке Telegram Desktop используется очень старая и уязвимая версия openssl. Лишь недавно они передвинули её на rolling тег 1.0.2.

Сборка в пакет