2021 年更新/注意事项:

2021 年更新/注意事项:

我对 Ubuntu 还很陌生,今天刚刚安装了 Ubuntu 20.04 LTS,并尝试设置 XRDP,以便可以从 Windows 远程登录到我的 Ubuntu 机器,我执行了以下步骤:

sudo apt install xrdp 

然后我尝试了所有这些,但每次只尝试一个

sudo apt-get install kde-full
sudo apt-get install kde-desktop
sudo apt-get install kde-standard
sudo apt-get install kde-plasma-desktop

echo "startkde"  > ~/.xsession


sudo systemctl restart xrdp

当我尝试连接时,我从 xrdp 获得登录屏幕,我选择 xorg 并输入我的用户名和密码。但随后 RDP 会话立即结束

有人能帮我设置 XRDP 并找出可能的问题吗?我无法忍受 gnome 桌面。我想使用带有 XRDP 的 KDE。

谢谢

答案1

这是我为 KDE-Plasma 配置 XRDP 的方法(适用于我的 Ubuntu 20.04)

sudo apt install -y xrdp
sudo sed -e 's/^new_cursors=true/new_cursors=false/g' -i /etc/xrdp/xrdp.ini
sudo systemctl enable xrdp
sudo systemctl restart xrdp

将会话设置为 Plasma:

echo "/usr/bin/startplasma-x11" > ~/.xsession

xsessionrc 的变量:

export D=/usr/share/plasma:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export C=/etc/xdg/xdg-plasma:/etc/xdg
export C=${C}:/usr/share/kubuntu-default-settings/kf5-settings


cat <<EOF > ~/.xsessionrc
export XDG_SESSION_DESKTOP=KDE
export XDG_DATA_DIRS=${D}
export XDG_CONFIG_DIRS=${C}
EOF

如果您安装了等离子,您也可以登录并在控制台上执行此操作:

echo $XDG_SESSION_DESKTOP
echo $XDG_DATA_DIRS
echo $XDG_CONFIG_DIRS

看看你们的价值观是否相同。

现在要避免“需要身份验证”对话框:

cat <<EOF | \
  sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-NetworkManager.pkla
[Networkmanager]
Identity=unix-group:sudo
Action=org.freedesktop.NetworkManager.network-control
ResultAny=yes
ResultInactive=yes
ResultActive=yes
EOF


cat <<EOF | \
  sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-packagekit.pkla
[Networkmanager]
Identity=unix-group:sudo
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=auth_admin
ResultActive=yes
EOF
sudo systemctl restart polkit

部分资料:

出现错误时:

~/.xsession-errors
/var/log/xrdp-sesman.log
/root/.xsession-errors

或者仅更改默认会话管理器:

sudo update-alternatives --config x-session-manager

要允许 root 访问,请转到/etc/pam.d/sddm并注释掉此行:

auth    required        pam_succeed_if.so user != root quiet_success

2021 年更新/注意事项:

最新版本的 Windows 10 附带 SSH 客户端(和服务器)。
因此,您现在可以从 Windows 机器通过互联网本地隧道传输您的 RDP 会话。
(我猜这就是我们首先想要 xrdp 的原因)
因此,要做到这一点,请创建一个 ssh 密钥:
ssh-keygen -t rsa -b 4096

使用此命令,ssh-keygen 会生成一个 RSA 公钥

C:\Users\<USERNAME>\.ssh\id_rsa.pub

以及 id_rsa (私钥)

现在将 id_rsa.pub (文本文件)的内容附加到

~/.ssh/authorized_keys 

在您的 Linux 机器中(这允许具有主目录的用户使用 rsa-private-key 进行 ssh 登录,并使用 rsa-public-key 进行验证 - 仅复制公钥!)

然后你可以打开一个带有端口转发的 ssh 连接:

ssh [email protected] -C -L 1234:127.0.0.1:3389

(将 71.44.33.22 替换为您的 IP/域)现在您可以连接到 mstsc,并将127.0.0.1:1234其转发到71.44.33.22:3389。3389 是默认的 xrdp 端口​​。

在尝试连接 mstsc 之前,请首先验证 ssh-login 是否正常工作。

此外,如果您这样做,请考虑您的 rsa 密钥是否已被泄露,因为 Microsoft 是一家监控公司。不要为了重要的事情这样做。!您现在已经收到警告!
话虽如此,您的私人 Linux 机器很可能不值得如此严肃对待。

语法说明:

ssh  %user%@%servername-or-ip% -L %LocalPort%:127.0.0.1:%RemotePort%

-C 代表压缩(啊,速度,速度)。

您还可以将远程桌面会话连接设置保存到文件中,例如“C:\Program Files\Connections\Computername”

以及内容为

start cmd /k ssh [email protected] -C -L 1234:127.0.0.1:3389
REM cd "C:\Program Files\Connections\Computername\"

REM START has a peculiarity involving double quotes 
REM around the first parameter. 
REM If the first parameter has double quotes 
REM it uses that as the optional TITLE for the new window.
start "" "C:\Program Files\Connections\Computername\computername.rdp"

C:\Windows\System32\mstsc.exe使用或 的图标在桌面上为 .bat 文件创建快捷方式C:\Windows\SysWOW64\mstsc.exe

连接到 XRPD 的最佳 Linux 程序是 remmina(IMHO)。
安装:

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt-get update && sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard

2021 年更新:

Remmina 很烂(性能、键盘布局)。
只需使用KRDC,默认情况下位于存储库中。


** 2023 年更新:**

如果您希望在连接断开时终止 x-session,可以使用 dbus 启动 Plasma。
为此,只需添加

dbus-launch --exit-with-session startplasma-x11 

到 .xsession。
请注意,如果您通过 XRPD 运行 apt dist-upgrades,那么这可能是一个坏主意。

答案2

安装 Kubuntu 20.04 LTS

如果您更喜欢 KDE,最好安装 Kubuntu 桌面,而不是 Ubuntu 桌面加 KDE 桌面。这是因为 Ubuntu 桌面自带 Gnome 及其默认应用程序集。当您在其上安装 KDE 桌面时,Ubuntu 桌面 KDE 会自带其自己的一组默认应用程序。这会导致不必要的臃肿,有时还会引起冲突。

XRDP 很难通过 Gnome 桌面设置

我不知道该如何告诉你这是为什么,但是根据经验,我知道它们不能开箱即用。有人写了一个脚本让 XRDP 与标准 Ubuntu 桌面兼容。如果您决定继续使用 Ubuntu 桌面和 XRDP,您可以查看它。

警告:与任何脚本一样,在决定在计算机上使用它之前,请仔细阅读该脚本并了解其具体作用。

希望能帮助到你

相关内容