自从 2004 年左右开始使用各种 *nix 版本后不久,我就知道该操作系统是一个多用户服务器环境。但还有一个我似乎无法理解的棘手问题,我想解决它。考虑到在任何虚拟基础架构上(无论我是否拥有它),我都可以相对轻松地启动这个多用户环境并安全地连接到它(我可以做到),并且考虑到我可以通过 ssh 命令行安装并安全地交付应用程序,而无需为每个应用程序支付额外费用,那么为什么完整、开放地交付桌面环境会如此痛苦呢?
虽然存在 VDI 解决方案,但几乎都是面向 Windows 的;这是有道理的,因为 Windows 环境在设计时并未考虑多用户。支持 Linux 的此类工具也存在,但远没有那么流行。
此外,解决方案似乎存在于当前 *nix 操作系统和 Ubuntu 范围内,特别是通过 LTSP,但当放入公共空间(远程服务器)时,LTSP(据我所知)就会崩溃。
回到这个问题(这不是咆哮;我只是感到沮丧,因为我还没有找到解决这个问题的方法),有没有办法通过远程 Ubuntu 服务器向本地 Ubuntu 客户端(我稍后会担心其他平台)提供完整的桌面体验(声音、视频、类似 skype 的东西),而不涉及软件成本?
以下是我迄今为止尝试过的方法:
- Ubuntu 12.04 和 Ubuntu 14.04(桌面版和服务器)使用通过 xrdp 传送的 LXDE -> 除了声音之外,一切都运行良好。
- Ubuntu 12.04 和 Ubuntu 14.04(桌面版和服务器)gnome-session-fallback 通过 freenx -> 结果不一:12.04 运行良好而且我仍在研究它 [到目前为止只有视频],14.04 则完全失败:唯一起作用的是一个 ssh 提示符。
- Ubuntu 12.04 和 Ubuntu 14.04(桌面)应用程序交付 ssh + x -> 工作正常,但声音除外
- Ubuntu 12.04 和 Ubuntu 14.04(桌面)桌面通过 xephyr 交付 -> 远程屏幕空白
任何帮助都将受到赞赏。
答案1
出色地,与 Ubuntu 论坛上的一些人合作,我能够得到一个可行的解决方案,但它使用的x2go
是 而不是xrdp
。
首先安装 openssh-server:
sudo apt-get install openssh-server
需要修改sshd_config文件,所以要进行备份
sudo cp /etc/shh/sshd_config /etc/ssh/sshd_config.back
打开文件
sudoedit /etc/ssh/sshd_config
找到这些行
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
no
并将最后一项改为yes
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes
找到以下行
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
并像这样取消注释:
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes
现在重启服务
sudo service sshd restart
x2go
现在从服务器上的 ppa安装
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install -y lxde alsa pulseaudio paprefs x2goserver x2goserver-xsession
sudo apt-get autoremove -y
sudo apt-get clean
将自己添加到x2gouser
群组
sudo adduser $USER x2gouser
在客户端上安装客户端包和paprefs
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install paprefs x2goclient
要登录远程服务器,请启动程序x2go
并输入 IP 地址(或 URL,如果有)和用户名。进行任何其他需要进行的配置更改,然后返回到用户名选项卡。不要选择 LXDE 作为会话类型,而是选择自定义桌面。在此选择器旁边的字段中,输入:
ck-launch-session startlxde