Headless RDP (сервер протокола удаленного рабочего стола )в системе на базе Ubuntu 16+.
Программное обеспечение:
Установите Mint 18 и обновите его.
Установите сервер ssh, чтобы сделать жизнь намного проще:apt-get install openssh-server
Пользовательская компиляция xrdp и xorgxrdp , поскольку репозитории Mint не включают или не имеют необходимой нам конфигурации.
Настройте Mint для компиляции, установив среду сборки .
sudo apt-get install build-essential
sudo apt-get install git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev
примечание :Я думаю, что для Ubuntu 16+ требуется еще 1 зависимость. Я не вижу этого в своих заметках, но вы очень быстро узнаете, когда «сделаете».
нашел:
sudo apt-get install libxfont1-dev
примечание :Для xorgxrdp требуется заголовочный файл от xrdp. Поэтому желательно сначала скомпилировать и установить xrdp.
получить и извлечь xrdp и xorgxrdp куда-нибудь вроде /opt
. Возможно, здесь нужно настроить разрешения. Плохая форма, но работает:sudo -R chmod 777 /opt
Запустите следующие команды cli:
xrdp
cd /opt/xrdp-0.9.1
./bootstrap
./configure --enable-fuse --enable-mp3lame --enable-painter
примечание:
make
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
xorgxrdp
cd /opt/xorgxrdp-devel
./bootstrap
./configure
make
sudo make install
Сделайте xrdp и xorgxrdp «службой», чтобы она запускалась при загрузке.
версия
/etc/init.d/xrdp
(из установки. включить запуск при загрузке)
sudo update-rc.d xrdp defaults
--создает ссылки в каталогах rc.x
sudo update-rc.d xrdp enable
--начни прямо сейчас.
Версия
> Ubuntu 14 (Mint 18)
sudo systemctl enable xrdp
sudo service xrdp start
sudo systemctl status xrdp
sudo systemctl start xrdp
Конфигурационные файлы (некоторые)
/etc/xrdp/sesman.ini
/etc/xrdp/xrdp.ini
/etc/xrdp/startwm.sh
Это настройка в /etc/xrdp/xrdp.ini
, которую мы будем использовать:
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
Не забудьте использовать другие или несколько рабочих столов. В этих файлах наряду с другими могут потребоваться корректировки. См. здесь для небольшой помощи в этом. При использовании рабочего стола Cinnamon никаких изменений не потребовалось.
Чтобы ваш Mint 18.x загружался из командной строки, в конце концов, это безголовая система.
Загрузка из командной строки
sudo nano /etc/default/grub
закомментируйте GRUB_CMDLINE_LINUX_DEFAULT=
и добавьте «текст» к GRUB_CMDLINE_LINUX
, как показано ниже:
#GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="text"
sudo update-grub
sudo systemctl set-default multi-user.target
Для запуска графического интерфейса из командной строки:
startx
Чтобы отменить изменение:
sudo systemctl set-default graphical.target
Напишите небольшой сценарий, который подключает сеанс терминала на сервере SSH к последовательному порту без каких-либо параметров командной строки. Например, вы можете использовать команду cu
следующим образом:
#!/bin/sh
exec cu -l /dev/ttyS0 -s 115200 # add/modify options if needed
Сохраните это, например. /usr/local/bin/serial-connection
и пометьте его как исполняемый с помощью chmod a+x /usr/local/bin/serial-connection
.
Добавьте путь /usr/local/bin/serial-connection
к файлу /etc/shells
.
Создайте пользователя Linux для последовательного соединения. Вы можете назвать его как хотите -, например, serial
. Установите для него пароль и убедитесь, что пользователь может нормально войти в систему.
Наконец, измените оболочку пользователя serial
на /usr/local/bin/serial-connection
:
chsh -s /usr/local/bin/serial-connection serial
Теперь, когда пользователь serial
входит в систему, оболочка пользователя запускается автоматически -, но теперь это будет фактически команда, которая подключает сеанс SSH к последовательному порту. И если эта команда по какой-либо причине завершится, сеанс SSH завершится автоматически.
Чтобы разорвать соединение, пользователю serial
необходимо ввести~.
(тильда -точка ), если используется PuTTY или аналогичный, или~~.
(тильда -тильда -точка )при использовании клиента OpenSSH. Случайно, как cu
, так и клиент OpenSSH будут использовать ~
в качестве escape-символа :, набрав его дважды в начале строки, будет выдан один символ тильды для cu
.