LINUX.ORG.RU
ФорумAdmin

Remote Desktop Server


0

0

Нужен сабж под Линух, только обязательное условие - деление сессий м-у пользователями ... ну и ясно дело желательно без леценций ...

В инете порылся чет ничего подходящего не нашел ... разговоров много ... а вот именно деление сессий никто вроде и не умеет ..

Просто нужен аналог Windows Terminal Server .. есть такой ?

anonymous

VNC не подойдет? я как то 3 пользователей одновременно пускал на маши удаленно ..

anonymous
()

>деление сессий м-у пользователями

О чем речь, вообще? Кто-нибудь объясните мне, пожалуйста, что это значит.

sdio ★★★★★
()

С добрым утром, дядя. Откройте для себя неизведанные доселе никем области `man X`.

e
()

>VNC не подойдет? я как то 3 пользователей одновременно пускал на маши удаленно ..

У них были открыты разные сессии ? т.е не было примерно так: что вроде общий рабочий стол на всех сразу ... ? т.е 3 пользователя одновременно такскают 1 и тоже окно ... ?

>С добрым утром, дядя. Откройте для себя неизведанные доселе никем области `man X`.

Xorg насколько мне известно не предоставляет функция Терминального сервера .. она лишь умеет портировать Xы ... но вот почемуто думается мне .. что на 1 машину всего, т.е на 20 пользователей я Х не настрою ... я не прав ?

>use XDMCP

Спасибо .. щас погуглю .. может чт и наду ..

anonymous
()
Ответ на: комментарий от anonymous

На клиентской стороне печатаешь X :1 -query [адрес сервера]. Либо Xnest вместо X, если нужно чтоб в окне. Только на сервере надо display manager настроить, чтобы XDMCP работал (в kdm/gdm оно, вроде, по умолчанию не отключено)

А еще есть такая приблуда, называется xrdp. Полный аналог виндового rdp сервера с двумя исключениями:

1) жрет больше траффика

2.а) если у пользователя уже есть запущенная сессия, а он подключается с другим разрашением или bpp, то запускается вторая сессия (или третья, четвертая, ...) с новыми параметрами

либо же 2.б) сессия прерывается, когда клиент отключается

какая их фич 2.а или 2.б имеет место - зависит от настроек.

anonymous
()

Нужно:

а) У пользователей настроенные X`ы
b) На "сервере" (где будут крутиться приложения) настроенный ssh и
   заведён соответствующий пользователь в системе -- user
c) "сервер" обзовём -- server.domain,
   пользовательские машины -- comp.domain
d) Имена пользователей и машин могут быть любые.
   Такие имена даны, лишь, для удобства описания.
e) Далее, сессия пользователя на своём компьютере далее обозначается: user@comp.domain$
   на "сервере" обозначается: user@server.domain$ 

--

Что делать:

1. У пользователей должны быть запущены X`ы.
   (Например, в Linux и так понятно, а в Windows нужен cygwin или Xming).
   Имя компьютера пользователя в сети -- comp.domain,
   тогда сессия пользовательских X`ов -- comp.domain:0.0
   (если запущена одна сессия X`ов :-)

2. На "сервере" (где будут крутиться приложения) X`ы не нужны (НЕ НУЖНЫ!),
   но должен быть запущен, например ssh, и, для простоты (но небезопасно!),
   позволять входить пользователям с шелом, например, /bin/bash

3. На server.domain прописываешь в домашнем каталоге у пользователя
   в ~/.bash_login

export DISPLAY=comp.domain:0.0
export LANG=UTF-8

где
a) export DISPLAY=comp.domain:0.0 -- говорит всем приложениям сессии,
   что отображение будет на "таком-то_компьютере":"такой-то_сессии_X`ов"
b) export LANG=UTF-8  -- говорит какая кодировка у пользователя
   (например, это может быть KOI8-R)
c) эти команды, прописанные в ~/.bash_login будут автоматически выполняться
   при логине, с шелом /bin/bash, и служат для автоматической
   настройки переменных окружения DISPLAY и LANG (ВАЖНО!)

4. На своём comp.domain, в X`ах, пользователь открывает, например, xterm и говорит:

user@comp.domain$ xhost +server.domain

   , что даёт разрешение машине server.domain коннектиться
   к этой X`овой сессии пользователя (comp.domain:0.0) по сети

5. Далее, на машине comp.domain в xterm, пользователь говорит:

user@comp.domain$ ssh -l user server.domain

   вводит пароль и получает консольную сессию.
   (переменные окружения DISPLAY и LANG должны быть настроены)

6. Теперь, если пользователь даст команду, например,

user@server.domain$ xclock

  то должен увидеть окошко с часами у себя в X`ах.
  Запускать можно любые программы
  (gvim, nautilus, yast2, ./runInstaller, startkde, etc :-)

--

Пояснения:

a) За перенаправление отображения отвечает переменная окружения DISPLAY
  проверить: 
user@server.domain$ set | grep DISPLAY
DISPLAY=comp.domain:0.0

  Если при запуске графического приложения "user@server.domain$ xclock",
  будет сообщение, типа: "Error: Can't open display: comp.domain:0.0"
  значит, не была дана команда "user@comp.domain$ xhost +server.domain"

b) За кодировку отвечает переменная окружения LANG, проверить:
user@server.domain$ set | grep LANG
LANG=UTF-8  (или LANG=KOI8-R)
  для Windows LANG=UTF-8, для Linux -- то, что выдаст команда
user@comp.domain$ echo $LANG

c) Приложения выполняются на server.domain,
  на comp.domain отправляются, лишь указания X`ам что и как отрисовывать.
  Поэтому, если пользователь имеет право дать команду
user@server.domain$ reboot
  то server.domain честно перегрузится.

**********************************************************************
Всё сказанное выше сводится к четырём строчкам ниже:

Резюме:

user@comp.domain$ xhost +server.domain
user@comp.domain$ ssh -l user server.domain
user@server.domain$ export DISPLAY=comp.domain:0.0
user@server.domain$ export LANG=UTF-8

Проверяем:

user@server.domain$ xclock
user@server.domain$ 

**********************************************************************

Фсё! Можно запускать любые программы:

user@server.domain$ gvim
user@server.domain$ firefox
user@server.domain$ gimp
user@server.domain$ yast2
user@server.domain$ konqueror
user@server.domain$ ./runInstaller
user@server.domain$ ...

или, даже:

user@server.domain$ startfluxbox
user@server.domain$ startxfce4
user@server.domain$ startkde

P.P.S. И не нужны никакие rAdmin`ы или Terminal Server`ы. Всё уже давно есть.

:-)

Neksys ★★★
()
Ответ на: комментарий от Neksys

Короче:

user@comp.domain$ xhost +server.domain
user@comp.domain$ ssh -l user server.domain
user@server.domain$ export DISPLAY=comp.domain:0.0
user@server.domain$ export LANG=ru_RU.KOI8-R

:-)

Neksys ★★★
()
Ответ на: комментарий от Neksys

Либо же одной строчкой: ssh -X server.domain (ну и второй строчкой LANG=..., если надо).

Все варианты перечислили, ничего не забыли?

anonymous
()
Ответ на: комментарий от anonymous

Ну какой же вы тупой (с) "Ирония судьбы"

При таком запуске удаленных приложений:
ssh -X user@server firefox
Х-ы должны быть предварительно запущены у юзера, а не на сервере. На сервере запустится firefox и отобразится на юзерских Х-ах. При разрыве соединения приложения дохнут.

Если запустить на сервере N-ое кол-во Хvnc, то у каждого юзера будет по своему десктопу и все будет запущено на сервере (клиенту нужен только vncviewer), при этом, при разрыве соединения приложения будут продолжать свою работу.

sdio ★★★★★
()
Ответ на: комментарий от sdio

Хм .. что я и говорил с самого начала .. что запуск иксов у клиента -это бред, и возня линяя мну нафиг не нужна .. нужо обеспечить надежную работу и с клиентами MS а не делать все под эмуляторами ... т.к машины старые не актуально ... это лагалка будет ... а запускать копию vnc для каждого клиента .. тоже не особо .. хотя .. х.з проверю ...

anonymous
()
Ответ на: комментарий от anonymous

Ламер одним словом, для Х-ов у него машинки старые, 386-е что-ли?
И о каких эмуляторах ты там бормочешь?
Достали ламеры, говорящие "а у тебя на винде запущена эмуляция Х-ов?"

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.