Настройка терминального сервера XRDP для сервера Ubuntu 14.04.2 LTS

Инструкция по настройке удаленного терминального сервера по протоколу SSH. Если у вас имеется физический доступ к серверу и настройка терминального сервера выполняется непосредственно на нем, то пункты, отмеченные "звездочкой" выпонять не требуется.

*Включаем сервер удаленно.
wakeonlan 192.168.100.55 00:0b:6a:06:dc:32

*Подключаемся к серверу по SSH.
ssh 192.168.100.55

Запускаем root.
sudo su

Перезачитываем заголовки пакетов и обновляем действующие пакеты.
apt-get update && apt-get upgrade

Перезагружаемся.
reboot

*Подключаемся к серверу по SSH.
ssh 192.168.100.55

Запускаем root.
sudo su

Устанавливаем Midnight Commander.
apt-get install mc

Устанавливаем программу для работы с репозиториями GitHub.
apt-get install git

Устанавливаем графическую оболочку LXDE (http://lxde.org/).
apt-get install lxde

Настраиваем LXDE на автоматический вход в вистему. Для чего запускаем mc. Правим файл (F4) "/etc/lxdm/lxdm.conf" параметр "autologin".
autologin=имя_пользователя_для_входа

Перезагружаемся.
reboot

*Подключаемся к серверу по SSH.
ssh 192.168.100.55

Запускаем root.
sudo su

Скачиваем исходники XRDP из репозитория GitHub (актуальный адрес репозитория можно узнать на сайте http://scarygliders.net/). Исходники скачиваются в домашний каталог в папку "X11RDP-o-Matic".
git clone https://github.com/scarygliders/X11RDP-o-Matic.git

Запускаем процесс установки XRDP. Длится он ну очень долго. Впрочем, все зависит от скорости соединения с интернет и мощности компютера (Athlon XP 1700+, 300kБ/с примерно 2,5 часа).
cd X11RDP-o-Matic
./X11rdp-o-matic.sh –justdoit

Помимо, собственно, установки XRDP, в папке "/X11RDP-o-Matic/packages/" будут сформированы *.deb пакеты, которые могут пригодится в будущем, для установки XRDP без предварительной компиляции.

Запускаем скрипт, который создаст настройку (файл *.xsession) для запуска рабочего стола (в наем случае LXDE) при подключении пользователей.
./RDPsesconfig.sh

Можно перезапустить XRDP, для того что бы проверить установку.
/etc/init.d/xrdp restart

Перезагружаемся.
reboot

*Подключаемся к серверу по SSH.
ssh 192.168.100.55

Запускаем root.
sudo su

Создаем настройки по умолчанию для новых пользователей: скопируем папки ".config" и "Desktop" в папку "/etc/skel/" через mc или воспользовавшись командами:
cp -R -f -b .config/ /etc/skel/
cp -R -f -b Desktop/ /etc/skel/

Создадим пользователей терминальных сессий.
adduser user1
adduser user2
adduser userX

Переходим к настройке терминального клиента FreeRDP.



Зарядное устройства VERTER для автомобильного аккумулятора

Примечание:
Эксплуатация прототипа зарядного устройства VERTER дала возможность довести конструкцию девайса до логического завершения, а использование современных комплектующих и оптимизация схемы - все это позволило разместить устройство в более компактном корпусе при этом даже нарастить функциональность.

Зарядное устройство предназначено для автоматической зарядки свинцово-кислотных автомобильных аккумуляторов постоянным током (ток заряда устанавливается на этапе сборки устройства и может составлять от 1 до 6А). Устройство реализовывает такие функции как заряд, разряд, тренировка, десульфация и расчет емкости аккумулятора. Предусмотрено подключение к ПК для снятия зарядных кривых. Реализует в себе алгоритмы заряда аккумуляторов, изложенные в статье "Заряд кислотных аккумуляторов". Инструкция по эксплуатации и подробное описание работы устройства см. тут.

Схема устройства приведена ниже:


VERTER. Схема зарядного устройства.

Печатная плата разработана в программе Sprint-Layout версии 5.0 и изготовлена по технологии ЛУт:


VERTER. Разработка печатной платы зарядного устройства.

Все основные блоки (диодный мост, фильтрующий электролитический конденсатор, мощный транзистор, схема управления) размещены на основании из текстолита без медного покрытия. Крепление к основанию выполнено с помощью медной проволоки и силикона. Для удобства последующего монтажа все соединительные провода промаркированы.


VERTER. Зарядное устройство в процессе сборки.

В качестве корпуса использовался обрезанный задний кожух от ЭЛТ-монитора, в котором на "лицевой" стенке были прорезаны отверстия для закрепления элементов управления. Для улучшения охлаждения (кроме размещения диодного моста и мощного транзистора на радиаторах) было принято решение дополнительно использовать два вентилятора от компьютерных блоков питания.


VERTER. Зарядное устройство.

Фото готового зарядного устройства VERTER:


VERTER. Зарядное устройство в сборе.

А так выглядит зарядное устройство в процессе эксплуатации:


VERTER. Зарядное устройство в процессе эксплуатации.

Программирование выполняется в следующей последовательности: подключить программатор к разъему версии 4, установить режим программирования на пониженной частоте, если необходимо, скорректировать fuseprog.bat и progprog.bat, указав свой программатор, запустить вначале fuseprog.bat, а затем progprog.bat

Скачать схему зарядного устройства, печатную плату в формате Sprint-Layout, HEX и EEP файлы для прошивки микроконтроллера, программу avrdude для программирования контроллера.

С другими вариантами реализации можно ознакомиться на этой странице.


PCDUINO. Программирование на C++ или Python

Примеры программ для PCDuino, разработанные на C++ или Python можно найти на этой странице: https://learn.sparkfun.com/tutorials/programming-the-pcduino/introduction.

AVRDUDESHELL. Запуск программы по ОС Linux (wine)

Для запуска программы AVRDUDESHELL (начиная с версии 01.09.2015) под управлением ОС Linux (wine) необходимо выполнить следующие действия:

1. Включить учетную запись root:
sudo su

2. Установить wine:
apt-get install wine

3. Установить утилиту avrdude:
apt-get install avrdude

4. Найти физическое размещение файлов утилиты avrdude, воспользовавшись командой whereis avrdude:

5. Дать разрешение на доступ к утилите avrdude:
chmod +s /usr/bin/avrdude

6. Скачать последнюю версию программы AVRDUDESHELL.

7. Распаковать архив программы AVRDUDESHELL в папку диска "c:\" программы wine, например в: "/.wine/drive_c/Application/AVRDUDESHELL/". Там же создать папку для размещения симлинков на программу avrdude, например avrdudelinux. Структура папок должна получится примерно следующей:

8. В папке avrdudelinux создать симлинки на файлы avrdude и avrdude.conf.

9. Запустить программу AVRDUDESHELL:

в параметрах программы на вкладке "Файлы и папки" назначить "Папку утилиты AVRDUDE для программирования чипов" - в нашем случае это папка avrdudelinux (см. п. 7).

Попробовать прочитать фьюзы:

Записать фьюзы:

Прочитать EEPROM и дизассемблировать:

10. Для удобства запуска можно разместить ярлык программы на рабочем столе, создав файл с любым именем и расширением ".desktop", например "avrdudeshell.desktop" со следующим содержанием:

[Desktop Entry]
Version=1.0
Type=Application
Name=AVRDUDESHELL
Comment=Программировать Atmega
Exec=wine avrdudeshell.exe
Icon=
Path=/home/alexander/.wine/dosdevices/c:/Application/AVRDUDESHELL
Terminal=false
StartupNotify=true


PCDUINO. Первая программа на FreePascal

Для того что бы опробовать FreePascal и научиться основам работы в консольной IDE, напишем первую программу. Пока ничего сложного - программа выведет на экран фразу "FIRST PROG".

Запускаем FreePascal:



Создаем новый проект File -> New:



Сохраняем проект File -> Save (F2):



Вводим код проекта:

program firstprog;

begin
   writeln('FIRST PROG');
end.




Запускаем проект Run -> Run (Ctrl + F9):



Результат:




PCDUINO. Выбор средства разработки

PCDuino - отладочная плата - микрокомпьютер с предустановленной операционной системой Linux - поэтому программирование может выполняться на любом языке программирования, который поддерживает эта платформа, например C, C++, FreePascal, Lazarus, Python и т.д.

Использование терминального режима для программирования PCDuino резко ограничиввает выбор IDE. Фактически я рассматривал два языка программирования: С (С++) в связке с редактором mcedit и FreePascal с собственной, достаточно продвинутой IDE. Выбор был сделан в пользу FreePascal из-за IDE.

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

Скачиваем дистрибутив:

wget -P /home/ubuntu/Download/ ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/arm-linux/fpc-2.6.4.arm-linux.tar

Запускаем mc, заходим в скаченный архив как в папку, нажимаем F5 для распаковки.

Для установки запускаем скипт install.sh:

sh install.sh

На вопросы по параметрам установки IDE отвечаем поумолчанию.

Запускается FreePascal файлом fp из каталога bin.


FreePascal. Консольная IDE

PCDUINO. Подготовка к запуску и настройка

PCDuino - отличная отладочная плата - это вы поймете сразу же после первого включения - возможность разработки и отладки программного обеспечения на целевом устройстве много чего значит, а использование графического интерфейса и рабочего стола LXDE делает этот процесс еще более удобным и приятным.

Но есть одно "но". Если у вас нет второго комплекта "монитор, клавиатура, мышь", то использование всех преимуществ полноценного миникомпьютера может быть сведено на "нет" необходимостью постоянного переподключения периферии.

Для себя решение этой проблемы я нашел в протоколе SSH - протоколе удаленного управления операционной системой.

Тетерь, используя терминальный клиент, можно подключаться к отладочной плате и разрабатывать программы с любого ПК в доме.

Если у вас похожие проблемы - приступим к настройке PCDuino.

Подключаем монитор, клавиатуру, мышь, сетевой провод и провод питания к плате. Включаем:


PCDUINO. Первый запуск



PCDUINO. Первый запуск


Открываем терминал, проверяем подключение к Internet:

ping ya.ru


PCDUINO. Проверка подключения к Internet


Прочитаем текущий IP адрес платы:

ifconfig


PCDUINO. Проверка сетевой конфигурации


Проверим, видим ли мы PCDuino с другого ПК. Для чего пропингуем адрес платы с соседнего компьютера:

ping 192.168.100.3


PCDUINO. Проверка видимости платы с другого ПК


Все хорошо? Тогда возвращаемся к PCDuinо и устанавливаем терминальный файловый менеджер:

sudo apt-get install mc


PCDUINO. Установка файлового менеджера mc


После установки - запускаем его:

mc


PCDUINO. Файловый менеджер mc


Создадим структуру папок (кнопка F7 в mc):

/home/ubuntu/settings/network


PCDUINO. Создание структуры папок


Создадим симлинки на сетевые настройки платы - на файлы:

  • /etc/hosts
  • /etc/network/interfaces
  • /etc/samba/smb.conf


  • PCDUINO. Симлинки на сетевые настройки платы


    Выходим из mc (кнопка F10), и запускаем его под root-ом:

    sudo mc

    Назначаем статический IP адрес для PCDuino: находим и правим файл /etc/network/interfaces (кнопка F4). Разумеется, параметры сетевой конфигурации у вас будут свои:

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    # auto eth0
    # iface eth0 inet dhcp

    # My static network
    iface eth0 inet static
    address 192.168.100.56
    netmask 255.255.255.0
    gateway 192.168.100.1
    dns-nameservers 82.209.195.12 193.232.248.2
    auto eth0



    PCDUINO. Настройка статического IP


    Сохраняем файл (кнопка F2) и выключаем PCDuino. Отключаем монитор, клавиатуру и мышь. Перезапускаем плату.

    Через минуту пробуем подключиться по SSH (пароль: "ubuntu") из Linux:

    ssh -p 22 ubuntu@192.169.100.56


    PCDUINO. Подключение к плате по SSH в ОС Linux


    Или Windows, через PuTTY:


    PCDUINO. Подключение к плате по SSH в ОС Windows через PuTTY



    PCDUINO. Подключение к плате по SSH в ОС Windows через PuTTY