Вопрос или проблема
(Примечание: это работало на Fedora 23)
Мои коллеги и я пытаемся использовать Windows Remote Desktop Connection для подключения к машинам, работающим под управлением Fedora 25. Мы используем XRDP как наш VNC-провайдер и используем Windows 7.
Изначально, когда мы пытаемся подключиться с Windows, мы видим черный экран, затем соединение сбрасывается.
Я внес следующие изменения в файл xrdp.ini:
allow_channels=false
#allow_channels=true
Это позволяет мне подключаться к Fedora-машине через Remote Desktop. К сожалению, это работает только один раз. При второй попытке подключиться это не удается. После сбоя, выполнение ps -eaf | grep xrdp
показывает ДВА экземпляра xrdp-sesman --nodaemon
, работающих в системе.
Вторая проблема: после входа на машину Fedora через удаленный рабочий стол, я не могу войти на нее локально из-за сообщения об ошибке “не удалось получить имя в шине сеансов”. Я переключился на терминал, вошел как root и выполнил systemctl restart xrdp
, но все равно не смог войти как обычный пользователь. (Примечание для себя: отключить вход root, как только это исправлю).
Итак, у меня два вопроса:
-
Как мне исправить ошибку, из-за которой я не могу войти больше одного раза (я не знаю, какой xrdp-sesman завершить, и не знаю, приведет ли это к сбою xrdp).
-
Как мне войти локально И через удаленный рабочий стол одновременно?
Спасибо за любую помощь.
обновление : добавлен текст сообщения об ошибке Джейсон
Похоже, я решил проблему.
Фокус был в том, чтобы внести несколько изменений в /etc/xrdp/xrdp.ini, создать файл .Xinitrc, чтобы указать, какой менеджер сеансов использовать, а затем создать файл XWrapper.config.
Изменения в xrdp.ini:
autorun=Xorg
max_bpp=16
Файл .Xinitrc:
#!/bin/sh
#
# ~/.xinitrc
#
# Выполняется startx (запустите ваш оконный менеджер отсюда)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
# exec enlightenment_start
# exec i3
# exec mate-session
# exec xmonad
# exec startlxqt
# exec startlxde
# exec awesome
# exec bspwm
# exec gnome-session
# exec gnome-session --session=gnome-classic
# exec startkde
# exec startxfce4
# exec startfluxbox
# exec openbox-session
exec cinnamon-session
# exec pekwm
# exec catwm
# exec dwm
# exec startede
# exec icewm-session
# exec jwm
# exec monsterwm
# exec notion
# exec startdde
# deepin-session
Наконец, я создал файл Xwrapper.config с одной строкой:
allowed_users=anybody
На этом этапе я смог войти через Windows Remote Desktop, изменив поле “session” с Xvnc на Xorg.
Ответ или решение
Решение проблем XDRP и Windows Remote Desktop в Fedora 25
Введение и осознание проблемы:
Вы и ваши коллеги столкнулись с проблемами подключения через Windows Remote Desktop к компьютерам, работающим на Fedora 25 с использованием XRDP в качестве VNC-провайдера. Изначально вы получали черный экран при подключении с Windows 7, после чего соединение прерывалось. Хотя этот процесс работал на Fedora 23, переход на Fedora 25 вызвал новые сложности.
Этап 1: Предварительные корректировки
Для начала, вы внесли изменение в файл xrdp.ini
, отключив каналы:
allow_channels=false
Эта настройка позволила вам подключиться к Fedora через Remote Desktop, но возникла проблема: повторное подключение не удавалось. Анализ процессов показал наличие двух инстанций xrdp-sesman --nodaemon
, что усложняло положение.
Этап 2: Решение первой проблемы
Чтобы устранить ошибки с повторным подключением, были внесены следующие изменения в /etc/xrdp/xrdp.ini
и создан файл .Xinitrc
, которые оказались ключевыми:
Изменения в xrdp.ini:
autorun=Xorg
max_bpp=16
Эти настройки позволяют удостовлетворительно конфигурировать графику и автоматизировать процесс запуска Xorg.
Файл .Xinitrc:
Этот файл был создан в домашней директории пользователя и содержал выбор доступных сессий.
#!/bin/sh
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
exec cinnamon-session
Выбор cinnamon-session
обеспечил правильную инициализацию сессии рабочего стола.
Создание Xwrapper.config:
Файл Xwrapper.config
был добавлен для управления доступом пользователей:
allowed_users=anybody
Эта конфигурация разрешает любому пользователю доступ, устранения необходимости выделять права определенным пользователям.
Этап 3: Решение второй проблемы
Чтобы обеспечить возможность локального и удаленного входа, необходимо убедиться, что используются разные сессии для каждого метода доступа. При изменении опции "session" с Xvnc на Xorg в процессе подключения через Windows Remote Desktop, проблема была решена.
Заключение
Вы описали последовательность действий, которая позволила устранить представленные проблемы. Эти изменения помогают оптимально использовать Fedora 25 в качестве удаленного сервера, гарантируя возможность комфортного подключения и работы через Windows Remote Desktop.
Такой подход и действия не только решают задачу, но и расширяют возможности настройки удаленного доступа, что может быть полезно вашим коллегам и другим пользователям.