четверг, 30 ноября 2017 г.

Возможность запуска в Linux клиента синхронизации Облако@Mail.Ru с несколькими учётными записями


За что ОС Linux может получить симпатию пользователя, так это в том числе и за то, что в ней хорошо реализуются подобные мероприятия, которые смело можно отнести к категории "а я хочу, чтобы было вот так ...".

"Лирическое" отступление

Так сложилось, что кроме одного адреса Mail.Ru (на облако которого в своё время был получен бонус в 1 Тб дискового пространства) мне досталось по случаю ещё 2 адреса почты, которые возникли в результате миграции 2 адресов почты для домена Google на почту Mail.Ru для бизнеса.

Полезная информация

На момент написания этой заметки пользовательским соглашением Mail.Ru определено, что владелец аккаунта Mail.Ru должен обращаться к службам Mail.Ru не реже 1 раза в полгода. В противном случае обслуживание службы, к которой не обращался владелец аккаунта Mail.Ru, может быть прекращено.

Данная формулировка лично у меня вызвала вопрос: распространяется дли это правило независимо на почтовый ящик и облако Mail.Ru или, например, если я постоянно пользуюсь клиент (десктопное приложение) каким-то одним компонентом, то система считает это обращением и к другому компоненту. Этот вопрос и был мною задан службе поддержки Mail.Ru

Признаюсь, что ответ меня обескуражил. Пользователь не реже 1 раза в полгода обязан обратиться и к почтовому ящику, и к облаку. Что ж, придётся сохранять активность Облака@Mail.Ru, тем более, что 2 x 25 Гб облачного хранения, как говорится, "на дороге не валяются". Тем более, что в текущем году Mail.Ru урезало новым пользователям облако до 16 Гб (а вначале давали 100 Гб).


Вернёмся к рассмотрению вопроса: как запустить клиент Облако@Mail.Ru с несколькими учётными записями, не настраивая его по новой при переключении аккаунта.

Как и в случаях с MEGA и Яндекс.Диском идея заключается в подмене настроек стартующего клиента на необходимые.

Настройки десктопного клиента Облако@Mail.Ru находятся в файле Mail.Ru_Cloud.conf, который расположен в каталоге Mail.Ru скрытого каталога .config Вашего домашнего каталога. Для отображения включите в своём файловом менеджере отображение скрытых файлов.

У меня уже был установлен настроенный клиент Облако@Mail.ru  При открытии его в текстовом редакторе мной было обращено внимание на первые строки, например:

[General]
email= user1@mail.ru
folder_bWFkZXN0YUBsaS5ydQ%3D%3D=/home/user/Clouds/Mail.Ru

Несмотря на то что у меня была настроена выборочная синхронизация, указаний на исключаемые каталоги в этом файле найдено не было. Поэтому возникло предположение, что данные сведения содержатся в скрытом файле базы данных SQLite3, который именован как .cloud и расположен в каталоге /home/user/Clouds/Mail.Ru

Закрываю клиент Облако@Mail.Ru, меняю в настройках путь с
/home/user/Clouds/Mail.Ru на /home/user/Clouds/Mail.Ru/user1 и делаю так, что синхронизируемые данные, включая скрытые файлы .cloud и .cloud_ss, оказываются во вновь созданном каталоге user1.

Осуществляю запуск клиента Облако@Mail.Ru и убеждаюсь в том, что работа моего клиента ни в малейшей степени не нарушена.

Определяю расположение файла конфигурации для клиента 1, из которого файл Mail.Ru_Cloud.conf будет скопирован в /home/user/.config/Mail.Ru  Пусть это будет каталог /home/user/Clouds/Mail.Ru/config/user1, для чего создаю каталог config и в нём создаю ещё один каталог user1.

Переношу Mail.Ru_Cloud.conf из /home/user/.config/Mail.Ru в определённое мной место.

Запускаю десктопный клиент Облако@Mail.Ru. Так как никакой конфигурации клиента не существует, то настраиваю клиент для соединения с облаком под учётной записью user2.

После завершения всех настроек клиента закрываю его и копирую конфигурацию клиента как это сделано для user1, т.е. в каталог
/home/user/Clouds/Mail.Ru/config/user2

Открываю редактор текста и создаю скрипты для запуска клиента с необходимыми настройками:

#!/bin/bash
rm  /home/user/.config/Mail.Ru/Mail.Ru_Cloud.conf
cp -R /home/user/Clouds/Mail.Ru/config/user1/Mail.Ru_Cloud.conf /home/user/.config/Mail.Ru
cloud
zenity --info --text "user1@mail.ru stopped" 2>/dev/null --timeout=5

Сохраните этот файл как файл sh и назначьте его исполняемым.


Пояснения.

rm  /home/user/.config/Mail.Ru/Mail.Ru_Cloud.conf – команда удаления текущего файла настроек клиента.

cp -R /home/user/Clouds/Mail.Ru/config/user1/Mail.Ru_Cloud.conf /home/user/.config/Mail.Ru – команда копирования файла настроек для запуска клиента для user1

cloud – старт дисктопного клиента Облако@Mail.Ru

zenity --info --text "user1@mail.ru stopped" 2>/dev/null --timeout=5 – отображение информационного сообщения с текстом user1@mail.ru stopped, которое будет отображаться в течение 5-ти секунд (timeout=5) и в дальнейшем автоматически исчезнет.

В кавычках можете написать свой сообщение по-русски. Чтобы окно информационного сообщения не расширялось сверх удобной для Вашего восприятия ширины по горизонтали, используйте символы переноса на новую строку \n, например: "Работа клиента Облако@Mail.Ru\nпод аккаунтом user1 завершена". Чтобы выбрать приемлемое для Вас место перехода на новую строку, двигайте расположение \n вправо или влево. Для проверки запускайте команду в окне терминала, например:

zenity --info --text "Работа клиента Облако@Mail.Ru\nпод аккаунтом user1 завершена" 2>/dev/null --timeout=5

Если вместо информационного сообщения по центру экрана Вы предпочитаете видеть вплывающие системные уведомления (оповещения), то вместо строки

zenity --info --text "Текст сообщения." 2>/dev/null --timeout=5

используйте строку  notify-send -i info "Текст сообщения."

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


sudo apt install libnotify-bin

Если Вы будете включать/выключать в настройках клиента функцию скриншотера, менять настройки прокси или местоположение данных для синхронизации, то в текст скрипта имеет смысл включить ещё 2 команды. Это может Вам помочь, если Вы вдруг забудете сохранить файл конфигурации в том месте, откуда он будет копироваться скриптом sh.

Команды представляют из себя удаление файла конфигурации для user1 и копирование файла конфигурации только что завершённого сеанса Облако@Mail.Ru под аккаунтом user1.

rm /home/user/Clouds/Mail.Ru/config/user1/Mail.Ru_Cloud.conf
cp /home/user/.config/Mail.Ru/Mail.Ru_Cloud.conf /home/user/Clouds/Mail.Ru/config/user1/

Соответственно, для аккаунта user2 скрипт имеет вид:

#!/bin/bash
rm  /home/user/.config/Mail.Ru/Mail.Ru_Cloud.conf
cp -R /home/user/Clouds/Mail.Ru/config/user2/Mail.Ru_Cloud.conf /home/user/.config/Mail.Ru
cloud
zenity --info --text "user2@mail.ru stopped" 2>/dev/null --timeout=5
# Эти команды не обязательны, но если Вам необходимо их выполнить, то раскомментируйте строки ниже (уберите значок #)
# rm /home/user/Clouds/Mail.Ru/config/user2/Mail.Ru_Cloud.conf
# cp /home/user/.config/Mail.Ru/Mail.Ru_Cloud.conf /home/user/Clouds/Mail.Ru/config/user2/

Интерпретация предложенного состоит в "обмане" операционной системы, так как она будет полагать, что работает с одним и тем же аккаунтом Облако@Mail.ru


Комментариев нет:

Отправить комментарий