среда, 16 января 2013 г.

Устанавливаем IM-клиент Pidgin для всех пользователей сети

Понадобилось установить всем в рабочей сети какой-нибудь IM-клиент, в основном для ICQ, иногда - для других систем обмена сообщениями. Выбор пал на проверенное решение - Pidgin - удобный, надежный, кроссплатформенный, как угодно настраивается,  к тому же еще и бесплатный.



Итак, имеем сеть с доменом Active Directory, около 80-ти пользователей. У каждого пользователя папка вида \\server\%username%  подключена как сетевой диск p:\. Задача: поставить всем IM-клиента, причем, так как пользователи очень любят периодически пересаживаться, то профиль Pidgin должен оставаться всегда один и тот же. 

Сложного в задаче ничего нет, потому как Pidgin хранит исполняемую часть в %ProgramFiles%\Pidgin, а профиль, т.е. данные пользователя - в папке %APPDATA%\.purple

Итак, приступаем. Для начала скачаваем оффлайновый установщик Pidgin со страницы загрузки официального сайта - проще будет в установке - т.к. используется GTK+ интерфейс, то при установке из оффлайнового установщика все станет в одну папку - и Pidgin, и GTK+. После скачивания устанавливаем на тестовом компьютере Pidgin обычным образом в %ProgramFiles%\Pidgin. После установки запускаем Pidgin, вводим, например, свою учетную запись ICQ, пароль не запоминаем, проверяем - все ли работает, доустанавливаем необходимые плагины (модули в русской локализации). У меня установлено следующее: 
  • Autohide - скрывает список контактов после некоторого времени неактивности;
  • History - история общения;
  • Timestamps - устанавливает отметки времени в чате - очень удобно
Для пользователей в сети поставил еще и кнопку отправки - а то будет куча вопросов - "А как сообщение отправить?

После проведенных настроек закрываем Pidgin, получаем настроенный профиль пользователя \.purple. Чтобы удалить информацию о своей учетной записи, которая использовалась для теста - удаляем файл \.purple\accounts.xml - он будет создан при создании учетных записей пользователями - они самостоятельно введут свои учетные данные.

После всех манипуляций осталось немного - указать, где мы храним профиль пользователя, и то, что мы хотим русский интерфейс - как-то пользователи в сети его предпочитают, у меня традиционно установлен оригинальный английский. Это совсем несложно сделать - для русского языка создаем системную переменную PIDGINLANG=Ru, для указания расположения профиля пользователя - системную переменную PURPLEHOME=p:Internet\pidgin (путь к папку \.purple). Чтобы эти переменные были постоянными и для всех пользователей - проще всего их создать ключом реестра:

-----------------------------------------
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"PIDGINLANG"="Ru"
"PURPLEHOME"="p:\\Internet\\pidgin"
-----------------------------------------

Теперь копируем папки %ProgramFiles%\Pidgin и %APPDATA%\.purple например, в \\server\userinst$\pidgin, туда же - ключ реестра и ярлык для запуска (в нем можно написать в свойствах понятный комментарий - что это за Pidgin такой и зачем он нужен.). Остальную работу делает следующий .bat файл - добавляем его в логон-скрипт:

-----------------------------------------

rem Check existing installation, install if not installed

if not exist "%ALLUSERSPROFILE%\pidgin.flg" (

    xcopy /s /y /i /r /h "\\server\userinst$\pidgin\pidgin\*.*" "%ProgramFiles%\pidgin"
   
    rem Set PIDGINLANG=Ru and PURPLEHOME="p:\Internet\pidgin"
   
    regedit /s "\\server\userinst$\pidgin\pidgin_settings.reg"
   
    copy /y "\\server\userinst$\pidgin\pidgin.flg" "%ALLUSERSPROFILE%\pidgin.flg" (
   
)

rem set Pidgin profile

if not exist "p:Internet\pidgin" (

    xcopy /s /y /i /r /h "\\server\userinst$\pidgin\.purple\*.*" "p:\Internet\pidgin\.purple"
   
)

rem Copy desktop shortcut
if not exist "%ALLUSERSPROFILE%\Desktop\ICQ Pidgin.lnk" copy /y "\\server\userinst$\pidgin\ICQ Pidgin.lnk" "%ALLUSERSPROFILE%\Desktop\ICQ Pidgin.lnk"

-----------------------------------------

В итоге все пользователи получили удобный настроенный IM-клиент, при этом могут как угодно пересаживаться с места на место - если всегда заходят со своими логином-паролем - настройки Pidgin, и история сообщений остаются постоянными, что и требовалось.