gifts2017

1С в нормальном окне терминала без Citrix'а

Опубликовал Виталий (nafa) в раздел Администрирование - Системное

При работе в терминальном режиме программа ведет себя не так, как обычно (занимает весь экран или наоборот оставляет черные полосы сбоку, не так сворачивается и пр). Каким образом можно этого избежать?

Проблема N1 - окно терминала занимает весь рабочий стол, включая панель задач. В результате не видно сообщений аськи и других программ, для того чтобы переключиться в другую программу, надо сворачивать 1С.

Наилучший вариант - установить Citrix или хотя бы Windows 2008 Server. А если такой возможности нет?

Посмотрите на скриншот ниже:

1C в окне терминала

Как видим, и 1С в терминале запущена, и панель задач на месте. Причем именно это именно панель задач клиента (т.к. на ней присутствует "Remote Desktop Connection", а не "1С"). Конечно, это не 'published application', но работать все равно намного удобнее.

Для того, чтобы все было совсем понятно, можно поглядеть видео.

А сделать это очень просто.

Хотя программа Remote Desktop Connection (Подключение к удаленному рабочему столу) в настройках дает на выбор только стандартные размеры окна подключения, но сама по себе она поддерживает любые размеры окна.

Рассмотрим типичный пример. На клиенте монитор 17", разрешение 1280х1024. Установлена Windows XP.

Итак, запускаем программу Remote Desktop Connection (Подключение к удаленному рабочему столу), выставляем все необходимые нам настройки для подключения к серверу (домен, имя сервера и пр.), выбираем вид подключения - в окне 1280х1024.

Настройка размера окна

Подключаться (Connect) не надо. Сохраняем настройки:

Сохранение настроек RDP

в файл, например 1c.rdp. Файл этот сохраняем подальше от пользователей, не надо помещать его на 'рабочий стол' или в 'мои документы', так как непосредствено его пользователь запускать не будет.

Теперь открываем этот файл блокнотом и ищем строчку "desktopheight:i:1024":

Редактируем файл 1c.rdp

Если у Вас используется тема "Windows XP", то есть панель задач выглядит так:

тема Windows XP

то вместо 1024 поставьте 964 (1024 - 60)

А если используется "классическая" тема оформления:

Классическая тема оформления

то вместо 1024 поставьте 974 (1024 - 50)

Сохраните файл и сделайте к нему ярлык (shortcut). В свойствах ярлыка установите: окно: развернутое на весь экран:

Установка развертки окна на весь экран

Вот ярлык уже размещается в месте, удобном для пользователя: на рабочем столе и п т.п.

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

Окно рабочего стола

Если у окна появились полосы прокрутки или наоборот, на экране осталось свободное месте, это значит, что размер окна подобран не правильно.

Окно терминала с полосами прокрутки

Это может быть связано с тем, что панель задачи выше стандартной (изменен системный шрифт или его размер или запущена какая-то программа, "съедающая" часть экрана. Решается подбором параметров desktopheight и desktopwidth в файле 1c.rdp.

После выполнения входа на терминальный сервер вы увидите две полосы задач - клиентская и серверная. Если пользователю рабочий стол сервера не нужен, а нужная только 1С (как это показано в примере в начале статьи), то укажите это в свойствах ярлыка на клиенте:

Запуск в терминале конкретной программы

или RDP соединения на сервере.

 

Проблема N2 - на большом мониторе справа и слева остаются черные полосы.

Имеем: Windows 2003 Server, клиент Windows XP, широкоформатный монитор с разрешением 1680х1050 точек. При коннекте в режиме "Полный экран" окно сервера открывается с рабочим столом 1600х1050 точек и справа и слева остаются черные полосы по 40 точек каждая.

Ну это еще ладно, а вот когда деньги заплачены за 24" 1920х1200, а картинка выдается только 1600х1200 - это уже совсем обидно.

Некоторые считают, что Windows 2003 Server не поддерживает терминальные сессии с большим разрешением и нужно устанавливать Windows 2008 Server, но это не так. Отлично поддерживает.

Решение этой проблемы совсем простое - скачиваем с microsoft.com последнюю версию терминального клиента: Remote Desktop Connection (Terminal Services Client 6.1) for Windows XP (KB952155) - и черных полос как не бывало.

 

Дополнение N1 от 23.12.2009

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

Особенную благодарность хочу выразить metaeditor, разработавшему программу HideRDPxButtoN, и JohnyDeath, сообщившему о ней. Эта программа блокирует кнопку "Закрыть" (крестик) в правом верхнем углу окна терминального подключения (а также соответствующий пункт меню окна).

Окно терминала с заблокированной кнопкой закрытия

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

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Sergey (cuba8) 22.12.09 06:42
Хорошая фишка. Плюс. Тоже используем терминал, в этом режиме есть одна нехорошая вещь для 1С, когда пользователь закрывает окно терминала нажатием на «крестик» всплывающей верхней полоски терминала. При этом окно терминала закрывается, сессия 1С остается открытой на сервере. В сети был способ редактирования файла mstsc.exe (терминальный ехе-шник), после которого при нажатии на «крестик» полоски терминала появлялось сообщение типа: «Сначала закройте 1С». Правда, редактирование файлов Windows это нарушение закона! Так же в сети есть способ изменения стартера 1С, т.е. при закрытии 1С в терминале – закрывается и терминальная сессия, удобно и пользователи не вредят.
2. tulke (tulke) 22.12.09 07:40
Прикольно. Только у меня 1440 х 900 поставил 1438 х 850
lihomanov; +1 Ответить
3. Алексей (ACE$) 22.12.09 08:26
действительно, вещь хорошая... Но если пользователей больше сотни, и все "хотят", это всем выставлять ручками?
Конечно это можно допилить политиками... Или еще лучше, расчитывать высоту экрана терминальной сессии исходя из высоты рабочей области клиентского экрана.

А если набрать в командной строке "mstsc /?" то можно увидеть еще много чего интересного
4. Александр Рытов (Арчибальд) 22.12.09 08:29
5. Виталий (nafa) 22.12.09 08:50
(1) Насчет закрытия пользователем окна терминала вместо 1С - в свойствах пользователя на сервере выставляем кому что надо: для понимающих - чтобы сессия отключалась, для непонимающих - чтобы закрывалась.
(3) Если пользователей много - лучше всего ставить Citrix. Вышеописанное - для ситуации когда его по каким-то причинам поставить нельзя.
6. 12345678999 (12345678999) 22.12.09 11:05
(5) Ситуация эта когда нет желания платить за доп лицензии цитрикса :D
когда можно обойтись стандартным рдп клиентом
ПС плюс в копилку
7. Евгений Мартыненков (JohnyDeath) 22.12.09 14:07
8. Алексей (begemot) 22.12.09 14:35
Все гениальное просто.... Плюс....
9. Алексей (ACE$) 22.12.09 14:37
могу сказать, что цитрикс сам по себе вещь весьма не дешевая... Посему у нас как рез те самые 100+ зверей сидят под стандартным mstsc
10. Иннокентий (delete009) 22.12.09 16:44
а при закрытие 1 с сессия остается активная, т.е. 1с закрываеться а терминальное окно нет остается просто синий экран который приходиться выключать через админа. Это как можно решить.
11. Виталий (nafa) 22.12.09 18:11
(10) Надо понять причину незакрытия. Их бывает несколько.
1. 1С запускает какую-то другую (невидимую) программу, которая не закрывается. Например, внешняя компонента защиты конфигурции доп. ключом (не путать с ключем самой 1С). Дело в том что если Вы логинитесь на рабочий стол, то выбор в Эксплорере завершения работы - это именно завершение работы (однако если просто убить процесс эксплорера завершения работы не произойдет).Если у Вас стоит запуск конкретной программы - то ее закрытие это не есть закрытие сессии, которое происходит при заверении всех запущенных программ. Проверяется анализом запущенных процессов. Попробуйте также вместо 1с запускать блокнот - будет сессия закрываться или нет.
2. Просто не закрывается сессия - по аналогии с тем, как бывает что при выборе завершения работы windows окошко "завершение работы" горит несколько минут и потом в системном журнале находим сообщения "неудалось сохранить реестр" и пр. Причины по моему самые разнообразные - левый софт, сбоит железо, винда криво активировалсь и пр.
12. OneS (OneS) 22.12.09 18:49
Размер окна терминала легко задаётся ключами /w: (ширина) и /h: высота.
Команды смотрятся mstsc /?
daulberg; annak2980; +2 Ответить 1
13. Dmitry Dmitry (Dimasik2007) 22.12.09 22:53
Если у Вас Windows Server 2008, то рекомендую технологию RemoteApp.
"Terminal Services RemoteApp™ (TS RemoteApp) – это технология, позволяющая пользователям получать доступ к удаленным приложениям через службы терминалов. Удаленные приложения на базе технологии TS RemoteApp ведут себя так, будто они запущены на локальном компьютере пользователя. Пользователи могут запускать эти приложения бок о бок с локальными. Если пользователь запускает на одном сервере терминалов несколько удаленных приложений, все они выполняются в рамках одного общего сеанса служб терминалов. Вы можете использовать веб-доступ к службам терминалов (TS Web Access), являющийся ролью служб терминалов, для обеспечения пользователям доступа к приложениям TS RemoteApp с помощью веб-обозревателя."
Инструкции: http://www.oszone.net/5542/ и здесь http://gotch.techfaq.ru/archives/282
14. K Anna (annak2980) 23.12.09 01:11
(12) спасибо за совет насчет /w: и /h:
я часто смотрю и подправляю базы по интернету через mstsc, а когда
видишь что происходит на твоем рабочем столе, действительно, удобно.
15. Александр Зайцев (Сашулик) 23.12.09 02:03
Спасибо! Очень познавательная статья.Мне, как буха,перебивающегося на подножном корме,очень пригодится!!!
16. Андрей Герасимов (imagoman) 23.12.09 04:34
однозначно плюс - удобно!
17. Олег Кобяков (kobol) 23.12.09 05:29
Вот и решина проблема старых принтеров :) при подключение в терминал, а то старые принтеры под 2008 и 2008 R2 не робят :cry: , драйверов нет,
может кто знает как запустить Canon LBP-810, xerox 3110, напишите kobol74@ya.ru ;)
Огромные плюсы +++++++++++++++++++++++++++++++++++++++++
18. Sergey (cuba8) 23.12.09 06:02
(17) Попробуй использовать программу ScrewDrivers - это быстродействующее и простое в использовании приложение. Этим решением могут воспользоваться администраторы, которые хотели бы предоставить пользователям возможность печати документов из любого приложения на любом сетевом принтере. ScrewDrivers автоматически обнаруживает атрибуты пользовательского принтера и создает полнофункциональный виртуальный принтер.
19. Наталья Власова (vlas) 23.12.09 06:07
Плюс и только плюс, спасибо очень облегчили жизнь!
21. WW WW (Sir12) 23.12.09 14:28
Странно - ниогда с полосами прокрутки в терминале не сталкивался. Работаю с 8-кой из под ХР
22. Александр (dobraleks) 23.12.09 15:31
Однозначно +.
Попробую реализовать у себя такое..
23. Олег Никоноров (nikolega) 23.12.09 15:32
Юзайте бесплатную программу http://remotedesktopmanager.com/
И никакой головной боли с размерами экрана и черными полосами не будет :)
24. Alexandr SmirnOFF (Sph1nX) 23.12.09 19:25
25. Валерий Дубовой (Valerich) 24.12.09 08:23
26. Александр Зубцов (iov) 24.12.09 11:45
Citrix отказались от данного решения (в пользу стандартных функций)
Проблем нет полет нормальный. А в качестве минусов решения всех рубить из терминала могу привести пример когда бухия запустила проведение на ночь.. А тут их.. А утром Вас... Сома софтина полезная забрал на всякий...
Но вот еще проблема а у меня из инета на терминал ходють, с домашних компов. (ну правда и этот вопрос решен был подключением всех "домашних" на отдельный сервак, но не у всех есть "отдельный" сервак для этих целей.)
27. Александр Зубцов (iov) 24.12.09 11:45
28. Евгений (mammon) 28.12.09 07:12
очень даже спасибо огромное, меня бухгалтерия ужо зако....ла.
Так что еще раз огромное спасибо
29. Oleg Aver'kov (Oleg_46) 28.12.09 09:09
30. bestbat 03.01.10 20:08
31. Сергей Б (mcbase) 12.01.10 13:57
Вещь то удобная но вот что-то мне подсказывает, что таким образом у бедного Админа останется куча запущенных 1с в терминале... ТК пользователи, наверняка будут просто закрывать Окно терминала не вырубив 1с - следовательно можно забыть про автоматический бекап баз))
32. Виталий (nafa) 12.01.10 15:25
(31) Эта проблема как раз решена - см. конец статьи - "Дополнение от 23.12.2009" и последний скринштот. Видимо что-то глюкануло и вам выдалась первоначальная версия статьи, где этого дополнения не было!
Просто ставите "проблемным" клиентам программу HideRDPxButtoN и никто после этого "не то окно" не закроет.
33. Сергей Б (mcbase) 12.01.10 16:18
)) А ну тогда - все ок... Соглашусь со всеми, вещь удобная, спасибо...
HideRDPxButtoN я уже давно качал, а то уже не знал что с пользователями делать..
34. Max (fotov) 13.01.10 18:59
кстати, можно использовать ещё параметры запуска mstsc
/w и /h (ширина и высота соответственно)

интересно - а можно ли сделать так чтобы окно mstsc запускалось без заголовка стандартного - на него бездарно расходуется экранное пространство
35. Виталий (nafa) 13.01.10 19:24
(34)
интересно - а можно ли сделать так чтобы окно mstsc запускалось без заголовка стандартного - на него бездарно расходуется экранное пространство

Раньше (на CRT мониторах) можно было картинку немного растянуть по вертикали и сместить вверх.
36. rasswet (rasswet) 29.01.10 09:19
полезная штука! спасибо!
37. Сергей Богайчук (bsa1968) 23.06.10 00:53
Нужная и полезная вещь! Спасибо!
38. Владимир Макаров (vladimir_makarov) 16.12.11 00:00
(1) Даже если пользователь закрыл окно терминала (при запущенной 1с), всегда есть возможность открыть его с того же места. И дать пользователю П...! Иначе Админ всегда (хоть по ходу работы) может вмешаться в сеанс пользователя так, что тот будет 2!!! мыши на экране видеть! Али я не прав? росто следить за ними надо! А то начинают с "Косынки", а кончают... сервер не справляется. Я имею ввиду прокси...
39. Павел (dardroze) 26.12.11 13:55
Поставил 974 (1024 - 50) все подошло.
Спасибо, стало гораздо удобней
40. Михаил Труников (voyger_men) 05.01.12 18:14
Отличная фишка, сам очень долго ковырялся пока не зашел сюда, теперь всем настроил терминал, сеть не тормозит, все счастливы, а еще вопрос, в терминале можно ведь чтоб именно 1с запускалась, но допустим нужно несколько баз 1с держать открытыми это нужно для каждой базы отдельного пользователя? или просто разные ярлыки запуска базы? я пробовал и так и так что-то не получилось ((
41. Владимир Макаров (vladimir_makarov) 09.01.12 08:10
(40)... а можно просто ПОЛНЫЙ доступ на сервер дать, который ограничен правами пользователя. Это подходит для тех, к кому у админа есть доверие!!! А для сети меньше загрузка, и пользователям можно машинки попроще ставить!
P.S. Сам свои слова извращением считаю! Ибо!!! Для пользователя сервер - это что-то далёкое, недоступное и святое! Иначе админ будет должен одновременно над всеми с плёткой стоять! Всё равно накосячат!!!...
42. amorhis (iotkin) 12.01.12 12:43
Написано доступно и понятно. А главное актуально для нашего предприятия. Огромное спасибо!!!
43. VictorK (VictorK) 03.03.12 15:40
Однозначно нужная и полезная вещь! Спасибо! Ставлю +.
44. nirbolz 14.04.12 13:24
Да крутая фишка) а я еще делаю чтобы клиенту автоматом 1ска запускалась через настройку на сервере.
45. John Smith (PiccaHut001) 17.10.14 18:56
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа