WhatsApp клиент для рабочего стола Linux

Из всех мессенджеров самый недружелюбный в плане Desktop-клиентов это конечно же WhatsApp и сегодня будем его усмирять и даже попробуем запустить два экземпляра. Одни рабочий, а второй личный.

Установка Whatsdesk

Web-клиент нас не устраивает изначально и посему воспользуемся неофициальным клиентом Whatsdesk поставляющимся в богомерзком формате snap.

# snap install whatsdesk
Десктоп клиент Wahatsapp для Ubuntu Linux

Запуск второго экземпляра Whatsdesk

Если вы попытаетесь запустить второй экземпляр из командной строки.

$ /snap/bin/whatsdesk

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

# useradd --system --shell=/usr/sbin/nologin whatsapp
# cat /etc/passwd | grep whatsapp
# mkdir /home/whatsapp
# chown whatsapp:whatsapp /home/whatsapp/

Пробуем залогинится под созданным пользователем и запустить Whatsdesk.

$ sudo su whatsapp -s /bin/bash
$ /snap/bin/whatsdesk

Получаем ошибку.

/bin/sh: 1: update-alternatives: Permission denied
Authorization required, but no authorization protocol specified
[25843:0407/104948.278569:ERROR:browser_main_loop.cc(1400)] Unable to open X display.
The futex facility returned an unexpected error code.Aborted (core dumped)

Пользователю который вошел в систему необходимо выдать правзв sudo без пароля для чего в файл /etc/sudoers добавляем запись.

chernousov ALL=(ALL) NOPASSWD:ALL

Перелогиниваемся в пользователя whatsapp.

$ sudo su whatsapp -s /bin/bash

Проверяем путь к файлу XAUTHORITY.

$ env | grep XAUTHORITY
XAUTHORITY=/run/user/1000/xauth_nnEHqN

Проверяем права на этот файл.

# ls -lua $XAUTHORITY
-rw------- 1 chernousov chernousov 98 апр  7 11:04 /run/user/1000/xauth_nnEHqN

Добавляем пользователя whatsapp в группу chernousov.

# usermod -aG whatsapp chernousov

Меняем права на файл XAUTHORITY для чтение-запись группой, чтение любому пользователю и переход в каталог любому пользователю.

# chmod g+rw $XAUTHORITY
# chmod o+r $XAUTHORITY
# chmod +rx /run/user/1000/

Инициализируем X11 окружение.

$ xhost +

Проводим тестовый запуск второго whatsdesk.

$ /snap/bin/whatsdesk
Запуск второго экземпляра Whatsapp

Теперь нам остается только оформить все это в виде скрипта запуска.

#!/bin/sh

sudo chmod g+rw $XAUTHORITY
sudo chmod o+r $XAUTHORITY
sudo chmod +rx /run/user/1000/

sudo su whatsapp -s /usr/bin/xhost +
sudo su whatsapp -s /snap/bin/whatsdesk

exit 0

Осталось только добавить в автозагрузку и пользоваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *