Telegram
Telegram — бесплатный кроссплатформенный мессенджер, позволяющий обмениваться текстовыми сообщениями и медиафайлами различных форматов.
Установка
Установите пакет telegram-desktop:
$ su - # apt-get update # apt-get install telegram-desktop
Исправление ошибки запуска (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
Русификация
- Запустить приложение и войти в свою учетную запись
- В поиске найти робота Антона - telerobot
- В чате с ним написать locate tdesktop
- В ответ придет вложение - Russian.strings (по нажатию будет загружено в папку ~/Загрузки/Telegram Desktop)
- Переходим в настройки приложения, на клавиатуре набираем loadlang и выбираем скачанный файл
- После перезапуска приложения - оно будет на русском языке
Проблемы разработки Telegram
Во всех сборках Telegram Desktop с ffmpeg версии 4.0 и выше есть баг, связанный с проигрыванием голосовых сообщений, созданных в официальном клиенте для iOS:
- https://github.com/telegramdesktop/tdesktop/issues/5843
- https://github.com/TelegramMessenger/Telegram-iOS/issues/47
Проблема заключается в том, что Telegram for iOS вставляет в файл несколько маркеров конца файла. Старые версии ffmpeg (< 4.0) их спокойно загружали, а новые (4.0+) уже выдают предупреждение. Telegram Desktop при получении кода ошибки от ffmpeg тут же прекращает воспроизведение аудиозаписи.
В бинарной сборке Telegram Desktop используется очень
старая и уязвимая версия openssl. Лишь недавно они передвинули её на
rolling тег 1.0.2.
Сборка в пакет
- https://github.com/Etersoft/telegram-desktop
- https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
- https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop
- https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template
- https://github.com/flathub/org.telegram.desktop
- https://github.com/rpmfusion/telegram-desktop
- https://github.com/procxx/kepka — порт на cmake
Темные иконки на темном фоне
Приложение содержит в своем составе свои собственные иконки для системного лотка. Но в некоторых темах иконок (например Breeze) имеются иконки, которые используются вместо "встроенных". В результате многие пользователи КДЕ столкнулись с тем, что при использовании темного оформления панелей (например Oxygen), иконка Telegram получается темной на темном фоне.
Можно переопределить свои иконки вместо тех, что имеются в используемой теме. Например, можно взять подходящие иконки с именами telegram-panel.svg, telegram-mute-panel.svg, telegram-attention-panel.svg и положить их в каталог ~/.local/share/icons/breeze/status/22
Набор светлых иконок для Breeze:
Файл:Telegram-light-icons.tgz