20.04 XRDP KDE 等离子连接问题

And*_*son 3 kde xrdp

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

sudo apt install xrdp 
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

有人可以帮我设置XRDP并找出可能是什么问题吗?我受不了 gnome 桌面。我想要 KDE 和 XRDP。

谢谢

Wit*_*aft 7

这就是我为 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
Run Code Online (Sandbox Code Playgroud)

将会话设置为等离子:

echo "/usr/bin/startplasma-x11" > ~/.xsession
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

如果您安装了 Plasma,您还可以登录,并在控制台上执行此操作:

echo $XDG_SESSION_DESKTOP
echo $XDG_DATA_DIRS
echo $XDG_CONFIG_DIRS
Run Code Online (Sandbox Code Playgroud)

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

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

cat <<EOF | \
  sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-NetworkManager.pkla
[Netowrkmanager]
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
[Netowrkmanager]
Identity=unix-group:sudo
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=auth_admin
ResultActive=yes
EOF
sudo systemctl restart polkit
Run Code Online (Sandbox Code Playgroud)

部分学分:

出现错误时:

~/.xsession-errors
/var/log/xrdp-sesman.log
/root/.xsession-errors
Run Code Online (Sandbox Code Playgroud)

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

sudo update-alternatives --config x-session-manager
Run Code Online (Sandbox Code Playgroud)

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

auth    required        pam_succeed_if.so user != root quiet_success
Run Code Online (Sandbox Code Playgroud)

2021 更新/注:

最新版本的 Windows 10 带有 SSH 客户端(和服务器)。
因此,您现在可以从 windows-box 通过 Internet 本地隧道传输您的 RDP 会话。
(我想这就是我们首先想要 xrdp 的原因)
所以要做到这一点,请创建一个 ssh-key:
ssh-keygen -t rsa -b 4096
Run Code Online (Sandbox Code Playgroud)

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

C:\Users\<USERNAME>\.ssh\id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

连同 id_rsa(私钥)

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

~/.ssh/authorized_keys 
Run Code Online (Sandbox Code Playgroud)

在您的 linux 盒子中(这允许使用 rsa-private-key 为具有主目录的用户进行 ssh-login ~ 并使用 rsa-public-key 进行验证 - 仅复制公钥!)

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

ssh YOUR_USER_NAME@71.44.33.22 -C -L 1234:127.0.0.1:3389
Run Code Online (Sandbox Code Playgroud)

(将 71.44.33.22 替换为您的 ip/域)现在您可以使用 mstsc 连接到127.0.0.1:1234它被转发到71.44.33.22:3389. 3389 是默认的 xrdp 端口​​。

在尝试与 mstsc 连接之前,请首先验证 ssh 登录是否有效。

此外,如果您这样做,请考虑您的 rsa-keys 已泄露,因为 Microsoft 是一家监控公司。不要为严肃的事情做这件事。!你现在已经被警告了!
也就是说,您的私人 Linux 机器很可能没有任何值得这种严肃性的东西。

语法注意事项:

ssh  %user%@%servername-or-ip% -L %LocalPort%:127.0.0.1:%RemotePort%
Run Code Online (Sandbox Code Playgroud)

-C 用于压缩(argh,速度,速度)。

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

连同带有内容的 connect.bat

start cmd /k ssh username@71.44.33.22 -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"
Run Code Online (Sandbox Code Playgroud)

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

连接到 XRPD 的最佳 Linux 程序是 remmina(恕我直言)。
安装:

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
Run Code Online (Sandbox Code Playgroud)

  • 这个答案应该被接受。完美运行 (2认同)

use*_*186 0

安装 Kubuntu 20.04 LTS

如果您更喜欢 KDE,最好安装 Kubuntu 桌面,而不是 Ubuntu 桌面加 KDE 桌面。这是因为 Ubuntu 桌面附带了 Gnome 及其默认应用程序集。当您在 Ubuntu 桌面上安装 KDE 桌面时,KDE 会引入自己的一组默认应用程序。这会造成不必要的膨胀,并且偶尔会产生冲突。

XRDP 很难使用 Gnome 桌面进行设置

我不知道为什么会这样,但我从经验中了解到,它们并不是开箱即用的。有人编写了一个脚本来让 XRDP 与标准 Ubuntu 桌面一起工作。如果您决定继续使用 Ubuntu 桌面和 XRDP,您可以查看一下。

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

希望能帮助到你