Параметры дисплея невозможно изменить во время удаленного сеанса
Чтобы увидеть весь удаленный рабочий стол в окне rdp клиента необходимо сделать так, чтобы разрешение экрана на данном компьютере совпадало с разрешением экрана на удалённом компьютера (это достигается соответствующей настройкой в rdp клиенте). Однако это может быть не всегда удобно или достижимо, например, в случаях rdp доступа с нетбука к рабочему столу рабочей станции (разрешение которой больше, чем разрешение монитора, с которого осуществляется соединение) либо при необходимости работы в небольшом rdp окне с измененными размерами.
Функция динамического масштабирования изображения в окне терминальной сессии (“smart-sized” mode) впервые появилась еще в Windows XP (пользователи Remote Assistance, вероятно, помнят режим масштабирования изображения при изменении размера окна). Режим smart-size подразумевает, что весь удаленный рабочий стол целиком помещается в клиентском окне (без использования полос прокрутки), а при изменении размера клиентского окна, изображение автоматически масштабируется так, чтобы целиком поместится в него.
RDP сессия в режиме масштабирования (smart-size) выглядит так:
При отключенном режиме smart-size в окне RDP сессии помещается лишь часть изображения рабочего стола, и для его просмотра нужно использовать полосы прокрутки.
В Windows XP и Windows 7 включить режим масштабирования в терминальном клиенте возможно было только отредактировав .rdp файл. Для этого необходимо было открыть файл с расширением .rdp с помощью любого текстового редактора и добавить строку:
smart sizing:i:1
Затем изменения в файле нужно сохранить и при следующем запуске RDP клиента он будет открываться в режиме масштабирования (smart-size).
В новой версии rdp клиента в Windows Server 2012 и Windows 8 (rdp v. 8.0) появилась возможность динамической активации и отключения функции масштабирования (smart-sizing) прямо из графического интерфейса RDP клиента (как включить rdp в Win 8 описано в статье — Как включить удаленный рабочий стол в Windows 8).
Для этого щелкните по элементу в верхнем левом углу окно RDP и отметьте опцию Smart Sizing. Режим работы rdp клиента изменится со «статического разрешения» на динамическое, зависящее от размеров окна.
Теперь при изменении размеров окна rdp сессии, его содержимое будет автоматически масштабироваться так, чтобы целиком поместится в окошко.
Отметим, что возможность масштабирования в таком инструменте Windows-администратора, как Remote Desktop Connection Manager, позволяющего удобно организовать rdp работу со множеством Windows серверов, отсутствует.
Как изменить разрешение удаленного рабочего стола
Для изменения разрешения экрана удаленного рабоченго стола необходимо в настройках подключения RDP произвести следующие действия: |
1. После запуска клиента подключения к удаленному рабочему столу в появившемся окне нажмите кнопку Параметры (обозначена красным на скриншоте ниже).
2. Далее перейдите на вкладку Экран и передвигайте появившийся ползунок (обозначен красным на скриншоте ниже) для измения разрешения. После этого можете работу с удаленным рабочим столом в обычном режиме.
Обратите внимание на то, что разрешение рабочего стола на сервере не может быть больше чем разрешение на Вашем компьютере.
Если подключаясь к удаленному компьютеру по RDP вы хотите видеть весь удаленный рабочий стол целиком, то необходимо сделать так, чтобы разрешение экрана клиента совпадало с разрешением удаленного компьютера. Однако в некоторых случаях это может быть неудобно или невозможно. К примеру, физическое разрешение локального компьютера может быть меньше, чем удаленного, либо требуется открыть несколько удаленных сессий одновременно.
В этом случае в окне RDP-клиента поместится лишь часть удаленного экрана и для работы придется использовать прокрутку, что крайне неудобно.
Выходом из данной ситуации может быть режим динамического масштабирования. В этом режиме размер удаленного рабочего стола изменяется таким образом, чтобы целиком поместиться в окне RDP-клиента без использования полос прокрутки. При изменении размеров окна изображение также изменяется, автоматически подстраиваясь под нужный размер.
Динамическое масштабирование появилось еще в Windows XP, однако включить режим масштабирования можно было только отредактировав файл подключения. Для этого надо открыть файл с расширением .rdp в Блокноте (или другом текстовом редакторе)
и добавить в него такую строку:
smart sizing:i:1
После внесения изменений файл надо сохранить, и при следующем подключении RDP-клиент будет запущен в режиме масштабирования.
В восьмой версии RDP клиента в Windows Server 2012 и Windows 8 появилась возможность управлять масштабированием на лету, прямо из графического интерфейса. Для включения масштабирования достаточно кликнуть правой клавишей мыши в левом верхнем углу окна RDP и отметить в контекстном меню пункт Интеллектуальное изменение размера (Smart sizing).
Примечание. Для Windows Server 2008 R2 и Windows 7 RDP 8.0 можно установить отдельно, в виде обновления.
Бывает, что нужно подключаться к удаленному рабочему столу с ноутбука, у которого размер экрана не очень большой. Часто на самом сервере выставлено максимальное разрешение экрана для "удаленки", которое хорошо подходит для стационарного монитора с большой диагональю, но для ноутбука получается слишком мелко. А изменение параметров удаленного рабочего стола может заблокировано настройкой прав пользователя.
В настройках подключения выбор разрешения экрана отсутствует:
Я пробовал изменить настройки подключения, открыв файл ".rdp" в редакторе, но этот маневр результата также не принес (экспериментировал с параметрами desktopwidth, desktopheight и winposstr):
desktopwidth:i: - ширина рабочего стола. Выбирается на вкладке ”Экран” окна ”Параметры” средства ”Подключение к удаленному рабочему столу”.
desktopheight:i: - высота рабочего стола. Выбирается на вкладке ”Экран” окна ”Параметры” средства ”Подключение к удаленному рабочему столу”.
winposstr:s: - позиция и размеры окна в формате WINDOWPOS
Нашел выход из положения следующим способом: Подключение RDP устроено таким образом, что разрешение удаленного рабочего стола не может быть больше разрешения экрана компьютера, с которого осуществляется подключение. Скорее всего, эта системная настройка, которую нельзя изменить политиками на сервере. Таким образом, чтобы уменьшить разрешение на "удаленке" можно выставить нужное разрешение экрана на вашем компьютере до требуемого перед запуском подключения. При этом не требуется менять настройки самого подключения.
P.S. Не претендую на глубокое знание администрирования WS, возможно, это не лучшее решение проблемы, но другого варианта я не нашел. Буду признателен, если кто-то напишет в комментариях, как устанавливать разрешение удаленного рабочего стола, не меняя разрешение экрана своего компьютера.
Параметы сеанса - это общие объекты конфигурации. Они предназначены для использования в ограничении доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса 1С:Предприятия. Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей.
Система прав доступа позволяет описывать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретным прикладным решением.
Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т.д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т.д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.
Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации - Роли.
Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.
Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.
Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. Так же наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.
Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных, ему необходимо обладать интерактивными правом Редактирование. Это право, в свою очередь, требует наличия интерактивного права Просмотр.
Право Интерактивное удаление помеченных требует наличия основного права Удаление. Интерактивное право Редактирование требует наличия основного права Изменение. Интерактивное право Просмотр требует наличия основного права Чтение.
Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.
Среди действий над объектами, хранящимися в базе данных (справочниками, документами и т.д.), есть действия, отвечающие за чтение или изменение информации, хранящейся в базе данных. К таким действиям относятся:
- чтение - получение записей или их фрагментов из таблицы базы данных;
- добавление - добавление новых записей без изменения существующих;
- изменение - изменение существующих записей;
- удаление - удаление некоторых записей без внесения изменений в оставшиеся.
Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение "истина". Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).
Вообще, параметры сеанса - это некоторые значения, которые хранятся для конкретной клиентской сессии. Это может быть "имя пользователя" или "список регионов", доступных для конкретного пользователя. Контекст доступности параметров сеанса - "сервер". Поэтому устанавливать и читать их мы можем только на "сервере". Следует отметить, что параметры сеанса кэшируются, т.е. хранятся в памяти клиентского приложения, и поэтому к ним обеспечивается достаточно быстрый доступ.
Что касается области их применения, то в основном это разграничение доступа на уровне детальных записей. Допустим есть список контрагентов, которые сегментированы по различным регионам. Пользователю при входе устанавливается значение параметра сеанса "Регион" (допустим это "62" и "51") и далее в запросах на органичение доступа система может обращаться к параметрам сеанса напрямую -
При этом в самих запросах значение параметров сеанса не устанавливается. Система точно знает, что это параметр сеанса.
Посмотрим на типы данных, которые могут принимать параметры сеансов:
Среди доступных типов мы можем видеть не только стандартные типы (ссылочные типы, примитивные типы данных), но и такие типы как "Фиксированный массив", "Фиксированная структура", "Фиксированное соответствие".
Каким образом выглядит технология работы с параметрами сеанса. Во-первых их нужно инициализировать. Выполняется это в модуле, который исполняется самым первым при старте системы - это "Модуль сеанса". Здесь есть стандартный обработчик события - "УстановкаПараметровСеанса()".
Важно отметить, что "Модуль сеанса" всегда исполняется в привилегированном режиме, т.е. контроля прав в этом модуле не существует.
Вообще, касательно привелегированных модулей:
Существует возможность назначения привилегированных модулей. В такие модули могут быть перенесены операции, использующие данные, на которые у текущего пользователя нет прав.
Например, пользователю могут быть назначены права, позволяющие создавать новый документ. Однако никаких прав на регистр, в котором этот документ создает движения при проведении, пользователю не дано. В такой ситуации процедура проведения документа может быть вынесена в привилегированный модуль, который выполняется на сервере без проверки прав. В результате, несмотря на то, что соответствующий регистр для пользователя недоступен, пользователь все же сможет проводить созданные им документы.
Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим(), а также функция ПривилегированныйРежим(), которая позволяет определить, включен привилегированный режим, или нет.
Использование привилегированного режима позволяет, во-первых, ускорить работу, так как не будут накладываться ограничения на доступ к данным, а во-вторых, позволяет выполнять операции с данными от лица пользователей, которым эти данные недоступны.
Привилегированный режим рекомендуется использовать тогда, когда с логической точки зрения нужно отключить проверку прав, или когда можно отключить проверку прав, чтобы ускорить работу. Допустимо использовать привилегированный режим тогда, когда работа с данными от лица некоторого пользователя не нарушает установленные для этого пользователя права доступа.
Обычно значения параметров сеанса берутся из служебных объектов, например из регистра сведения считываются значения, соответствующие пользователю, входящему в систему. В дальнейшем мы можем обращаться к параметрам сеанса, т.е. читать значения, перезаписывать в любом серверном программном коде. Следует отметить, что если мы попытаемся обратиться к параметрам сеанса, значения которых не инициализировано, то произойдет ошибка.
Поскольку параметры сеанса являются объектами конфигурации, мы можем выставить для них права доступа:
Для каждой роли мы можем указать возможность получения параметра сеанса и возможность установки. Таким образом для обычного пользователя мы можем указать, что он может параметры сеанса получать, т.е. обращаться к нему, но поменять значение параметра сеанса он не сможет. Это очень важный момент, поскольку при ограничении прав доступа на уровне записей мы позволяем себе опираться на значения которые содержатся в параметрах сеанса. И если вдруг пользователь смог бы превысить свои полномочия, т.е. переустановит параметры сеанса (в нашем случае добавить еще один регион), он мог бы увидеть те документы, которые не должен.
Причем здесь важно понимать, что при старте приложения в модуле сеанса у нас параметры сеанса спокойно инициализируются, даже не смотря на то, что у нас нет прав на его изменение. Это особенность привелегированного режима, т.е. контроля прав доступа в нем нет.
Мы рассмотрели объект параметры сеанса и может возникнуть такой соблазн, использовать параметры сеанса как глобальные переменные. Действительно ведь у нас, те переменные, которые объявляются в модуле управляемого приложения доступны только на "клиенте", а как таковых серверных глобальных переменны у нас нет. А параметры сеанса как раз доступны на "сервере".
Например, при создании документа, неплохо было бы знать его автора. Создаем новый параметр и задаем ему имя "ТекущийПользователь":
Заполняем свойства параметра:
Теперь нам необходимо задать параметру имя текущего пользователя. Открываем модуль сеанса:
здесь мы из метаданных берем уникальный идентификатор пользователя, находим по этому реквизиту пользователя из справочника "Пользователи" и присваеваем ссылку пользователя нашему параметру "ТекущийПользователь".
Теперь чтобы воспользоваться параметром "ТекущийПользователь" на клиенте, создадим процедуру обертку которую можно будет вызвать откуда угодно. Я эту процедуру поместил в общий модуль "ОМПользователи":
разместить на форме и добавить событие " ПриСозданииНаСервере ":
Но все таки не следует использовать параметры сеанса именно как глобальные переменные. Поскольку они у нас храняться на сервере т. е. они расширяют сеансовые данные нашего рабочего процесса и у параметров сеанса расширенный интерфейс, в отличии от переменных. По сути объект предназначен для решения другой задачи. Во первых параметры сеанса жестко типизированы, т.е. мы можем указать тип данных, который хранится в параметре сеанса и изменить его будет нельзя. Кроме этого на уровне параметров сеанса настраиваются права доступа. И также основное предназначение параметров сеанса это использование обращения к ним в запросах по ограничению доступа на уровне записей. Поэтому тот объект, с которым мы имеем дело имет достаточно большой командный интерфейс, и использовать его как глобальную переменную было бы не правильно.
Хотелось бы обратить внимание на еще одну особенность, связанную с параметрами сеанса. Речь будет идти о "Модуле сеанса" и конкретно о событии - "УстановкаПараметровСеанса". Мы знаем, что это событие вызывается в момент старта приложения. Кроме того контекст "Модуля сеанса" это "сервер" и соответственно может возникнуть желание выполнять какие - либо действия, выполняемые на сервере, при старте приложения. Но делать этого категорически нельзя, потому что обработчик события "УстановкаПараметровСеанса" вызывается не только при старте приложения, но и в момент чтения параметра сеанса, который не был инициализирован.
Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Basic Windows 7 Home Premium Windows 7 Starter Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Еще. Меньше
Сведения об исправлении
Важно. Это исправление было повторно выпущено для устранения проблемы, в котором цифровая подпись файлы создаются и подписаны Майкрософт истекает преждевременно, как описано в рекомендации 2749655 безопасности корпорации Майкрософт.
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.
Если исправление доступно для скачивания, имеется раздел "Пакет исправлений доступен для скачивания" в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Для получения полного списка телефонов поддержки и обслуживания клиентов корпорации Майкрософт, или для создания отдельного запроса на обслуживание, посетите следующий веб-сайт Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Предварительные условия
Для установки этого исправления необходимо наличие Windows 7 с пакетом обновления 1 (SP1) или Windows Server 2008 R2 с пакетом обновления 1 (SP1). Дополнительные сведения о получении пакета обновления Windows 7 или Windows Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:
976932 сведения о Пакет обновления 1 для Windows 7 и Windows Server 2008 R2
Сведения о реестре
Для установки этого исправления нет необходимости вносить изменения в реестр.
Необходимость перезагрузки
После установки исправления компьютер необходимо перезагрузить.
Сведения о замене исправлений
Это исправление не заменяет ранее выпущенные исправления.
Сведения о файлах
Глобальная версия этого исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.
Примечания к сведениям о файлах Windows 7 и Windows Server 2008 R2
Важно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе "Windows 7/Windows Server 2008 R2" страницы. Всегда смотрите раздел "Информация в данной статье относится к следующим продуктам" статьи для определения фактических операционных систем, к которым применяется каждое исправление.
Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и направлению поддержки (LDR, GDR), можно определить по номерам версий, как показано в следующей таблице.
Если подключаясь к удаленному компьютеру по RDP вы хотите видеть весь удаленный рабочий стол целиком, то необходимо сделать так, чтобы разрешение экрана клиента совпадало с разрешением удаленного компьютера. Однако в некоторых случаях это может быть неудобно или невозможно. К примеру, физическое разрешение локального компьютера может быть меньше, чем удаленного, либо требуется открыть несколько удаленных сессий одновременно.
В этом случае в окне RDP-клиента поместится лишь часть удаленного экрана и для работы придется использовать прокрутку, что крайне неудобно.
Выходом из данной ситуации может быть режим динамического масштабирования. В этом режиме размер удаленного рабочего стола изменяется таким образом, чтобы целиком поместиться в окне RDP-клиента без использования полос прокрутки. При изменении размеров окна изображение также изменяется, автоматически подстраиваясь под нужный размер.
Динамическое масштабирование появилось еще в Windows XP, однако включить режим масштабирования можно было только отредактировав файл подключения. Для этого надо открыть файл с расширением .rdp в Блокноте (или другом текстовом редакторе)
и добавить в него такую строку:
smart sizing:i:1
После внесения изменений файл надо сохранить, и при следующем подключении RDP-клиент будет запущен в режиме масштабирования.
В восьмой версии RDP клиента в Windows Server 2012 и Windows 8 появилась возможность управлять масштабированием на лету, прямо из графического интерфейса. Для включения масштабирования достаточно кликнуть правой клавишей мыши в левом верхнем углу окна RDP и отметить в контекстном меню пункт Интеллектуальное изменение размера (Smart sizing).
Примечание. Для Windows Server 2008 R2 и Windows 7 RDP 8.0 можно установить отдельно, в виде обновления.
В завершение напомню, что речь шла только о родном RDP-клиенте (mstsc.exe). В административных оснастках типа Remote Desktops или Remote Desktop Connection Manager динамическое масштабирование не работает, в них для изменения размеров окна надо отключаться от удаленной машины.
Решение
Симптомы
Предположим, что вы используете сеанс удаленного рабочего стола для подключения к компьютеру под управлением Windows 7 или Windows Server 2008 R2. В этом случае нельзя изменить параметр числа точек на дюйм (DPI) на компьютере.
Примечание. Масштабный коэффициент позволяет изменить размер всех шрифтов и других элементов пользовательского интерфейса на компьютере. Например можно изменить параметр для повышения четкости пользовательского интерфейса.
Читайте также: