суббота, 18 октября 2014 г.

RDP-клиент на базе Lubuntu 12.04 linux

Чтобы самому не забыть, и вдруг кому пригодится - почти пошаговая инструкция по установке и настройке RDP-клиента на Lubuntu 12.04 linux.

Небольшая вводная.
У нас в организации в некоторых местах используются компьютеры, которые работают исключительно как терминальные клиенты. То есть подключаются по локальной сети к основному серверу по протоколу RDP, и вся работа выполняется уже на сервере, а на компьютере только картинка отображается. Поэтому в качестве клиента можно ставить не самые шустрые компьютеры. И, как выяснилось, не обязательно ставить на эти компьютеры Windows. Можно и Linux. Правда, специализированный вариант, суперлёгкий, в котором нет ничего лишнего, а только подключение к серверу по RDP, называемый Thinstation, я не осилил, к сожалению. Поэтому время от времени ковыряюсь с обычными Linux-дистрибутивами. На днях осваивал Lubuntu 12.04 - он не такой требовательный к ресурсам, как обычная Ubuntu, так что вполне может заменить Windows XP на не новых Celeron-ах с 512 МБ памяти.

Итак, поехали.




Описывать установку ОС я не буду, она проста до безобразия. Для простоты условимся, что пользователь будет называться "terminal", пароль "password". IP-адрес сервера 192.168.0.1, адрес нашего компьютера 192.168.0.2.

После установки ОС нужно установить несколько дополнительных программ. Как минимум, одну, rdesktop, но ещё парочка не помешает, они добавят удобства.

Открываем терминал и по очереди выполняем команды:
  • sudo apt-get install rdesktop
  • sudo apt-get install remmina
  • sudo apt-get install mc
  • sudo apt-get install x11vnc
Что это такое:
  • rdesktop - RDP-клиент, как раз он и будет использоваться для подключения к серверу
  • remmina - графическая оболочка для настройки подключения. Можно обойтись и без неё.
  • mc - консольный файловый менеджер Midnight Commander. Без него будет сложнее перемещаться по файловой системе и править конфиги.
  • x11vnc - VNC-сервер для удалённого управления компьютером. Просто полезная вещь, чтобы, не отрывая жопы от кресла, подключиться к компьютеру в другом здании и немножко им порулить.

После установки Remmina можно найти в главном меню, которое вызывается щелчком мыши по кнопке в левом нижнем углу экрана. Почему-то находится в разделе "Интернет". Впрочем, а почему нет? Если щёлкнуть правой кнопкой мышки по строчке меню, то можно выбрать пункт "Добавить на Рабочий стол", чтобы каждый раз не искать:


Настройки соединения в Remmina выглядят примерно так:


Но мне интереснее настроить автоматическое подключение к серверу, чтобы при включении компьютера мы сразу попадали в терминальную сессию.

Для этого:
  1. Открываем терминал и на всякий случай проверяем текущий каталог командой pwd. По умолчанию мы должны оказаться в своём домашнем каталоге, но можно проверить, что путь действительно: /home/terminal (если вы, конечно, назвали пользователя terminal).
  2. Для удобства создадим каталог scripts: mkdir scripts.
  3. Перейти в каталог scripts: cd scripts.
  4. И создать там новый файл: touch ./connect.sh
  5. Открыть созданный файл любимым редактором, у меня это будет mcedit: mcedit ./connect.sh
  6. В открывшемся редакторе написать:
    #! /bin/bash

    # ping -c 10 127.0.0.1

    rdesktop -u username -p password -f -k en-us 192.168.0.1


    где:
    1. ping -c 10 127.0.0.1 - может использоваться для создания задержки перед стартом терминальной сессии (пока закомментировано);
    2. -u username - имя пользователя терминала;
    3. -p password - пароль пользователя терминала;
    4. -f - разворачивать окно терминальной сессии на весь экран;
    5. -k en-us - использовать английскую (США) раскладку клаавиатуры;
    6. 192.168.0.1 - адрес сервера.
    Нажать F10 для выхода и на запрос сохранения файла согласиться.
  7. Сделать получившийся скрипт исполняемым: chmod 755 ./connect.sh
  8. Добавить скрипт в автозапуск LXDE: sudo mcedit /etc/xdg/lxsession/LXDE/autostart (Если вдруг каталог LXDE отсутствует, то ищем файл /etc/xdg/lxsession/Lubuntu/autostart)
    В открывшемся файле добавить строчку:
    @/home/terminal/scripts/connect.sh
    Способ подсмотрен здесь: http://arch-desktop.blogspot.ru/2009/12/lxde.html
Теперь при каждой загрузке будет автоматически стартовать rdesktop и подключаться к выбранному серверу. Осталось поместить на Рабочий стол ярлык для запуска этого же скрипта, а то мало ли - соединение разорвалось, не перезагружать же компьютер, чтобы оно заново установилось. Здесь всё просто - щёлкаем на Рабочем столе правой кнопкой мышки, выбираем "Создать новый Shortcut" и заполняем поля в открывшемся окне: Название, путь к скрипту, отображаемый значок. Затем щёлкаем "ОК" и всё. На Рабочем столе ничего не появилось. Не стоит отчаиваться! Запускаем Midnight Commander и ищем в своём домашнем каталоге файл с названием "Рабочий". Содержимое его выглядит как-то так:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=111
Name[ru]=111
Exec=/bin/sh
Comment[ru]=
Этот файл нужно переместить в каталог "Рабочий стол", попутно изменив имя на что-нибудь вроде "Connect.desktop" - главное, что ".desktop"должно присутствовать в имени обязательно. Напоследок настроим автоматический запуск VCN-сервера x11vnc. Для этого:
  1. Создать файл конфигурации: sudo mcedit /etc/init/x11vnc.conf
  2. Вписать в него следующие строки:

    start on login-session-start

    script

    /usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -auth /var/run/lightdm/root/:0 -display :0 -passwd "MyPasswd" -forever -bg -o /var/log/x11vnc.log

    end script


    Не забудьте заменить "MyPasswd" своим собственным паролем (без кавычек, разумеется)
  3. Поскольку скрипт содержит пароль в открытом виде, то необходимо поменять права доступа к файлу, так по умолчанию права выставлены 644, что позволяет читать файл любому пользователю. Чтобы прекратить это безобразие, нужно выполнить следующие команды:
    sudo chown root:root /etc/init/x11vnc.conf
    sudo chmod 600 /etc/init/x11vnc.conf

    Теперь владелец файла пользователь root, и только у него есть доступ на чтение этого файла.
  4. Осталось перезагрузить компьютер: sudo reboot
Источник: http://www.digitaldrugs.co.uk/wordpress/?p=151

Комментариев нет :

Отправить комментарий