Страница 1 из 1

Терминальный клиент для win2003

Добавлено: 23 окт 2008, 09:08
MixoID
Задумка такая:
С флэшки грузится линукс, автоматом определяет сетевую карту, адрес, соответственно, получает от 2003 сервера.
Потом определяет видеокарту, грузит иксы, потом автологин и rdesktop (кстати, есть ли более тонкая альтернатива?).
В связи с вышеизложенным прошу советов, потому как сам мозгою и руками слаб.

1. Какой дистрибутив можно установить на флэшку в минимальной конфигурации ?
2. Как прикрутить к нему автоопределение оборудования от какого-нибудь liveCD ?
3. Можно ли из этого автоопределения для ускорения загрузки исключить ненужное (типа звук, контроллеры, etc...)

Заранее спасибо.

Re: Терминальный клиент для win2003

Добавлено: 23 окт 2008, 11:29
Firestorm
Если я правильно понял, то вас нужна тонкая станция. Сделать можно например с помощью тонких клиентов, thinstation например. Покопав в гугле, найдете очень подробные инструкции по настройке и работе.

Re: Терминальный клиент для win2003

Добавлено: 23 окт 2008, 12:31
Llama
Я бы предложил вовсе отказаться от носителей и грузится по сети :)

см. thinstation

Re: Терминальный клиент для win2003

Добавлено: 24 окт 2008, 10:49
Firestorm
Llama, мысли схожи ;)

Re: Терминальный клиент для win2003

Добавлено: 29 ноя 2008, 20:52
Speccyfan
У меня реализовано так:
грузится с жесткого диска линуха (возможно скоро сделаю загрузку по сети),грузится в init 3, автологин реализован так:
в inittab что-то типа:

Код: Выделить всё

1:2345:respawn:/sbin/agetty -n -l /usr/bin/autologin 38400 tty1
autologin это маленькая прога, вот код на C:

Код: Выделить всё

int main() {
  execlp( "login", "login", "-f", "user", 0);
}
тут user имя пользователя под которым будет осуществлен вход в систему.
Далее в .basg_profile соответствующего пользователя сл.строчки:

Код: Выделить всё

export DISPLAY=:0
./terminal
Вот код скрипта terminal:

Код: Выделить всё

#!/bin/sh
addr=`cat ts.addr`
user=`cat ts.user`
echo "Connect to '$addr' ..."
/usr/bin/X &
/usr/bin/rdesktop -f -z -E -u $user $addr
killall X
sleep 2
clear
DIALOG=${DIALOG=dialog}
tempfile=`mktemp 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --clear --title "TERMINAL CLIENT" \
        --menu "" 10 40 2 \
        "Connect to Terminal Server" "" \
        "PowerOff" "" 2> $tempfile
	retval=$?
					
choice=`cat $tempfile`
						
    case $retval in
	0)
	    if [ "$choice" == "Connect to Terminal Server" ];then
	    {
		exit;
	    }
	    fi
	    
    	    if [ "$choice" == "PowerOff" ];then
	    {
		/usr/bin/poweroff
	    }
	    fi
		
	    if [ "$choice" == "SetUp" ];then
	    {
		$DIALOG --title "SetUp Terminal Server" --clear \
		--inputbox "Input Terminal Server Address" 8 51 2> ts.addr
		
		$DIALOG --title "SetUp Username" --clear \
		--inputbox "Input default user name" 8 51 2> ts.user
	    }
	    fi
    	    ;;
	1)
	echo "Отказ от ввода."
	    exit;
	    ;;
	255)
	echo "Нажата клавиша ESC."
	    exit;
    	    ;;
esac
Сначала автоматом стартует этот скрипт, юзер коннектится к серверу. После отключения сеанса юзер лицезреет меню из двух пунктов, где можно заново подключиться к теринальному серверу или вырубить комп. Кстати что бы вырубить комп с провами юзера установлен пакет
SysVinit-usermode-1.5-alt2
Локаль у юера POSIX в этом случае нет проблем с клавиатурой в терминальном сервере.
В файле ts.addr адрес терминального сервера, а в файле ts.user имя пользователя, которое выводится в окне ввода логина/пароля в терминальном сервере. Я использую ALT Linux.