Вопрос или проблема
Я не могу перезапустить xrdp после его остановки с помощью sudo /etc/init.d/xrdp stop
.
Вот краткое описание ошибки, которую я получаю.
Когда я ввожу sudo /etc/init.d/xrdp restart
, я получаю:
xrdp.serviceJob для xrdp.service завершился неудачно, так как управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status xrdp.service" и "journalctl -xe" для получения подробностей.
sudo systemctl status xrdp.service
:
May 08 17:35:56 MYVMMachine systemd[1]: Запуск xrdp демона...
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[INFO ] адрес [0.0.0.0] порт [3389] режим 1
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[INFO ] прослушивание порта 3389 на 0.0.0.0
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[ERROR] g_tcp_bind(7, 3389) не удалось привязать IPv6 (errno=98) и IPv4 (errno=22).
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[ERROR] trans_listen_address не удалось
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[DEBUG] Socket 7 (AF_INET6 :: порт 0) закрыт
May 08 17:35:56 MYVMMachine xrdp[166793]: (166793)(139775620126528)[ERROR] Не удалось запустить xrdp демона, возможно, адрес уже используется.
May 08 17:35:56 MYVMMachine systemd[1]: xrdp.service: Управляющий процесс завершился, код=exited, статус=1/FAILURE
May 08 17:35:56 MYVMMachine systemd[1]: xrdp.service: Не удалось с результатом 'exit-code'.
May 08 17:35:56 MYVMMachine systemd[1]: Не удалось запустить xrdp демона.
sudo journalctl -xe
:
-- Определено-По: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Завершение задачи остановки для xrdp-sesman.service.
--
-- Идентификатор задачи 12092, и результат задачи выполнен.
May 08 17:35:56 MYVMMachine sudo[166757]: pam_unix(sudo:session): сеанс закрыт для пользователя root
May 08 17:35:58 MYVMMachine xrdp[166680]: (166680)(140476210231104)[DEBUG] Socket 18 (AF_INET6 ::ffff:127.0.0.1 порт 55110) закрыт
May 08 17:36:02 MYVMMachine xrdp[166680]: (166680)(140476210231104)[ERROR] xrdp_wm_log_msg: Ошибка подключения к sesman: 127.0.0.1 порт: 3350
May 08 17:36:02 MYVMMachine xrdp[166680]: (166680)(140476210231104)[DEBUG] Socket 18 (AF_INET6 ::ffff:127.0.0.1 порт 55172) закрыт
May 08 17:36:02 MYVMMachine xrdp[166680]: (166680)(140476210231104)[DEBUG] возвращаемое значение от xrdp_mm_connect 1
May 08 17:36:02 MYVMMachine xrdp[166680]: (166680)(140476210231104)[DEBUG] Socket 12 (AF_INET6 ::ffff:[[[MYIP]]] порт 3389) закрыт
May 08 17:36:02 MYVMMachine xrdp[166680]: (166680)(140476210231104)[DEBUG] xrdp_mm_module_cleanup
May 08 17:36:07 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:07 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:13 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:13 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:33 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:33 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:41 MYVMMachine sudo[166873]: MyUserName : TTY=pts/0 ; PWD=/home/MyUserName/Desktop ; USER=root ; COMMAND=/usr/bin/systemctl status xrdp.service
May 08 17:36:41 MYVMMachine sudo[166873]: pam_unix(sudo:session): сеанс открыт для пользователя root MyUserName(uid=0)
May 08 17:36:41 MYVMMachine sudo[166873]: pam_unix(sudo:session): сеанс закрыт для пользователя root
May 08 17:36:53 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:36:53 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:37:08 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:37:08 MYVMMachine vm-agent[791]: qga/qga-exinfo/network-posix.c GetIpv4VifIp 1059: не удалось получить GetIpv4VifGateway
May 08 17:37:08 MYVMMachine sudo[166917]: MyUserName : TTY=pts/0 ; PWD=/home/MyUserName/Desktop ; USER=root ; COMMAND=/usr/bin/journalctl -xe
May 08 17:37:08 MYVMMachine sudo[166917]: pam_unix(sudo:session): сеанс открыт для пользователя root MyUserName(uid=0)
Ответ или решение
Теория
Проблема, описанная в вашей ситуации, связана с невозможностью перезапуска сервиса xrdp
в Ubuntu 20.04. xrdp
— это популярный сервер удалённого рабочего стола, который позволяет пользователям подключаться к своим компьютерам из удалённых мест, используя протокол RDP. Перезапуск данного сервиса может потребоваться по нескольким причинам: после изменения конфигурации, обновления или для устранения временной неисправности.
Ваша проблема конкретно связана с ошибкой старта демона xrdp
, причиной которой, согласно логам, является невозможность забиндиться (привязаться) к порту 3389, что обычно указывает на то, что порт занят другим процессом или самим xrdp
, который был некорректно завершен.
Пример
Ошибки в ваших логах:
-
[ERROR] g_tcp_bind(7, 3389) failed bind IPv6 (errno=98) и IPv4 (errno=22). Это указывает на проблему с привязкой к сетевому интерфейсу и порту. В этом случае код ошибки
98
означает "Address already in use", т.е. адрес (порт) уже используется. -
[ERROR] Failed to start xrdp daemon, possibly address already in use. Это подтверждает, что проблема связана именно с занятым портом.
-
Ошибка подключения к sesman: Это может быть вторичной проблемой, которая возникла вследствие невозможности запуска
xrdp
.
Применение
Опираясь на выявленные ошибки, вот несколько шагов, которые могут помочь исправить ситуацию:
1. Проверка и освобождение порта:
Проверьте, какой процесс использует порт 3389. Это можно сделать с помощью команды:
sudo lsof -i :3389
Вы получите PID (идентификатор процесса), который использует порт. Если это xrdp
, возможно, он был некорректно остановлен. Если это другой процесс, возможно, нужно решить, почему он его использует.
Чтобы устранить проблему, может потребоваться завершение процесса, занятого этим портом:
sudo kill -9 <PID>
2. Перезагрузка службы xrdp:
После освобождения порта, перезапустите xrdp
:
sudo systemctl restart xrdp
Если служба не запускается, проверьте состояние с помощью:
systemctl status xrdp
3. Проверка конфигурации xrdp:
Иногда ошибка может быть связана с конфигурацией. Проверьте файл конфигурации /etc/xrdp/xrdp.ini
и убедитесь, что все параметры указаны корректно, особенно адрес и порт. Убедитесь, что нет конфликтов с другими сетевыми службами.
4. Перезагрузка сетевых настроек и сервера:
В некоторых случаях может потребоваться перезагрузка всех сетевых услуг или даже всего сервера, чтобы вернуть систему в стабильное состояние. Особое внимание уделите сетевым интерфейсам и тому, как они конфигурируются.
5. Логи для дополнительной информации:
Ошибка при запуске xrdp может быть связана с системными изменениями или обновлениями. Проверьте системные логи:
sudo journalctl -xe
Это может дать дополнительную информацию о том, что происходит на уровне системы и сети.
Заключение
Эти шаги должны помочь вам в решении проблемы с перезапуском xrdp
на Ubuntu 20.04. Если же ни один из предложенных методов не помогает, возможно, стоит рассмотреть возможность общения с более широкой технической поддержкой или переустановки xrdp
с нуля, чтобы исключить системные ошибки или некорректные обновления, способствующие текущей ситуации.