Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Сервер удаленного раб.стола freerdp2-shadow-x11 не принимает коннект  (Прочитано 1095 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Всем доброго дня! Подскажите, хочу сделать удаленный доступ к раб.столу в линухе, Ubuntu 20.04 десктоп Мате, из винды (в данном случае не суть что из винды, и из другого линуха тоже придется) Использовал для сервера раб.стола XRDP - работает, удаленно можно к компу подключиться, но XRDP не понравился, тормозной и глючный, да и вроде он как заброшен давно, решил использовать freerdp2-shadow-x11, установил его, сервис XRDP остановил и отключил, запускаю сервер freerdp командой freerdp-shadow-cli (в /usr/bin это единственный его бинарник) Запускал с разными опциями, и так и от sudo:
freerdp-shadow-cli /sec:tls
freerdp-shadow-cli /port:3389 /sec:tls
freerdp-shadow-cli /sam-file:/etc/SAM /sec:nla (Создавал SAM файл с хешем по мануалам) freerdp-shadow-cli -auth

В результате выполнения freerdp выводит:

Цитировать
[09:20:06:131] [67975:67975] [INFO][com.freerdp.server.shadow.x11] - X11 Extensions: XFixes: 1 Xinerama: 1 XDamage: 0 XShm: 0
[09:20:06:136] [67975:67975] [INFO][com.freerdp.core.listener] - Listening on [0.0.0.0]:3389

и ждет коннекта но при попытке коннекта с другого компа от freerdp никакой реакции, он даже не видит что к нему пытаются законнектится, эти две строчки так и висят, открывал порт 3389 и на UDP и на TCP,

Цитировать
sudo iptables -I INPUT 1 -p tcp --dport 3389 -j ACCEPT
sudo iptables -I INPUT 1 -p udp --dport 3389 -j ACCEPT

безрезультатно, freerdp все равно не реагирует (а XRDP то и без всякого открытия порта принимает коннект на 3389)

Подскажите что можно сделать?

Оффлайн c47

  • Активист
  • *
  • Сообщений: 356
    • Просмотр профиля
Добрый день!
xrdp должен работать, приведите сюда вывод
cat /etc/X11/Xsessionи загуглите какой командой инициализируется графическое окружение вашего mate, и положите это значение в /home/%username%/.xsession (а также в /etc/skel/.xsession для новых юзеров)
(Нажмите, чтобы показать/скрыть)

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Цитировать
xrdp должен работать, приведите сюда вывод
Вот после запуска sudo xrdp -n (службу решил не запускать, так XRDP запускается без не в режиме фоновой службы, но резльтат его работы одинаков - что служба что так)
Цитировать
[20211011-11:25:42] [INFO ] starting xrdp with pid 71145
[20211011-11:25:43] [INFO ] address [0.0.0.0] port [3389] mode 1
[20211011-11:25:43] [INFO ] listening to port 3389 on 0.0.0.0
[20211011-11:25:43] [INFO ] xrdp_listen_pp done
Дальше он слушает порт и при попытке удаленного коннекта:
Цитировать
[20211011-11:31:06] [INFO ] Socket 12: AF_INET6 connection received from XXX:XXX:XXX:XXX:XXX:XXX:XXX:XXX port 62478
[20211011-11:31:06] [DEBUG] Closed socket 12 (AF_INET6 XXX:XXX:XXX:XXX:XXX:XXX:XXX:XXX port 3389)
[20211011-11:31:06] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20211011-11:31:06] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20211011-11:31:06] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20211011-11:31:06] [DEBUG] TLSv1.3 enabled
[20211011-11:31:06] [DEBUG] TLSv1.2 enabled
[20211011-11:31:06] [DEBUG] TLSv1.1 enabled
[20211011-11:31:07] [DEBUG] TLSv1 enabled
[20211011-11:31:07] [DEBUG] Security layer: requested 11, selected 1
ssl_tls_accept: TLS connection accepted
colorDepth 0xca01 (0xca00 4bpp 0xca01 8bpp)
[20211011-11:31:09] [INFO ] connected client computer name: COMP1
postBeta2ColorDepth 0xca01 (0xca00 4bpp 0xca01 8bpp 0xca02 15bpp 0xca03 16bpp 0xca04 24bpp)
highColorDepth 0x000f (0x0004 4bpp 0x0008 8bpp 0x000f 15bpp 0x0010 16 bpp 0x0018 24bpp)
supportedColorDepths 0x000f (0x0001 24bpp 0x0002 16bpp 0x0004 15bpp 0x0008 32bpp)
earlyCapabilityFlags 0x07ad (0x0002 want32)
got client client connection type 0x00000002
xrdp_sec_process_mcs_data_CS_SECURITY:
  client supports 40 bit encryption
  client supports 128 bit encryption
  client supports 56 bit encryption
  client supports fips encryption
[20211011-11:31:09] [INFO ] adding channel item name rdpdr chan_id 1004 flags 0x80800000
[20211011-11:31:09] [INFO ] adding channel item name rdpsnd chan_id 1005 flags 0xc0000000
[20211011-11:31:09] [INFO ] adding channel item name cliprdr chan_id 1006 flags 0xc0a00000
[20211011-11:31:09] [INFO ] adding channel item name drdynvc chan_id 1007 flags 0xc0800000
error unknown xrdp_sec_process_mcs_data tag 0xc006 size 8
error unknown xrdp_sec_process_mcs_data tag 0xc00a size 8
xrdp_sec_out_mcs_data: using no security
xrdp_load_keyboard_layout: keyboard_type [4] keyboard_subtype

xrdp_load_keyboard_layout: model [] variant [] layout [ru] options []
[20211011-11:31:09] [INFO ] TLS connection established from XXX:XXX:XXX:XXX:XXX:XXX:XXX:XXX port 62478: TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384
xrdp_caps_process_order: bitmap cache v3 supported
xrdp_caps_process_pointer: client supports new(color) cursor
xrdp_caps_process_glyphcache: support level 3
xrdp_process_offscreen_bmpcache: support level 1 cache size 5242880 MB cache entries 100
xrdp_caps_process_surface_cmds:
  cmdFlags 0x00000052
xrdp_caps_process_frame_ack:
  max_unacknowledged_frame_count 2
xrdp_caps_process_codecs: nscodec, codec id 1, properties len 3
xrdp_caps_process_codecs: unknown codec id 5
xrdp_caps_process_codecs: RemoteFX, codec id 3, properties len 49
yeah, up_and_running
xrdp_channel_drdynvc_start:
xrdp:xrdp_bitmap [1853497883]: xrdp_bitmap_create: noorders
[20211011-11:31:10] [DEBUG] xrdp_00011661_wm_login_mode_event_00000001
xrdp:xrdp_mm [1853497936]: xrdp_mm_create: bpp 15 mcs_connection_type 2 jpeg_codec_id 0 v3_codec_id 0 rfx_codec_id 3 h264_codec_id 0
[20211011-11:31:10] [INFO ] Loading keymap file /etc/xrdp/km-00000419.ini
[20211011-11:31:10] [WARN ] local keymap file for 0x00000419 found and doesn't match built in keymap, using local keymap file
xrdp_wm_login_mode_changed: login_mode is 0
in xrdp_wm_init:
xrdp_wm_init: channel rdpdr channel id 0 is allowed
xrdp_wm_init: channel rdpsnd channel id 1 is allowed
xrdp_wm_init: channel cliprdr channel id 2 is allowed
xrdp_wm_init: channel drdynvc channel id 3 is allowed
   xrdp_wm_init: no autologin / auto run detected, draw login window
xrdp:xrdp_cache [1853498158]: xrdp_cache_add_bitmap: reset detected cache_id 2
xrdp:xrdp_cache [1853498159]: xrdp_cache_add_bitmap: reset detected cache_id 1
out xrdp_wm_init:
xrdp_wm_login_mode_changed: login_mode is 1
drdynvc_process_capability_response: DVC version 3 selected
xrdp:xrdp_mm [1853498160]: xrdp_mm_drdynvc_up:
Свой айпи удаленного компа затер XXX, открылось окно ввода логина и пароль, дальше думаю нет смысла вывод приводить - коннект есть а в freerdp даже до этого не доходит
Цитировать

и загуглите какой командой инициализируется графическое окружение вашего mate
Чето ненашел пока ничего

Цитировать
cat /etc/X11/Xsession:

#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xsession

message () {
  # pretty-print messages of arbitrary length; use xmessage if it
  # is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

message_nonl () {
  # pretty-print messages of arbitrary length (no trailing newline); use
  # xmessage if it is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

errormsg () {
  # exit script with error
  message "$*"
  exit 1
}

internal_errormsg () {
  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
  # One big call to message() for the sake of xmessage; if we had two then
  # the user would have dismissed the error we want reported before seeing the
  # request to report it.
  errormsg "$*" \
           "Please report the installed version of the \"x11-common\"" \
           "package and the complete text of this error message to" \
           "<debian-x@lists.debian.org>."
}

# initialize variables for use by all session scripts

OPTIONFILE=/etc/X11/Xsession.options

SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources

SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

# truncate ERRFILE if it is too big to avoid disk usage DoS
if [ "`stat -c%s \"$ERRFILE\"`" -gt 500000 ]; then
  T=`mktemp -p "$HOME"`
  tail -c 500000 "$ERRFILE" > "$T" && mv -f "$T" "$ERRFILE" || rm -f "$T"
fi

exec >>"$ERRFILE" 2>&1

echo "$PROGNAME: X session started for $LOGNAME at $(date)"

# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
fi

# Attempt to create a file of non-zero length in /tmp; a full filesystem can
# cause mysterious X session failures.  We do not use touch, :, or test -w
# because they won't actually create a file with contents.  We also let standard
# error from tempfile and echo go to the error file to aid the user in
# determining what went wrong.
WRITE_TEST=$(tempfile)
if ! echo "*" >>"$WRITE_TEST"; then
  message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
          "with an error"
fi
rm -f "$WRITE_TEST"

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi

exit 0

# vim:set ai et sts=2 sw=2 tw=80:


Только зачем если проблема в том что freerdp даже не хочет принимать коннект


Оффлайн c47

  • Активист
  • *
  • Сообщений: 356
    • Просмотр профиля
USERXSESSION=$HOME/.xsession
значит в mate также, потом когда найдёте команду запускающую графическое окружение - в этот файлик эту команду прописать

IPv4 не используете принципиально?

а в freerdp даже до этого не доходит
зачем freerdp, если работает xrdp?

Во, пока отвечал - вспоминал где ж я находил себе мануал, вспомнил, вот

 

Страница сгенерирована за 0.07 секунд. Запросов: 25.