RDP клинет Linux или как подключиться к Windows из Linux
Если в вашей локальной сети присутствуют Windows сервера или клиентские машины с возможностью подключения к удаленному рабочему столу, то логично было бы иметь такую поддержку со стороны Linux машин. Такую возможность нам обеспечивает проект rdesktop и их одноименный rdp клиент.
Логика работы rdesktop основывается на протоколе RDP (Remote Desktop Protocol) - проприетарном протоколе Microsoft, используемом для удаленного доступа к рабочему столу Windows. Основная настройка в этом случае производится на стороне сервера - здесь же мы рассмотрим работу клиентской части, основные принципы, параметры и примеры использования.
Rdesktop установка
Итак приступим. rdesktop - консольная утилита, так что смело открывайте терминал и вводите
rdesktop
Если вы получили сообщение о том, что команда не найдена - её нужно установить. Для Debian-based дистрибутивов (Ubuntu, Linux Mint) команда установки rdesktop будет выглядеть так:
apt-get install rdesktop #Команду стоит вводить от лица root
Подключение к серверу
rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
Поясним:
- -z включает сжатие потока
- -P кэширование
- -g задает геометрию окна
- -u имя пользователя на сервере
- -p пароль.
Следует оговориться - задание пароля в явном виде в качестве опции для rdesktop не является безопасным, так как он может быть просмотрен другими пользователями с помощью команды ps. Поэтому, если компьютер может быть доступен другим пользователям (локальным или удаленным), эту опцию следует опускать - пароль можно будет ввести уже после установления сессии.
Опцию "-g" можно заменить опцией "-f". В этом случае окно rdesktop будет открыто на весь экран. Выход в этом случае можно будет инициировать нажатием клавиш Ctrl-Alt-Enter.
Обмен файлами между Windows и Linux в рамках сеанса rdp
Остро встает вопрос о возможности обмена файлами в рамках сессии между локальным и удаленным компьютером, так как перетаскивание не поддерживается. Первое, что можно сделать, это при помощи опции "-r disk:<sharename>=<path>" подключить любую локальную папку как диск Windows, который можно будет увидеть в "Мой компьютер". Например команда
rdesktop -r disk:share=/home/documents -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
кроме всего прочего подключит папку /home/documents в качестве диска "share" в "Мой компьютер" на стороне Windows. Вы сможете читать и записывать файлы. Однако, следует помнить, что владельцем подключаемой папки должен быть тот пользователь, от лица которого запускается rdp client. Иначе (запуская rdesktop от лица, например, root) вы не сможете потом получить доступ к записанным файлам, пока не установите правильного владельца. Если это произошло, воспользуйтесь командой chown для смены владельца и группы:
chown -R /home/documents USERNAME:USERGROUP
Второй доступный способ, это при помощи протоколов SMB или NFS сделать общую сетевую папку. Читайте документацию по созданию таких хранилищ и их подключению к системам Windows и Linux
Создание простой кнопки запуска
Чтобы каждый раз не открывать консоль и не вводить длительные последовательности команд и опций, можно сделать кнопку запуска, два раза кликнув по которой можно запустить требуемый сеанс.
Для этого нужно поместить команду целиком в текстовый файл в нужном месте (на Рабочий Стол, или любую другую папку), добавить одну строчку до нее и сделать файл исполняемым. Так, исползуя пример из первой части делаем такой текстовый файл такого содержания:
#!/bin/bash
rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP
И делаем его исполняемым (из консоли):
chmod +x PATH_TO_MY_TEXT_FILE
Добавить комментарий