mirror of https://github.com/jumpserver/jumpserver
parent
53d8f716eb
commit
eee119eba1
|
@ -27,6 +27,7 @@ from perms.models import ActionChoices
|
||||||
from terminal.connect_methods import NativeClient, ConnectMethodUtil
|
from terminal.connect_methods import NativeClient, ConnectMethodUtil
|
||||||
from terminal.models import EndpointRule, Endpoint
|
from terminal.models import EndpointRule, Endpoint
|
||||||
from users.const import FileNameConflictResolution
|
from users.const import FileNameConflictResolution
|
||||||
|
from users.const import RDPSmartSize
|
||||||
from users.models import Preference
|
from users.models import Preference
|
||||||
from ..models import ConnectionToken, date_expired_default
|
from ..models import ConnectionToken, date_expired_default
|
||||||
from ..serializers import (
|
from ..serializers import (
|
||||||
|
@ -66,7 +67,6 @@ class RDPFileClientProtocolURLMixin:
|
||||||
'autoreconnection enabled:i': '1',
|
'autoreconnection enabled:i': '1',
|
||||||
'bookmarktype:i': '3',
|
'bookmarktype:i': '3',
|
||||||
'use redirection server name:i': '0',
|
'use redirection server name:i': '0',
|
||||||
'smart sizing:i': '1',
|
|
||||||
}
|
}
|
||||||
# 设置多屏显示
|
# 设置多屏显示
|
||||||
multi_mon = is_true(self.request.query_params.get('multi_mon'))
|
multi_mon = is_true(self.request.query_params.get('multi_mon'))
|
||||||
|
@ -106,6 +106,7 @@ class RDPFileClientProtocolURLMixin:
|
||||||
rdp_options['dynamic resolution:i'] = '0'
|
rdp_options['dynamic resolution:i'] = '0'
|
||||||
|
|
||||||
# 设置其他选项
|
# 设置其他选项
|
||||||
|
rdp_options['smart sizing:i'] = self.request.query_params.get('rdp_smart_size', RDPSmartSize.DISABLE)
|
||||||
rdp_options['session bpp:i'] = os.getenv('JUMPSERVER_COLOR_DEPTH', '32')
|
rdp_options['session bpp:i'] = os.getenv('JUMPSERVER_COLOR_DEPTH', '32')
|
||||||
rdp_options['audiomode:i'] = self.parse_env_bool('JUMPSERVER_DISABLE_AUDIO', 'false', '2', '0')
|
rdp_options['audiomode:i'] = self.parse_env_bool('JUMPSERVER_DISABLE_AUDIO', 'false', '2', '0')
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,11 @@ class RDPClientOption(TextChoices):
|
||||||
DRIVES_REDIRECT = 'drives_redirect', _('Drives redirect')
|
DRIVES_REDIRECT = 'drives_redirect', _('Drives redirect')
|
||||||
|
|
||||||
|
|
||||||
|
class RDPSmartSize(TextChoices):
|
||||||
|
DISABLE = '0', _('Disable')
|
||||||
|
ENABLE = '1', _('Enable')
|
||||||
|
|
||||||
|
|
||||||
class KeyboardLayout(TextChoices):
|
class KeyboardLayout(TextChoices):
|
||||||
EN_US_QWERTY = 'en-us-qwerty', 'US English (Qwerty)'
|
EN_US_QWERTY = 'en-us-qwerty', 'US English (Qwerty)'
|
||||||
EN_UK_QWERTY = 'en-gb-qwerty', 'UK English (Qwerty)'
|
EN_UK_QWERTY = 'en-gb-qwerty', 'UK English (Qwerty)'
|
||||||
|
|
|
@ -3,7 +3,10 @@ import json
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from users.const import RDPResolution, KeyboardLayout, RDPClientOption, AppletConnectionMethod
|
from users.const import (
|
||||||
|
RDPResolution, RDPSmartSize, KeyboardLayout,
|
||||||
|
RDPClientOption, AppletConnectionMethod
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MultipleChoiceField(serializers.MultipleChoiceField):
|
class MultipleChoiceField(serializers.MultipleChoiceField):
|
||||||
|
@ -37,6 +40,12 @@ class GraphicsSerializer(serializers.Serializer):
|
||||||
choices=RDPClientOption.choices, default={RDPClientOption.FULL_SCREEN},
|
choices=RDPClientOption.choices, default={RDPClientOption.FULL_SCREEN},
|
||||||
label=_('RDP client option'), required=False
|
label=_('RDP client option'), required=False
|
||||||
)
|
)
|
||||||
|
rdp_smart_size = serializers.ChoiceField(
|
||||||
|
RDPSmartSize.choices, default=RDPSmartSize.DISABLE,
|
||||||
|
required=False, label=_('Rdp smart size'),
|
||||||
|
help_text=_('Determines whether the client computer should scale the content on the remote '
|
||||||
|
'computer to fit the window size of the client computer when the window is resized.')
|
||||||
|
)
|
||||||
applet_connection_method = serializers.ChoiceField(
|
applet_connection_method = serializers.ChoiceField(
|
||||||
AppletConnectionMethod.choices, default=AppletConnectionMethod.WEB,
|
AppletConnectionMethod.choices, default=AppletConnectionMethod.WEB,
|
||||||
required=False, label=_('Remote application connection method')
|
required=False, label=_('Remote application connection method')
|
||||||
|
|
Loading…
Reference in New Issue