Автор Тема: XRDP+Xfce4 кодировка (решено)  (Прочитано 157 раз)

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
XRDP+Xfce4 кодировка (решено)
« : 24.05.2022 08:06:18 »
Добрый день.
В качестве терминального сервера имеется виртуальная машина с установленным xfce, пользователи должны попадать на неё по xrdp. После входа весь текст в интерфейсе отображается некорректно. Прошу помочь.

# cat /etc/os-release
NAME="ALT SPServer"
VERSION="8.4"
ID=altlinux
VERSION_ID=8.4
PRETTY_NAME="ALT 8 SP Server (cliff)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:spserver:8.4"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"

# uname -r
5.10.106-std-def-alt0.c9f.2

# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

# cat /etc/locale.conf
LANG=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8

xrdp:  Установлен: 0.9.14-alt2:p9+258088.100.1.1@1600185712
xfce4-common:  Установлен: 4.14-alt7:p9+235935.2700.2.1@1565644754

« Последнее редактирование: 24.05.2022 16:10:29 от placher »

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 818
  • ITS
Re: XRDP+Xfce4 кодировка
« Ответ #1 : 24.05.2022 08:33:23 »
Вот рабочие настройки для xrdp на XfceSysV-p10. Шрифт корректен.
# rpm -qc xrdp
Цитировать
/etc/pam.d/xrdp-sesman
/etc/sysconfig/xrdp
/etc/xrdp/cert.pem
/etc/xrdp/key.pem
/etc/xrdp/rsakeys.ini
/etc/xrdp/sesman.ini
/etc/xrdp/xrdp.ini

# cat /etc/sysconfig/xrdp
# put some options here
#XRDP_OPTIONS=""
#SESMAN_OPTIONS=""

# cat /etc/xrdp/sesman.ini | grep -v ^\; | grep -v ^\#
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
ReconnectScript=reconnectwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
AlwaysGroupCheck=false
RestrictOutboundClipboard=false

[Sessions]
X11DisplayOffset=10

MaxSessions=50

KillDisconnected=false

DisconnectedTimeLimit=0

IdleTimeLimit=0

Policy=Default

[Logging]
LogFile=xrdp-sesman.log
LogLevel=INFO
EnableSyslog=true

[LoggingPerLogger]


[Xorg]
param=Xorg
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log

[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96

[Chansrv]
FuseMountName=thinclient_drives
FileUmask=077

[ChansrvLogging]
LogLevel=INFO
EnableSyslog=true

[ChansrvLoggingPerLogger]

[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa

# cat /etc/xrdp/xrdp.ini | grep -v ^\; | grep -v ^\#
[Globals]
ini_version=1
fork=true
port=3389
use_vsock=false
tcp_nodelay=true
tcp_keepalive=true

security_layer=negotiate
crypt_level=high
certificate=
key_file=

ssl_protocols=TLSv1.2, TLSv1.3
autorun=
allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
max_bpp=32
new_cursors=true
use_fastpath=both

blue=009cb5
grey=dedede

ls_top_window_bg_color=009cb5
ls_width=350
ls_height=430
ls_bg_color=dedede
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50
ls_label_x_pos=30
ls_label_width=65
ls_input_x_pos=110
ls_input_width=210
ls_input_y_pos=220
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30

[Logging]
LogFile=xrdp.log
LogLevel=INFO
EnableSyslog=true

[LoggingPerLogger]

[Channels]
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true

[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

# rpm -ql xorg-drv-xrdp
Цитировать
/etc/X11/xrdp/xorg.conf
/usr/lib64/X11/modules/drivers/xrdpdev_drv.so
/usr/lib64/X11/modules/input/xrdpkeyb_drv.so
/usr/lib64/X11/modules/input/xrdpmouse_drv.so
/usr/lib64/X11/modules/libxorgxrdp.so

# cat /etc/X11/xrdp/xorg.conf
Section "ServerLayout"
    Identifier "X11 Server"
    Screen "Screen (xrdpdev)"
    InputDevice "xrdpMouse" "CorePointer"
    InputDevice "xrdpKeyboard" "CoreKeyboard"
EndSection

Section "ServerFlags"
    # This line prevents "ServerLayout" sections in xorg.conf.d files
    # overriding the "X11 Server" layout (xrdp #1784)
    Option "DefaultServerLayout" "X11 Server"
    Option "DontVTSwitch" "on"
    Option "AutoAddDevices" "off"
EndSection

Section "Module"
    Load "dbe"
    Load "ddc"
    Load "extmod"
    Load "glx"
    Load "int10"
    Load "record"
    Load "vbe"
    Load "xorgxrdp"
    Load "fb"
EndSection

Section "InputDevice"
    Identifier "xrdpKeyboard"
    Driver "xrdpkeyb"
EndSection

Section "InputDevice"
    Identifier "xrdpMouse"
    Driver "xrdpmouse"
EndSection

Section "Monitor"
    Identifier "Monitor"
    Option "DPMS"
    HorizSync 30-80
    VertRefresh 60-75
    ModeLine "1920x1080" 138.500 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
    ModeLine "1280x720" 74.25 1280 1720 1760 1980 720 725 730 750 +HSync +VSync
    Modeline "1368x768" 72.25 1368 1416 1448 1528 768 771 781 790 +hsync -vsync
    Modeline "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -hsync +vsync
EndSection

Section "Device"
    Identifier "Video Card (xrdpdev)"
    Driver "xrdpdev"
    Option "DRMDevice" "/dev/dri/renderD128"
    Option "DRI3" "1"
EndSection

Section "Screen"
    Identifier "Screen (xrdpdev)"
    Device "Video Card (xrdpdev)"
    Monitor "Monitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "640x480" "800x600" "1024x768" "1280x720" "1280x1024" "1600x900" "1920x1080"
    EndSubSection
EndSection

Это для наводки. Возможно еще от чего то (библиотек) зависит. Смотри man.

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка
« Ответ #2 : 24.05.2022 08:45:14 »
Всё идентично, за исключением отсутствия строки  Option "DefaultServerLayout" "X11 Server" в /etc/X11/xrdp/xorg.conf
Строку добавил, вм рестартанул, не помогло.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: XRDP+Xfce4 кодировка
« Ответ #3 : 24.05.2022 09:13:55 »
# locale
Это у кого такая локаль ?
На сервере ? Или у клиента. И при чём тут локаль root ? Она тут не имеет значения

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка
« Ответ #4 : 24.05.2022 09:23:56 »
Это у кого такая локаль ?
На сервере ? Или у клиента. И при чём тут локаль root ? Она тут не имеет значения
У других локальных пользователей на сервере, под которыми входим по rdp, содержимое locale идентично.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: XRDP+Xfce4 кодировка
« Ответ #5 : 24.05.2022 11:01:35 »
Важна локаль клиента - это у него шрифты "китайские"

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка
« Ответ #6 : 24.05.2022 11:11:31 »
Важна локаль клиента - это у него шрифты "китайские"
Клиенты подключаются с windows-машин через mstsc и mremote.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: XRDP+Xfce4 кодировка
« Ответ #7 : 24.05.2022 11:14:37 »
Клиенты подключаются с windows-машин через mstsc и mremote.
Не в курсе, как у них локаль задаётся, но она явно не та

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка
« Ответ #9 : 24.05.2022 11:48:41 »
В настройках Windows 10 везде стоит русский язык, активировал поддержку UTF-8, но не помогло.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: XRDP+Xfce4 кодировка
« Ответ #10 : 24.05.2022 11:57:15 »
Возможно нет шрифта с ru_RU.utf8
Явно вместо символа написан какой-то код

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 003
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: XRDP+Xfce4 кодировка
« Ответ #11 : 24.05.2022 12:01:35 »
Например,
041f - это код кириилической буквы "П" в Юникоде и utf-8:
https://ru.wikipedia.org/wiki/П
https://wm-school.ru/html/html_utf_cyrillic.html
« Последнее редактирование: 24.05.2022 12:14:50 от ruslandh »

Оффлайн ProfessorNavigator

  • Давно тут
  • **
  • Сообщений: 89
Re: XRDP+Xfce4 кодировка
« Ответ #12 : 24.05.2022 12:35:16 »
Не знаю, будет ли полезно, поэтому - в качестве общей информации. В Windows (русская версия, про другие не знаю) все имена файлов идут как wchar_t. Т.е. двухбайтная кодировка. В русской версии кодировка CP1251 чаще всего. Попробуйте добавить её для Альта, если нет.

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка
« Ответ #13 : 24.05.2022 13:23:17 »
Смена локали сервера на ru_RU.cp1251 и явное указание шритфа не помогли.
# cat /etc/sysconfig/i18n
SYSFONTACM=cp1251
LANGUAGE=ru_RU.CP1251
SYSFONT=UniCyr_8x16
LANG=ru_RU.CP1251

Оффлайн placher

  • Начинающий
  • *
  • Сообщений: 7
Re: XRDP+Xfce4 кодировка (решено)
« Ответ #14 : 24.05.2022 16:09:53 »
Проблема решилась установкой пакетов
fonts-ttf-google-droid-sans
fonts-ttf-google-droid-sans-mono
fonts-ttf-google-noto