XRDP на Manjaro (RDP на Manjaro Linux)

Пакеты xrdp и xorgxrdp (+/- git) должны быть идеально выровнены. Если один обновится , а другой нет, работать не будет.
Пакеты xrdp  и  xorgxrdp (+/- git) должны быть правильно подписаны, что является периодически возникающей проблемой.

Если вы используете среду рабочего стола, которая не является XFCE , то вам придется внести некоторые изменения.

К счастью, если вы здесь, вы, вероятно, используете среду рабочего стола Manjaro по умолчанию, которая является XFCE.

Действия:

sudo pacman -Sy base-devel xorg-server-devel yay
yay -S xrdp xorgxrdp-git
echo "allowed_users = anybody" | sudo tee -a /etc/X11/Xwrapper.config
sed -i '12s/xfce-session/xfce4-session/g' ~/.xinitrc
sed -i '42s/ --exit-with-session//g' ~/.xinitrc
sed -i '66s/\$1/\$SESSION/g' ~/.xinitrc
sudo systemctl enable xrdp
sudo systemctl start xrdp

Что мы делаем:

Первая строка устанавливает пакеты, которые вам понадобятся для сборки и установки xrdp и его партнеров.
Вторая строка устанавливает xrdp и xorgxrdp-git , которые и являются целью этого упражнения.
Третья строка позволяет вам войти в сеанс X (рабочего стола), не находясь за компьютером, что довольно важно, если вашей целью является удаленное подключение.
Строки 4–6 исправляют некоторые типографские ошибки, препятствующие нормальной работе xrdp .
Строки 7-8 включают и запускают службу xrdp .


Вариан с корректировкой:

На основе статьи XRDP на Manjaro (устранение проблемы с пустым экраном) 114, вот скрипт bash, который автоматизирует процесс установки и настройки xRDP на Manjaro Linux с рабочей средой XFCE:

Установите необходимые пакеты:

sudo pacman -Sy base-devel xorg-server-devel yay
yay -S xrdp xorgxrdp-git

Отредактируйте ~/.xinitrc, чтобы использовать xfce4-session вместо xfce-session:

sed -i 's/SESSION=\${1:-xfce-session}/SESSION=\${1:-xfce4-session}/' ~/.xinitrc

Разрешить любому человеку запускать X:

echo "allowed_users = anybody" | sudo tee -a /etc/X11/Xwrapper.config

Настройте xrdp:

sudo systemctl enable --now xrdp.service

Скрипт корректировок XRDP:

#!/bin/bash

# Function to install and configure xRDP
configure_xrdp() {
    # Update system
    echo "Updating system..."
    sudo pacman -Syu

    # Install xrdp and xorgxrdp-git from AUR
    echo "Installing xrdp and xorgxrdp-git..."
    sudo pacman -Sy yay base-devel xorg-xserver-devel
    yay -S xrdp xorgxrdp

    # Allow any user to start an X session
    echo "Configuring Xwrapper..."
    echo "allowed_users=anybody" | sudo tee -a /etc/X11/Xwrapper.config

    # Configure .xinitrc file for XFCE desktop
    echo "Configuring .xinitrc..."
    sed -i 's/^\(SESSION=${1:-xfce-session}\)$/#\1 # original\nSESSION=${1:-xfce4-session}/' ~/.xinitrc
    sed -i 's/^\s*\(local dbus_args=(--sh-syntax --exit-with-session)\)$/#\1 # original\nlocal dbus_args=(--sh-syntax)/' ~/.xinitrc
    sed -i 's/^\(exec $(get_session "$1")\)$/#\1 # original\nexec $(get_session "$SESSION")/' ~/.xinitrc

    # Enable xrdp
    echo "Enabling xrdp service..."
    sudo systemctl enable --now xrdp.service
}

# Call the function
configure_xrdp


Чтобы использовать этот скрипт:

Сохраните его в файл, например configure_xrdp.sh, затем сделайте его исполняемым с помощью команды:

chmod +x configure_xrdp.sh

Наконец, запустите скрипт с помощью:

./configure_xrdp.sh

Related Articles