Вход/Регистрация
Linux-сервер своими руками
вернуться

Колисниченко Денис Николаевич

Шрифт:

X:123456:respawn:/usr/bin/X11/X

на строку:

X:123456:respawn:/usr/bin/X11/X –query 192.168.0.1

Данная команда (X –query 192.168.0.1) обеспечивает загрузку системы X по умолчанию (уровень выполнения 5) и при этом будет использоваться сервер X с IP-адресом 192.168.0.1. Не сложно догадаться, что компьютер с таким адресом — это и есть ваш сервер. Настройку сервера терминалов выполните так, как описано в гл. 20. При этом на сервере и клиенте желательно установить одну и ту же версию системы X Window.

Если на всех компьютерах установлено одно и то же оборудование, а в большинстве случаев это так, поступите таким образом: настройте систему X Window только на сервере, а затем обеспечьте доступ по NFS клиентам к файлам системы X Window. В этом случае на компьютере клиента вообще не нужно устанавливать систему X Window, а запускать ее непосредственно с сервера по сети, используя NFS. Настройка сетевой файловой системы (NFS) обсуждалась в гл. 8. Я рекомендую использовать именно второй способ. Запуск игр тоже можно осуществлять по сети, предварительно расположив их в каталоге, доступному по NFS. Естественно, для запуска и нормальной работы игр по сети нужна сеть, обеспечивающая скорость передачи данных 100 Мбит/с. Концентраторы (hub) в данной сети лучше заменить коммутаторами (switch).

Теперь перейдем к написанию самой программы. Данную программу мы напишем, используя «подручные» средства: стандартные программы Linux и командный язык интерпретатора shell. Во-первых, командный язык интерпретатора bash уже рассмотрен в этой книге. Во-вторых, если написать эту программу на С или Pascal, то читатель должен владеть данным языком программирования, что усложнит чтение книги.

Просмотреть всех зарегистрированных в системе пользователей можно с помощью команды w (рис. 21.13).

Рис. 21.13. Команда w

С помощью данной команды можно выяснить, сколько времени работает пользователь, использование процессора пользователем, какая программа выполняется в данный момент, а также общую загрузку системы (load average). Кроме другой полезной информации, команда w сообщает нам с какой машины произошла регистрация пользователя в нашей системе. Будем рассматривать случай, когда имя пользователя будет совпадать с именем машины, что впоследствии значительно упростит вам администрирование залом.

Вывести все процессы, которые принадлежат пользователю, можно с помощью команды:

ps --user username

На рис. 21.14. показаны процессы, принадлежащие пользователю root.

Рис. 21.14. Процессы, принадлежащие пользователю root

Теперь рассмотрим исходный текст этой программы.

Листинг 21.2. Программа newclient

#!/bin/bash

# Управление игровым залом — добавление нового клиента

# Распространяется по лицензии GPL

# (с) 2002 Denis Kolisnichenko, dhsilabs@mail.ru

# Шрифт для отображения сообщения

FONT="-cronyx-fixed-*-*-*-*-*-*-*-*-*-*-koi8-r"

# Размеры окна

GM="700x70"

# Сообщение

MSG="Ваше время вышло. В течение 5 минут вы можете оплатить дополнительное время"

if [ $# –It 4 ] ; then

 { echo "Usage: newclient warntime time user num";

 exit 1;

 }

fi;

# Спим

sleep $1

# Отображаем предупреждение, поскольку время warntime вышло

xmessage –display server:$4 –fn $FONT –geometry $GM –bg black –fg green $MSG

sleep $2

P=`ps -–user $3 | grep –i gnome-session | /bin/awk –F " " '{ print $1 }' `

echo $P

# Убиваем сессию пользователя

kill –9 $P

echo "Time of user $3 is out"

Запуск программы:

newclient 3540 3600 game1 1

newclient 55m 60m game2 2

newclient 55m 1h game3 3

newclient 23h 1d game4 4

При запуске программы нужно указать четыре параметра. Первый из них — это время, через которое будет отображено сообщение. Сообщение можно изменить по своему вкусу, отредактировав значение переменной MSG (также, как и другие переменные). Следующий параметр — это время, по истечению которого пользователь будет «отрублен» от системы. Время можно указывать в секундах, в минутах (суффикс т), часах (суффикс h), днях (суффикс d).

  • Читать дальше
  • 1
  • ...
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: