Table of Contents
Запуск двух экземпляров Telegram на линукс десктопе
Вводная
В телеграмм есть возможность завести несколько аккаунтов на разные номера через кнопку “Add account”, но, по дефолту, предполагается что оба аккаунта будут работать в одном экземпляре приложение и между ними надо переключаться в самом приложении.
Это не очень удобно, когда для личного и рабочего общения используются разные аккаунты, нет-нет да и отвлечешься от работы на личные вопросы или упрешься в ограничения бесплатной версии телеграмма.
Мне больше нравится, когда аккаунты можно разделить по двум и более экземплярам телеграмма, это можно сделать в десктопной версии.
Начальные условия:
- Есть два аккаунт телеграмм привязанные на два номера, личный и рабочий.
- Есть приложение на андроид телефоне, оба аккаунта в одном приложении.
- Есть ноутбук с Ubuntu 20.04.6 LTS с GNOME работающим в режиме Flashback (классический gnome)
Надо сделать:
- Запустить личный аккаунт в первом экземпляре телеграмм установленном через snap.
- Запустить рабочий аккаунт во втором экземпляре телеграмм через бинарник.
- Подправить имена кнопок запуска экземпляров, чтобы не путаться в них.
Установка телеграмм через snap
Тут всё просто.
username@aee4:~$ sudo snap install telegram-desktop
Дальше запускаем телеграмм на ноубуке, видим qr-код и сканируем его на телефоне (Settings → Devices → кнопка “Link Desctop Device”) будучи настройках личного аккаунта.
Всё, в десктопной версии, установленной через snap, будет личный аккаунт.
Запуск телеграмм через бинарник
Переходим по ссылке https://desktop.telegram.org/ и скачиваем свежую версию телеграмма.
username@aee4:~$ mkdir ~/telegram_work_app/ username@aee4:~$ cd ~/telegram_work_app/ username@aee4:~/telegram_work_app$ wget --content-disposition https://telegram.org/dl/desktop/linux ... Location: https://td.telegram.org/tlinux/tsetup.6.1.1.tar.xz [following] ... username@aee4:~/telegram_work_app$ ll total 60804 drwxrwxr-x 2 username username 4096 сен 2 21:31 ./ drwxr-xr-x 44 username username 12288 сен 2 21:28 ../ -rw-rw-r-- 1 username username 62241984 сен 1 17:53 tsetup.6.1.1.tar.xz
Распаковываем архив.
username@aee4:~/telegram_work_app$ tar xf tsetup.6.1.1.tar.xz username@aee4:~/telegram_work_app$ ll total 118584 drwxrwxr-x 3 username username 4096 сен 2 21:46 ./ drwxr-xr-x 44 username username 12288 сен 2 21:28 ../ drwxr-xr-x 2 username username 4096 сен 1 17:52 Telegram/ -rw-rw-r-- 1 username username 62241984 сен 1 17:53 tsetup.6.1.1.tar.xz
Запускаем телеграм в первый раз c кастомной рабочей директорией и выходим через Ctrl+C.
Новая рабочая директория создастся.
username@aee4:~/telegram_work_app$ cd Telegram/ username@aee4:~/telegram_work_app/Telegram$ ll total 189284 drwxr-xr-x 2 username username 4096 сен 1 17:52 ./ drwxrwxr-x 3 username username 4096 сен 2 21:46 ../ -rwxr-xr-x 1 username username 191625728 сен 1 17:50 Telegram* -rwxr-xr-x 1 username username 2184648 сен 1 17:47 Updater* username@aee4:~/telegram_work_app/Telegram$ ./Telegram -workdir ~/telegram_work_app/TelegramDesktopWorkDir QPainter::begin: Paint device returned engine == 0, type: 2 QWidget::render: Cannot render with an inactive painter ^C
В директории “~/.local/share/applications/” появится файл вида “org.telegram.desktop._<id>.desktop” описывающий кнопку запуска в меню “Application”, где “id” уникальный для каждой версии телеграмма и рабочей директории.
Файл “org.telegram.desktop._<id>.desktop” создаётся каждый раз при запуске телеграмма из бинарника, все раннее внесенные изменения в файле перезапишутся.
Из-за этого в gnome в меню “Applications” будет две одинаковые кнопки с название “Telegram”, одна от личного телеграмма установленного через snap, вторая от рабочего телеграмма который мы запускаем. Сделаем кастомную кнопку для рабочего телеграмма, а дефолтную кнопку “org.telegram.desktop._<id>.desktop” каждый раз будем удалять.
Копируем файл “org.telegram.desktop._<id>.desktop” в файл “telegram-work.desktop” и правим строки “Name=” и “Exec=”.
username@aee4~/.local/share/applications$ cat telegram-work.desktop [Desktop Entry] Name=Telegram-Work Comment=New era of messaging TryExec=/home/username/telegram_work_app/Telegram/Telegram Exec=sh -c "/home/username/telegram_work_app/Telegram/Telegram -workdir /home/username/telegram_work_app/TelegramDesktopWorkDir/ -- %u & sleep 5; rm /home/username/.local/share/applications/org.telegram.desktop._*.desktop" Icon=org.telegram.desktop Terminal=false StartupWMClass=TelegramDesktop Type=Application Categories=Chat;Network;InstantMessaging;Qt; MimeType=x-scheme-handler/tg;x-scheme-handler/tonsite; Keywords=tg;chat;im;messaging;messenger;sms;tdesktop; Actions=quit; DBusActivatable=true SingleMainWindow=true X-GNOME-UsesNotifications=true X-GNOME-SingleWindow=true [Desktop Action quit] Exec=/home/username/telegram_work_app/Telegram/Telegram -workdir /home/username/telegram_work_app/TelegramDesktopWorkDir/ -quit Name=Quit Telegram Icon=application-exit
В “Exec=” последовательно выполняем несколько команд:
- Запускаем в бекграунде телеграмм, в конце один амперсант.
- Ждем 5 секунд, пока создастся файл “org.telegram.desktop._<id>.desktop”, в конце точка с запятой.
- Удаляем файл “org.telegram.desktop._<id>.desktop”.
После этого в меню “Application” будет две кнопки с именами “Telegram” и “Telegram-Work”.
Дальше запускаем “Telegram-Work” и через телефон заходим в рабочий аккаунт.