Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Работа сервера Х-терминалов напрямую зависит от используемого программного обеспечения. Поэтому очень важно правильно подобрать набор используемых прикладных программ. В выборе программного обеспечения системный администратор должен, в первую очередь, руководствоваться интересами удобства работы пользователей, а уже потом прилагать все усилия для обеспечения его правильной настройки. Это означает, что хорош тот программный продукт, который устраивает пользователя, даже если обслуживание его сложнее для системного администратора. В конце концов, компьютеры должны работать для нас, а не мы для них.
Также следует помнить, что хотя у пользователей операционной системы Linux и ограничены возможности установки программного обеспечения, при небольших модификациях они могут самостоятельно поставить программу в свой домашний каталог и пользоваться ею без разрешения системного администратора. Для Х-терминальной сети, наверное, самой страшной будет ситуация, когда неправильно работающая программа будет нерационально потреблять ограниченные системные ресурсы, особенно такие как память. После того, как исчерпается оперативная память, сервер будет вынужден обращаться к файлу подкачки, а это довольно медленная операция, которая негативно отразится на производительности труда всех пользователей Х-терминалов. Если страничный обмен в виртуальной памяти затянется надолго, то Х-терминалы будут работать в дискретном режиме, то есть рывками: отобразил часть экрана, пауза, нарисовал окошко, пауза и т.д. Понятно, что такая ситуация мало кого из пользователей устроит. Выхода два: нарастить объем оперативной памяти или обеспечить механизм отслеживания "прожорливых" к памяти программ и принудительно завершать их. Субъективно могу заметить, что механизм виртуальной памяти в операционной системе Linux реализован не очень удачно. При обращении к разделу подкачки производительность системы очень сильно снижается. Следовательно, необходимо постоянно следить, чтобы размер используемой части файла подкачки не приближался к его общему размеру. Для этих целей можно воспользоваться утилитой free. Приведу пример ее вывода на реальном сервере X-терминалов:
$ free -m -t
total used free shared buffers cached
Mem: 1005 983 22 0 191 408
-/+ buffers/cache: 383 622
Swap: 2000 72 1927
Total: 3006 1056 1949
Как видно из приведенного выше фрагмента, из 1 Гбайта оперативной памяти использовано 983 Мбайта, что составляет почти 96%. В то же время из файла подкачки почти в 2 Гбайта использовано только 72 Мбайта, или всего 3,6 %. Для того, чтобы файл подкачки не увеличивался очень быстро, необходимо следить за процессами, занимающими в памяти наибольший объем. Сделать это можно при помощи команды:
$ ps ax -o "user pid vsize comm" --sort vsize | tail
gdm 20077 33520 gdmgreeter
mikola 18185 78484 evolution-mail
mikola 18243 82792 galeon-bin
root 19953 85952 X
disp 17924 95272 galeon-bin
sasha 18604 108592 galeon-bin
sasha 16356 156932 soffice.bin
mikola 20169 168356 soffice.bin
ira 16192 179028 soffice.bin
ula 16964 193592 soffice.bin
Как видите, мы получили десятку самых требовательных к памяти процессов. Ни один из них даже не использует 200 Мбайт оперативной памяти. Вполне реально написать сценарий слежения за такими процессами и при достижении определенного порога (например, 500 Мбайт) используемой памяти прекращать их выполнение.
При выборе программного обеспечения для Х-терминала необходимо сначала изучить его работу, в первую очередь обращая внимание на стабильность. Затем следует измерить требования к оперативной памяти. Если окажется, что памяти потребляется слишком много, то можно попытаться уменьшить этот показатель путем редактирования файлов конфигурации этого программного продукта. Хорошим примером может послужить оптимизация офисного пакета OpenOffice, что уже была описана в главе "Настройка терминалов".
К сожалению, очень сложно оценить требования программного обеспечения к пропускной способности локальной сети. Так, некоторые программы более чувствительны к этому фактору, а некоторые менее. Как правило, чем проще интерфейс программного продукта, тем лучше он работает на Х-терминале. Особенно это касается программ с элементами анимации в интерфейсе, например, мигающими кнопками или подвижными иконками. Если настройки программы позволяют отключить эти эффекты, то это настоятельно рекомендуется сделать, так как тем самым вы значительно улучшите работу пользователей Х-терминалов.
Также необходимо проверить работу программы в многозадачном режиме. В принципе, в операционной системе Linux я не встречал программы, которая бы не могла работать одновременно от имени нескольких пользователей, но определенные нюансы имеются. Представим ситуацию, когда один и тот же пользователь вошел в систему с двух различных Х-терминалов. Как поведет себя программа в этом случае? Однозначный ответ на этот вопрос дать не получится. Например, если пользователь запустит на одном Х-терминале OpenOffice, а потом попробует на другом открыть документ, то окно с документом отобразится на первом Х-терминале. Иногда запущенная на одном Х-терминале программа повторно попросту не открывается на другом. В общем, больших проблем с многозадачностью у Х-терминалов нет, но проверить еще раз не мешает.
Для того, чтобы оценить качество выбранного программного обеспечения, которое будет работать на Х-терминалах, необходимо изучить ситуацию с загрузкой локальной сети и распределением процессорного времени. Опираясь на эти данные, можно утверждать о эффективности выбора того или иного программного продукта.