几天前,我在 MS azure 上创建了一个虚拟 ubuntu 机器。我有一个到这台机器的 ssh 连接(通过 PuTTY),但就是无法让远程桌面工作。事实上,我对 linux 还很陌生,所以如果我完全不懂,请原谅我。因此,我安装了 ubuntu-desktop,为远程桌面创建了一个端点(端口 3389),但是当我尝试运行“startx /usr/bin/gnome-session”(我想以 root 身份运行它,但 gnome-session 似乎不喜欢这个想法......)时,它告诉我,没有 .Xauthority 文件,但实际上有。
请参阅:
$ ls -aF -l
total 104
drwxr-xr-x 17 ermidomus ermidomus 4096 Nov 16 14:07 ./
drwxr-xr-x 4 root root 4096 Nov 13 20:14 ../
-rw-r--r-- 1 ermidomus ermidomus 220 Apr 9 2014 .bash_logout
-rw-r--r-- 1 ermidomus ermidomus 3637 Apr 9 2014 .bashrc
drwx------ 9 ermidomus ermidomus 4096 Nov 15 02:16 .cache/
drwx------ 11 ermidomus ermidomus 4096 Nov 15 02:16 .config/
-rwxr-xr-x 1 root root 137 Nov 15 15:42 createXauth.sh*
drwx------ 3 ermidomus ermidomus 4096 Nov 13 21:22 .dbus/
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Desktop/
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Documents/
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Downloads/
drwx------ 3 root root 4096 Nov 15 02:17 .gconf/
drwx------ 2 root root 4096 Nov 15 02:16 .gvfs/
-rw------- 1 root root 330 Nov 15 02:16 .ICEauthority
drwxr-xr-x 3 root root 4096 Nov 15 02:16 .local/
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Music/
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Pictures/
-rw-r--r-- 1 ermidomus ermidomus 675 Apr 9 2014 .profile
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Public/
-rw-r--r-- 1 ermidomus ermidomus 0 Nov 13 22:20 .sudo_as_admin_successful
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Templates/
-rw-r--r-- 1 root root 0 Nov 14 23:49 test.txt
drwxr-xr-x 2 ermidomus ermidomus 4096 Nov 13 21:22 Videos/
drwx------ 2 ermidomus ermidomus 4096 Nov 13 21:22 .vnc/
-rw------- 1 root root 0 Nov 15 16:29 .Xauthority
-rw------- 2 ermidomus ermidomus 0 Nov 16 13:58 .Xauthority-c
-rw------- 2 ermidomus ermidomus 0 Nov 16 13:58 .Xauthority-l
-rw-r--r-- 1 root root 0 Nov 14 23:50 .xsession
-rw------- 1 ermidomus ermidomus 15935 Nov 15 10:36 .xsession-errors
以下是其中的内容:
$ startx /usr/bin/gnome-session
xauth: timeout in locking authority file /home/ermidomus/.Xauthority
xauth: timeout in locking authority file /home/ermidomus/.Xauthority
X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
xauth: timeout in locking authority file /home/ermidomus/.Xauthority
我想,我必须重新创建 .Xauthority 文件。但我的主要问题是,我不知道该怎么做。在谷歌上搜索了很久,找到一些说明,但都不起作用,所以我来这里寻求帮助。很抱歉,但我真的是 Linux 新手,需要非常“简单”的说明。
谢谢大家
答案1
使用此解决方案在 AWS 和 GCE 云中的我的虚拟机中进行 rdp。
要远程桌面访问您的 Ubuntu 机器,请安装 xrdp 和 xfce。
sudo apt-get update && sudo apt-get install xrdp && sudo apt-get install xfce4
配置 xrdp:
.xsession
在主目录中创建。echo xfce4-session >~/.xsession
编辑 xrdp 的启动文件(注意最后一行是
startxfce4
)nano /etc/xrdp/startwm.sh
重启 xrdp 服务
sudo service xrdp restart
登录:
通过 RDP 连接到您的远程计算机并输入您的 Ubuntu 凭据。您将能够登录。
笔记:
默认情况下,每次使用 xrdp 登录时,它都会启动一个新会话。
要恢复您正在使用的上一个会话:
编辑
xrdp.ini
文件,sudo nano /etc/xrdp/xrdp.ini
在该部分中搜索
[xrdp]
名称sesman-Xvnc
。(在我的例子中是[xrdp1]
)。将端口值更改为
ask
(默认为-1
),然后保存并退出。重新启动 xrdp 服务器
sudo service xrdp restart
RDP 到您的远程计算机。您将看到一个登录屏幕:
使用用户名、密码登录并输入端口 -1(用于 xrdp 重启后的第一个立即会话)。
请仔细记下分配的端口号。
下次使用此端口号登录以恢复会话。