XDMCP клиенты

Опубликовано ivul - пн, 02.03.2009 - 16:27

Бывают случаи, когда нет возможности поставить современный компьютер, а организовать еще одно рабочее место необходимо.
Используя XDMCP – X Display Manager Control Protocol – можно подключить один (слабый, устаревший) компьютер к другому «прозрачно» и использовать рабочий стол с другого компьютера, так, как если бы Вы на нём и работали.

Как настроить XDMCP-сервер - статей много. Вот одна из них: LXF83:XDMCP за 10 минут. Я же хочу описать, с помощью каких клиентских программ можно подключиться к другому компьютеру по XDMCP.

О XDMCP-сервере коротко.

  • Я использую Ubuntu Linux. Версия на момент написания статьи - 8.04.
  • Менеджер входа в систему на всех компьютерах - GDM.
    Чтобы разрешить подключение к компьютеру по XDMCP, надо добавить в файл /etc/gdm/gdm.conf-custom следующие параметры:

    ...
    [xdmcp]
    Enable=true
    ...
    [daemon]
    RemoteGreeter=/usr/lib/gdm/gdmlogin
    ...

  • Если надо скрыть список пользователей, в файле /etc/gdm/gdm-cdd.conf в разделе [greeter] установить параметр Browser=false (по-умолчанию, Browser=true, т.е. список пользователей виден).

На клиентской станции должен быть установлен пакет xnest.

XDMCP-клиенты.

  • Xnest.

    Запускаем приложение:

    $ gdmflexiserver --xnest

    Изображение удалено.

    Открываем меню "Параметры"(Options)
    Изображение удалено.

    Выбираем пункт "Удаленный вход с использованием XDMCP"(Remote Login via XDMCP)
    Изображение удалено.

    Выбираем удаленный компьютер и жмем "Подключиться"(Connect)

    Источник: http://www.ideaglu.net/?p=682

  • Автоматическое подключение.

    Действия, описанные в первом варианте, можно проделать в окне входа в систему, которое появляется сразу после загрузки системы, не выполняя вход на локальной рабочей станции.

    Но, если XDMCP-сервер один или же станция должна подключаться тольлко к одному серверу, этот процесс можно автоматизировать.
    Для этого на клиентской станции создаем файл /etc/init.d/xdmcp

     

     

    #! /bin/sh
    # Launchs XDMCP

     

    set -e

    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    PIDFILE=/var/run/xdmcp.pid
    XDMCPSERVER=Имя_или_IP_сервера

    . /lib/lsb/init-functions

    case "$1" in
    start)
    if pidof usplash > /dev/null; then
    /etc/init.d/usplash start
    fi
    log_begin_msg "Starting XDMCP..."
    start-stop-daemon --start --quiet --pidfile $PIDFILE --name xdmcp --exec /usr/bin/X -- -query $XDMCPSERVER > /dev/null || log_end_msg 1
    log_end_msg 0
    ;;
    stop)
    log_begin_msg "Stopping XDMCP..."
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --name xdmcp /usr/bin/X -- query $XDMCPSERVER --retry 30
    log_end_msg 0
    ;;
    restart)
    $0 stop || true
    $0 start
    ;;
    *)
    log_success_msg "Usage: /etc/init.d/xdmcp {start|stop|restart}"
    exit 1
    ;;
    esac

    exit 0

    Даем ему права на выполнение:

    $ sudo chmod +x /etc/init.d/xdmcp

    Далее убираем запуск менеджера gdm и добавляем запуск скрипта xdmcp:

     

    $ sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm

    $ sudo ln -s /etc/init.d/xdmcp /etc/rc.2/S99xdmcp

    Теперь, после перезагрузки компьютера, сразу откроется окно входа XDMCP-сервера.

  • Tsclient.

    Tsclient - это программа GNOME для удалённого доступа к терминальным службам Microsoft Windows NT/2000 и XP по протоколу RDP (Remote Desktop Protocol). Используя для подключения программу rdesktop, tsclient позволяет пользователям работать на удалённых компьютерах работающими под управлением Windows NT/2000/XP.
    Tsclient так же поддерживает: VNC (vncviewer), Citrix ICA, X via Xnest.

    Если tsclient не установлен, ставим его:

    $ sudo apt-get install tsclient

    Запускаем из меню "Приложения" -> "Интернет" -> "Клиент Терминального сервера"
    Изображение удалено.

     

  • HP Connection Admininstrator

    Эту "зверушку" я увидел на тонких клиентах от HP, на которых используется Debian Linux. Именно HP Connection Admininstrator я ставлю на старые ПК, которые используются как терминальные станции.
    Репозитарий инструментов тонких клиентов: ftp://ftp.hp.com/pub/tcdebian/

    Для установки HP Connection Admininstrator добавим репозитарий в список источников, например, так:

    $ echo "deb ftp://ftp.hp.com/pub/tcdebian/ t5735 main non-free" >> /etc/apt/sources.list.d/tcdebian.list

    Далее

    $ apt-get update
    $ apt-get install hptc-cman

    Запуск из меню "Приложения" -> "Интернет" -> "HP Connection Admininstrator" или командой cman.

    Простому пользователю настройки не доступны. По-этому запускаем cman с правами root-а.
    Изображение удалено.
    Нажимаем Add (Добавить) и выбираем протокол. Кроме XDM можно выбрать Citrix ICA, Firefox или rdesktop.
    Изображение удалено.
    Жмем Ок. Откроется окно с настройками подключения. При необходимости, настройки подключения (кроме имени подключения) можно будет изменить. Query Mode: Direct - прямое подключение к XDM-серверу, указанному в Hostname. В этом случае, если станция не сможет установить соединение, список других XDM-серверов выводиться не будет.
    Изображение удалено.
    После сохранения (Save) новое подключение появится в списке.
    Изображение удалено.
    Но ни один пользователь (кроме root-а) этого подключения в своем списке не увидит.
    Жмем Advanced.
    Изображение удалено.
    В выпадающем списке пользователей User Connections выбираем пользователя, которому необходимо разрешить подключение.
    Изображение удалено.
    Сохраняем настройки и выходим.
    Теперь, когда пользователь запустит HP Connection Admininstrator, он сможет подключиться к серверу из списка, нажав Connect.
    Изображение удалено.
    HP Connection Admininstrator запускает еще один X-сервер. Чтобы у пользователя была возможность запустить второй X-сервер, надо на станции в файле /etc/X11/Xwrapper.config заменить строку

    allowed_users=console

    на

    allowed_users=anybody