решил сделать для себя пометку. Может кому ещё пригодится.
Во всех примерах будут использоваться:
- разрешение экрана = 16 bit
- разрешение экрана = 1024×768
, а также переменные:
- user_linux — имя пользователя в Linux
- user_windows — имя пользователя на сервере терминалов в Windows
- domen — имя вашего домена
- 10.10.10.10 — ip-адрес сервера
Подключаем общий буфер обмена:
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr 10.10.10.10
Монтируем рабочий стол из linux в терминал windows:
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data disk:desktop:/home/user_linux/Рабочий стол/ -- 10.10.10.10
Подключаемся на порт отличный от стандартного (3398), например 7777:
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr 10.10.10.10:7777
или
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr -t 7777 10.10.10.10
Подключаем usb-flash на сервер терминалов:
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data disk:ufb-flash:/media -- 10.10.10.10
Пробрасываем звук с linux машины в терминал и обратно:
xfreerdp-a 16 -u user_windows -d domen -g 1024x768 --plugin rdpsnd --plugin drdynvc --data audin -- 10.10.10.10
Принтер в терминал:
xfreerdp-a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data printer:HP_LJ_1120 -- 10.10.10.10
Я пользуюсь следующими возможностями FreeRDP:
- разрешение экрана = 16 bit
- разрешение экрана = 1024×768
- буфер обмена
- проброс всех принтеров
- по-умолчанию английская раскладка
- Отключенное TLS шифрование
- Пробрасываем в терминал рабочий стол и usb-флешки в виде подключенных дисков
Вот пример:
xfreerdp -a 16 -u user_windows -d domen -g 1024x768 -z --ignore-certificate -k 0x00000409 --plugin rdpdr --data disk:desktop:/home/xaxatyxa/Рабочий стол/ disk:usf-flash:/media/ printer -- --plugin cliprdr --plugin drdynvc --data audin -- --no-tls 10.10.10.10
В ходе экспериментов родился скрипт:
#!/bin/bash
mkdir /home/user/Рабочий стол/obmen/
lastlogin=$(cat ~/login.txt)
userlogin=$(zenity --entry --text='Введите Ваш логин:' --entry-text=$lastlogin --title='ВНИМАНИЕ')
echo $userlogin > ~/login.txt
userpass=$(zenity --entry --text='Введите Ваш пароль:' --hide-text --title='ВНИМАНИЕ')
serverip=$(zenity --list --radiolist --title "ВНИМАНИЕ" --text "<b>Выберите рабочий сервер</b>nt тыркните точку и нажмите ОК" --column "" --column "" --column "список серверов" TRUE "192.168.15.8" "office" FALSE "192.168.15.9" "analit" FALSE "192.168.15.4" "model" FALSE "192.168.15.113" "Buhgalter" --height 250 --hide-column 2)
if [[ "$serverip" == "192.168.15.4" ]]; then
xfreerdp -u $userlogin -p $userpass --ignore-certificate -d vnt -a 32 -g 1400x1055 --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
else
zenity --question --text=${userlogin}',запускаем в полном экране?' --title='РЕЖИМ РАБОТЫ ТЕРМИНАЛА'
if [ $? -eq 0 ]; then
xfreerdp -f -u $userlogin -p $userpass --ignore-certificate -d 'vnt' -a 16 --plugin rdpdr --data disk:user:/home/user/Рабочий стол/obmen/ --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
else
X_RES=$(xrandr | sed -n 's/.{0,}current ([0-9]{1,}) x [0-9]{1,}.{0,}/1/g;p;q')
Y_RES=$(xrandr | sed -n 's/.{0,}current [0-9]{1,} x ([0-9]{1,}).{0,}/1/g;p;q')
let "X_RES -= 10"
let "Y_RES -= 30"
xfreerdp -u $userlogin -p $userpass --ignore-certificate -d vnt -a 32 -g ${X_RES}x${Y_RES} --plugin rdpdr --data disk:user:/home/user/Рабочий стол/obmen/ --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
fi
fi
[download id=»86″ format=»1″]
2012-04-20T22:50:34
Ubuntu — дружелюбный linux