Загальна задача, в цілому, проста: потрібно запустити корпоративний чат, але щоб усі користувачі користувались ним в термінальних сесіях. Фізично вони працюють на одному Windows-сервері.
Автору цієї статті довелось побачити багато збочень на кшталт запуску Skype в користувацьких сесіях чи спроби працювати з OpenFire і його занадто вибагливий в плані використання пам'яті XMPP клієнтом Spark. Або безсерверні варіанти типу Vypress, які не можуть працювати коректно в терміналках в принципі.
Тому, поговоримо про чотири важливі вимоги для роботи чату в термінальному середовищі:
- Просте встановлення
- Мінімальна витрата оперативної пам'яті
- Клієнти чату не повинні заважати один одному
- Просте оновлення
В статті буде йти мова про останню версію чата MyChat 7.0 від 7 червня 2018 року.
1. Просте встановлення
Сервер MyChat встановлюэться стандартно, без будь-яких хитрощів. Можна запустити його як звичайну програму, або як службу. Можна ставити на термінальний сервер, можна на будь-який інший комп'ютер або віртуальну машину — не принципово.
Далі, запускаємо на термінальному сервері інсталятор MyChat Client. На етапі установки, коли він спитає, в яку папку варто ставити програму, виберіть "Program Files":
Що ж, програму встановлено, тепер потрібно якось без проблем зареєструвати користувачів і дати їм доступ до сервера чату.
Скоріше всього це можна зробити додавши в автозавантаження усім користувачам термінального серверу рядок типу:
"C:\Program Files (x86)\MyChat Client\mcclient.exe" /auto -server "192.168.1.50" -randompassword
Таким чином, ми одразу прописуємо усім користувачам адресу сервера і автоматично реєструємо їх на MyChat Server-і під ім'ям Windows-користувача і випадково згенерованим паролем. Програма MyChat буде автоматично підключатись до сервера одразу після входу в термінальну сесію, нічого не треба буде вводити додатково.
2. Мінімальна витрата оперативної пам'яті
MyChat Client під Windows — це класична win32 програма, котра не потребує.NET, тому вона добре працює навіть на застарілих операційних системах типу Windows XP, котрі все ще використовуються у великих кількостях у більшості міст.
Оскільки кількість фізичної пам'яті на термінальному сервері обмежено, адміністратор повинен приблизно знати, які програми будуть працювати у користувачів, щоб розрахувати кількість оперативної пам'яті на кожну людину.
Корпоративний чат — не сама важлива програма, є ще 1С, офісні програми і багато чого додатково. Однак чат буде працювати весь час, на фоні. Тому кількість споживання пам'яті має бути мінімальною.
На скріншоті показано типову ситуацію звичайного Windows-користувача на Windows 8:
58 мегабайт — вельми терпимо у порівнянні зі Skype, Viber і схожими на них інтернет-месенджерами. Не забуваємо, що MyChat — це офісний месенджер, котрий може працювати навіть без Інтернету, лише у вашій мережі.
3. Клієнти чату не повинні заважати один одному
Щоб користувачі могли передавати документи всередині термінального сервера, потрібно налаштувати систему передачі файлів за умовчанням. Це легко зробити в адмінці сервера, щоб не займатись налаштуванням індивідуально, для кожного користувача.
Заходимо в амінку, розділ "Інструменти", "Шаблони налаштувань клієнтів", і робимо новий шаблон:
А потім призначаємо цей шаблон "terminal-files" тій групі прав, куди ви розміщуєте усіх зареєстрованих користувачів. У мене це "Guests":
Тепер усі існуючі і майбутні користувачі будуть отримувати правильні налаштування для роботи в терміналках. В принципі, можна додати в шаблон ще щось при необхідності, це вже справа смаку, адже інструмент дуже гнучкий.
4. Просте оновлення
Оновлення на нову версію відбувається в два етапи: спочатку вимикаємо сервер MyChat, оновлюємо його поверху, а потім оновлюємо єдиний MyChat Client на сервері, також поверху. Вся історія і налаштування зберігаються. Оновлювати можна, пропускаючи версії, наприклад, з 5.0 одразу на 7.0, минаючи всі проміжні версії.
Але є одна проблема. Як перед оновленням вивантажити всі користувацькі копії програми MyChat Client, якщо це, наприклад, обідня перерва, не завершуючи їхні користувацькі сесії в терміналі?
Для цього є гарне рішення, спеціальний скрипт для вимушеного відключення і завершення роботи всіх клієнтських програм. Його слід виконувати перед оновленням сервера MyChat.
Офіційна довідка щодо оновлення месенджера MyChat на термінальному сервері.