Форум русскоязычного сообщества Ubuntu


Автор Тема: [HOWTO] Терминальный сервер XRDP на Ubuntu.  (Прочитано 129907 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
[HOWTO] Терминальный сервер XRDP на Ubuntu.
« : 01 Декабрь 2012, 22:50:31 »
Для чего это нужно: Многие компании закупают дешёвые тонкие клиенты, которые ничего не умеют, кроме подключение по рдп протоколу. Есть статья на вики по RDP протоколу. При переходе компании с винды на великий и всемогущий линукс или сразу при использовании линукса, можно столкнуться с кучей проблем и этот мануал помогает одну проблему решить.
Данный мануал протестирован на Lubuntu, Xubuntu, Ubuntu server. Версия дистрибутива 12.04.1 разрядность х86 и х64. Другие графические оболочки протестированы разными людьми и они писали об этом в интернете, можете погуглить.
Прочтите пожалуйста весь мануал, перед тем как начать делать.
Сразу говорю при использовании подключения sesman-X11vnc с модулем libvnc.so, я не смог заставить переключаться раскладку клавиатуры.

Подготавливаем систему.
sudo apt-get update && sudo apt-get upgrade -y && reboot
Настраиваем сеть.
Удаляем gui интерфейс для управления сетью, иначе он пытается управлять настройками сети.
sudo apt-get remove network-manager -y
Правим /etc/network/interfaces:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.100.8
netmask 255.255.255.0
gateway 192.168.100.155

Теперь настройка днс, если в /etc/resolv.conf видим:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

То настройки днс хранятся в /etc/resolvconf/resolv.conf.d/base:
nameserver 192.168.100.1
nameserver 8.8.8.8
search test.lan

Перезапускам сетевой интерфейс и проверяем настройки сети:
/etc/init.d/networking restart
ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:126785 errors:0 dropped:0 overruns:0 frame:0
          TX packets:135453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:116474217 (116.4 MB)  TX bytes:102473947 (102.4 MB)

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:104371 errors:0 dropped:0 overruns:0 frame:0
          TX packets:104371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:720253620 (720.2 MB)  TX bytes:720253620 (720.2 MB)


Устанавливаем необходимые пакеты и обновляем систему:
sudo apt-get update
sudo apt-get install mc openssh-server chkconfig subversion libtool automake automake1.7 automake1.9 git libssl-dev libpam0g-dev libx11-dev libxfixes-dev xxkb libpam-mount clamtk smbfs python-software-properties pulseaudio-esound-compat paprefs -y

Настраиваем PAM.
Настраиваем монтирование сетевых ресурсов, выполнение пользовательских скриптов (от root) и настройки skel для пользователей при входе в систему.

Создаем файл скрипта и делаем его исполняемым (в дальнейшем можете использовать этот скрипт по своему усмотрению):
touch /etc/logon
chmod +x /etc/logon

Добавляем в /etc/pam.d/common-session:
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
session optional pam_exec.so /etc/logon
session optional pam_mount.so

Сетевые профили мы будем монтировать в /net/%username%, для каждого пользователя отдельно. Очень не рекомендую монтировать сетевые диски в домашнюю папку пользователя (не дай бог пользователь удалит монтированную папку). Будем использовать симлинки.

Создаем папку для монтирования сетевых ресурсов /net:
mkdir /net
Общие папки и профили у меня лежат на сервере 192.168.1.1:
\\192.168.1.1\home\%username% — профиль монтируем в /home/%username%
\\192.168.1.1\public — общую папку монтируем в /net/%username%/public

Настраиваем папки для сетевого монтирования, добавляем параметры подключения в /etc/security/pam_mount.conf.xml после debug enable:
<volume user="*" fstype="nfs" server="192.168.1.1" path="home/%(USER)" mountpoint="/home/%(USER)" options="iocharset=utf8,rw,noperm,file_mode=0660,dir_mode=2770" />
<volume user="*" fstype="nfs" server="192.168.1.1" path="public /%(USER)" mountpoint="/net/%(USER)/public " options="iocharset=utf8,rw,noperm,file_mode=0660,dir_mode=2770" />
Я пока не нашел как заставить выполнять pam-mount при входе по ssh(да и не искал). Вот мануал по файлу конфигов pam_mount.conf.xml.

Донастраиваем Xsession.
Добавляем в /etc/X11/Xsession после set -e:
## Для корретного определения локали
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
## Для корретной работы переключения раскладок клавиатуры по alt + shift может понадобиться эта строка. Если испытываете трудности раскомментируйте её удлив символ #
#setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:alt_shift_toggle"
## автоматической создание симлинков на сетевые ресурсы при каждом входе
ln -f -s /net/$USER/public  /home/$USER/Сетевые\ ресурсы

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

Далее копируете из домашней папки настроенного пользователя настройки в /etc/skel. Обратите внимание на особенность при использовании skel не выполняется скрипт генерации первичной структуры домашней папки, так как при первом входе домашняя папка полностью копируется из /etc/skel.
Выполняем с правами рута:
cd /home/Настроенный_Пользователь
cp -R -f -b .config/ /etc/skel/ # настройки графической оболочки
cp -R -f -b Рабочий\ стол/ /etc/skel/ # Содержимое рабочего стола
cp -R -f -b Документы/ /etc/skel/ # Содержимое документов

Cобираем x11rdp.
Устанавливаем библиотеки разработчиков xorg, качаем и собираем исходники x11rdp:
sudo apt-get build-dep xserver-xorg-core
cd ~
wget http://server1.xrdp.org/xrdp/x11rdp_xorg71.tar.gz # Исходники могут переехать по другому адресу, если что гугл поможет
tar -xvf x11rdp_xorg71.tar.gz
sudo mkdir /opt/X11rdp # важно: /opt/X11rdp владелец должен быть root!
cd x11rdp_xorg71
time sudo sh buildx.sh /opt/X11rdp

Смело идем за стаканом с (чаем/кофе/пивом) на моей виртуальной машине сборка занимает около 16 минут:
all ok
real 15m57.336s
user 8m22.199s
sys 1m20.693s

Проверяем установленые библиотеки:
cd /opt/X11rdp/bin
ls -lh
ln -s /opt/X11rdp/bin/X11rdp /usr/bin/X11rdp # делаем симлинк в /usr/bin

Cобираем свежую сборку xrdp.
Мы будем использовать свежую сборку xrdp. Что бы создать скрипты для запуска и установить зависимые пакеты ставим и удаляем xrdp из репозитария Ubuntu:
sudo apt-get install xrdp -y ; apt-get remove xrdp -y
Клонируем под нормальным пользователем текущую версию xrdp:
cd ~
git clone https://github.com/FreeRDP/xrdp.git xrdp.git

Собираем из исходников xrdp. Обратите внимание на checkout, это необходимо для корректной работы xrdp:
cd xrdp.git
git checkout 4cd0c118c273730043cc77b749537dedc7051571
./bootstrap
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make

Устанавливаем с правами root:
sudo make install
Копируем и изменяем RSA ключи, это необходимо для RDP сессий:
sudo su -
mkdir /usr/share/doc/xrdp
mv /etc/xrdp/rsakeys.ini /usr/share/doc/xrdp/
chmod 600 /usr/share/doc/xrdp/rsakeys.ini
chown xrdp:xrdp /usr/share/doc/xrdp/rsakeys.ini

Настройка xrdp.
Делаем резервную копию и создаем симлинк на Xsession:
cd /etc/xrdp
mv startwm.sh startwm.sh.BACKUP
ln -s /etc/X11/Xsession /etc/xrdp/startwm.sh
Приводим настройки /etc/xrdp/xrdp.ini к такому в виду:
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
max_bpp=16
#black=000000
grey=d6d3ce
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72
 
[xrdp1]
name=RDP
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
xserverbpp=16
 
[xrdp2]
name=VNC
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Исходный выглядит так:
(Нажмите, чтобы показать/скрыть)

Количество разрешённых подключений можно установить в /etc/xrdp/sesman.ini. По умолчанию разрешено 10 пользователей, за это отвечает опция MaxSessions в секции Sessions. В этом же файле рекомендуется не изменять значения KillDisconnected (По умолчанию KillDisconnected=0),IdleTimeLimit, DisconnectedTimeLimit. Я изменил опцию KillDisconnected и у меня юзеры смогли коннектится в ту же сессию, но за правильность суждений не ручаюсь.
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=0   # Разрешать входить руту по умолчанию стоит 1, то есть разрешать. Я изменил на 0 ради безопасности.
MaxLoginRetry=4    # Максимальное количество попыток входа
TerminalServerUsers=tsusers   # Как я понял группа пользователей терминального сервера
TerminalServerAdmins=tsadmins   # Группа администраторов терминального сервера. Если вы не входите в эту группу то
# выключение питания или перезагрузка сервера из терминального подключения не доступна.

[Sessions]
X11DisplayOffset=10   # Порядковый номер дисплея, который проверяется сначала на свободность, а после на нём запускается X сервер.
# Если на сервере больше 10 физически подключенных дисплеев или локальных сессий то значение лучше увеличить. Если меньше оставьте
# значение по умолчанию, чтобы не натыкаться на локально подключеные сессии.
# C каждым новым терминальным подключением это значение увеличивается на 1 единицу. После отключения сессии дисплей на который она
# подключалась освобождается и следующая терминальная сессия открывается на освобожденном дисплее.
MaxSessions=10   # Максимальное количество терминальных сессий.
KillDisconnected=1   # В теории по мануалам это остановка сессий которые отключились. На моей практике получилось,
# что я смог подключаться в отключенную сессию. Если оставить 0 по умолчанию, у меня сессии не терминировались, а висели в процессах
# как у всех кто писал мануалы по xrdp.
IdleTimeLimit=0
DisconnectedTimeLimit=0

[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG

[X11rdp]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp

[Xvnc]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
param5=-localhost
param6=-dpi
param7=96

Немного изменяем скрипт управления /etc/init.d/xrdp, добавляем параметры:
PIDDIR=/var/run
SESMAN_START=yes


Настраиваем авторизацию xrdp, приводим файл /etc/pam.d/xrdp-sesman к виду:
#%PAM-1.0
@include sesman

Запускаем xrdp сервер и проверяем:
service xrdp start
* Starting Remote Desktop Protocol server                                                                                                                  ok
process 3147 started
starting sesman...
sesman config:
        ListenAddress:            127.0.0.1
        ListenPort:               3350
        EnableUserWindowManager:  1
        UserWindowManager:        startwm.sh
        DefaultWindowManager:     startwm.sh
        AuthFilePath:             disabled
Xvnc parameters:
        Parameter 00                   -bs
        Parameter 01                   -ac
        Parameter 02                   -nolisten
        Parameter 03                   tcp
        Parameter 04                   -localhost
        Parameter 05                   -dpi
        Parameter 06                   96
X11rdp parameters:
        Parameter 00                   -bs
        Parameter 01                   -ac
        Parameter 02                   -nolisten
        Parameter 03                   tcp
logging configuration:
        LogFile:       /var/log/xrdp-sesman.log
        LogLevel:      4
        EnableSyslog:  0
        SyslogLevel:   4
security configuration:
        AllowRootLogin:       0
        MaxLoginRetry:        4
        No TSUsersGroup defined
        No TSAdminsGroup defined
session configuration:
        MaxSessions:                 10
        X11DisplayOffset:            10
        KillDisconnected:            1
        IdleTimeLimit:               0
        DisconnectedTimeLimit:       0
[20121201-21:09:12] [WARN ] [init:45] libscp initialized
                                                                                                                                                    [ OK ]

Если отобразились настройки xrdp-sesman, значит все встало как надо. В версии из репозитария настройки не отображаются. Теперь можно проверить подключение к серверу по RDP протоколу любым доступным клиентом.

Альтернативное решение проблемы с переключением раскладки:
(Нажмите, чтобы показать/скрыть)

В случае проблем со шрифтами:
(Нажмите, чтобы показать/скрыть)

Если испытываете проблемы c графической оболочкой Gnome или Unity попробуйте выполнить:
(Нажмите, чтобы показать/скрыть)

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

Хотел бы добавить эту статью на http://help.ubuntu.ru/wiki но не знаю как.
« Последнее редактирование: 15 Май 2014, 20:51:06 от Alex Gluck »

Оффлайн tagirgilyazov

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #1 : 03 Декабрь 2012, 17:03:07 »
Спасибо за мануал!
У меня в продолжении вопрос: а как настроить чтоб определённый клиент не видел ничего за исключением определённой программы (файрфокс например)? Т.е. логонимся под ним - открывается огнелис и всё, ни закрыть его, а при закрытии чтоб сессия закрывалась. Причём чтоб это не касалось других пользователей.

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #2 : 03 Декабрь 2012, 19:26:54 »
Надо будет для него создавать скрипт запуска оконного менеджера, и вместо менеджера указать запуск программы. В скрипте по условию закрытия огнелиса закрывать сессию. Наверно как то так. У меня такой задачи нет, но если будешь делать мануальчик на эту тему я помогу.

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #3 : 04 Декабрь 2012, 21:02:03 »
Нашёл варинт указать в виндовом клиенте путь до программы, и вместо стандартной оболочки запуститься программа, но иногда сессия после закрытия программы не терминируется. Аналогично наверно можно и в альтернативном клиенте. На виндовом 2003 терминальном серваке сессия никогда не терминировалась после закрытия программы. Ещё как вариант в файле /home/%username%/.session указать строку exec /path/to/script/run/firefox командой: echo 'exec /path/to/script/run/firefox' > /home/%username%/.session
« Последнее редактирование: 04 Декабрь 2012, 21:06:33 от Alex Gluck »

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #4 : 14 Декабрь 2012, 00:53:50 »
tagirgilyazov,
Вот ещё что нарыл, погугли на фразу "режим киоска"

Оффлайн shpakser

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #5 : 17 Февраль 2013, 16:40:30 »
Добрый день, попытался настроить xrdp как написано выше, не работает - при вводе команды service xrdp start, пишет unrecognized service. Как исправить?
« Последнее редактирование: 17 Февраль 2013, 18:46:51 от shpakser »

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #6 : 17 Февраль 2013, 22:36:59 »
shpakser,
Вывод команды service --status-all

Оффлайн Alexi55555

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #7 : 04 Март 2013, 10:46:25 »
Надо будет для него создавать скрипт запуска оконного менеджера, и вместо менеджера указать запуск программы. В скрипте по условию закрытия огнелиса закрывать сессию. Наверно как то так. У меня такой задачи нет, но если будешь делать мануальчик на эту тему я помогу.

Лучей Добра.
Не подскажете, как этот самый скрипт создать?? в скриптописании полный нуб, для меня они как страшный сон, и это плохо ((

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #8 : 04 Март 2013, 10:57:35 »
Alexi55555,
Лучше в гугле набрать запрос "режим киоска ubuntu".
Первые ссылки в гугле дали: автора статьи http://kubuntu.ru/node/5682/47710
(Нажмите, чтобы показать/скрыть)

Оффлайн Alexi55555

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #9 : 04 Март 2013, 11:00:29 »
Alexi55555,
Лучше в гугле набрать запрос "режим киоска ubuntu".
Первые ссылки в гугле дали: автора статьи http://kubuntu.ru/node/5682/47710
(Нажмите, чтобы показать/скрыть)


ух ты ))  спасибо!!! буду изучать

Пользователь решил продолжить мысль 04 Март 2013, 17:47:08:
у меня русский язык не появился. ubuntu 12.04, LXDE
коннект проходит, но как только пытаюсь переключиться на русский, подвисает, на какое то время

Пользователь решил продолжить мысль 04 Март 2013, 18:01:06:
когда подключаюсь (через winXP) в модулях   могу выбрать  только RDP, VNC, xrdp3, xrdp4,....,xrdp7
может кто подсказать, чего делать?
« Последнее редактирование: 04 Март 2013, 18:01:06 от Alexi55555 »

Оффлайн Alexi55555

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #10 : 06 Март 2013, 17:07:42 »
как всегда, все молчат. у всех все работает и им хорошо

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #11 : 06 Март 2013, 17:11:53 »
Alexi55555, Прочтите статью до конца пожалуйста. Оповещения на почту не приходило, что вы пишете в тему.
Альтернативное решение проблемы с переключением раскладки:
 (Нажмите, чтобы показать/скрыть)
Шрифты - этот бинарник X11rdp ищет шрифты в /opt/X11rdp/lib/X11/fonts
Создал каталоги /opt/X11rdp/lib/X11, сделал симлинк fonts на папку со шрифтами уже стоящего X-сервера (у меня лежали в /usr/share/X11/fonts)
После этого X11rdp может запускаться, то есть уже можно виндовым клиентом терминалов заходить в sesman-X11rdp.
Однако setxkbmap не работает, видимо этот бинарник X11rdp ищет папку xkb где-то в другом месте. Поэтому, создал в /usr/local/xrdp файл rus.map следующего содержания:

Код: [Выделить]
xkb_keymap {
    xkb_keycodes  { include "xfree86+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+ru(winkeys)+us:2+group(alt_shift_toggle)"    };
    xkb_geometry  { include "pc(pc104)"    };
};

Далее прописал в начале /usr/local/xrdp/startwm.sh :

Код: [Выделить]
xkbcomp /usr/local/xrdp/rus.map $DISPLAY

Все. Теперь при входе язык русский, Alt+Shift переключает на английский.

Пользователь решил продолжить мысль 06 Март 2013, 17:20:33:
Цитировать
когда подключаюсь (через winXP) в модулях   могу выбрать  только RDP, VNC, xrdp3, xrdp4,....,xrdp7
может кто подсказать, чего делать?

Найдите в статье строчку
Цитировать
Приводим настройки /etc/xrdp/xrdp.ini к такому в виду:
и выполните условие. После подключения от windows клиента выбирайте RDP, от linux клиента VNC. В принципе работать будут оба, но какой то из них быстрее, я пока не решусь сказать какой.
« Последнее редактирование: 06 Март 2013, 17:20:33 от Alex Gluck »

Оффлайн Alexi55555

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #12 : 07 Март 2013, 11:33:48 »
с переключением раскладки заработало. Спасибо Alex Gluck
теперь прошу помощи по автостарту приложения, вместо рабочего стола или как он там называется. (одна каша в голове). как я понял, все настраивают "режим киоска" для браузеров. а мне браузер не нужен.
подскажет кто , как все таки запустить приложение (может через файлы .xsession или .xinitrc).

Пользователь решил продолжить мысль 07 Март 2013, 13:09:34:
ограничить конечного пользователя решил с помощью оконного менеджера openbox. почти все настраивается вручную.
и вопрос такого плана, здесь проскакивала мысль, чтобы при закрытии программы закрывалась сессия. как это осуществить???
мои мысли: для конечного пользователя закрыть программу - нажать крестик. НО, система делает кучу операций(скриптов). в какой нибудь скрипт (не знаю в какой) добавить строки выхода из сеанса. как то так я себе это представляю.
кто знает поправьте,помогите.
« Последнее редактирование: 07 Март 2013, 13:10:05 от Alexi55555 »

Оффлайн Alex Gluck

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #13 : 07 Март 2013, 14:31:47 »
Alexi55555,
Читать вы видимо не любите. Ответ номер 8 в этой теме, там спойлер в котором инструкция по режиму киоска. Там есть описания запуска программы.
Цитировать
Помещаем команду запуска firefox при старте системы:
В конец файла /etc/xdg/openbox/autostart.sh добавляем строчку
firefox &
Замените запуск браузера, запуском вашей программы.

Оффлайн Alexi55555

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: [HOWTO] Терминальный сервер XRDP на Ubuntu.
« Ответ #14 : 07 Март 2013, 14:56:56 »
Alexi55555,
Читать вы видимо не любите. Ответ номер 8 в этой теме, там спойлер в котором инструкция по режиму киоска. Там есть описания запуска программы.
Цитировать
Помещаем команду запуска firefox при старте системы:
В конец файла /etc/xdg/openbox/autostart.sh добавляем строчку
firefox &
Замените запуск браузера, запуском вашей программы.

это я уже сделал. вы меня не поняли. Объясняю, конечный пользователь очень далек от линукса и т.д. пользователь соединяется по rpd из винды к линуксу. вводит логин, пароль. у него загружается программа (для примера поставил firefox. в итоге будет толстый клиент 1с 8.3). пользователь работает в толстом клиенте. он решил, что все сделал на сегодня и ему надо выйти из толстого клиента, и сделать logout. делать он это будет в два этапа. моя задача, сделать так, чтобы при закрытии толстого клиента(или любой другой программы) автоматически выполнялся logout. чтобы все делалось в одни клик для конченого пользователя.  Понимаете???
« Последнее редактирование: 07 Март 2013, 15:03:58 от Alexi55555 »

 

Страница сгенерирована за 0.235 секунд. Запросов: 23.