我想通过使用本地计算机的 SSH 连接到远程计算机,在远程计算机上打开 GUI 应用程序(xeyes、firefox、xlock 等)。本地 PC--> SSH 到 --> 远程 PC 我有两台计算机。我使用我最喜欢的一台计算机。我们称之为“主”或“本地”。第二台计算机对我来说只是一个玩偶,一个用来测试我的实验的实验室。我们称之为“豚鼠”或“远程”。
我遇到了一个问题,这个问题困扰了我很久。我不知道该如何解决。例如:
ssh -p 22 IP address
xclock (shows clock on local PC [main])
who
student102 tty7 2019-02-13 10:54 (:0)
admin pts/2 2019-02-13 13:23 (IP address)
export DISPLAY=:0
xclock (Error: Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: :0
我努力了ssh-Y 密码和SSH-X结果相同。错误相同。我该怎么办?重新安装 Ubuntu?重新安装 SSH 和 Xorg?我该如何修复此错误?
答案1
我修复了这个问题。我用 为学生添加了密码sudo passwd username
之后,我尝试使用 进入用户环境ssh username@ip
,然后我who
这样做了,看到:0
或:1
作为显示数字。我使用export DISPLAY=:0
或:1
然后我运行xeyes
命令,嘿,成功了!(请原谅我的兴奋)
我用了这网站。
它提示了我下一步该做什么。
答案2
这可能是您收到以下错误的原因之一:
无效的 MIT-MAGIC-COOKIE-1 键错误:无法打开显示::1
确保您以与 vncserver 进程相同的用户身份运行任何 GUI 进程。
例如:
venkat@home-laptop:~/Downloads/$ ps -eaf | grep vnc
venkat 3504 1 0 Apr06 ? 00:09:52 /usr/bin/Xvnc :1 -auth /run/user/1000/gdm/Xauthority -desktop home-laptop:1 (venkat) -fp /usr/share/fonts/X11//misc,/usr/share/fonts/X11//Type1 -geometry 1024x768 -pn -rfbauth /home/venkat/.vnc/passwd -rfbport 5901 -rfbwait 30000
venkat 10595 8391 0 02:33 pts/5 00:00:00 grep --color=auto vnc
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$ sudo -i
root@home-laptop:~#
root@home-laptop:~# xclock
Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: :1
root@home-laptop:~#
root@home-laptop:~#
root@home-laptop:~# exit
logout
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$ xclock
因此,尽可能从本地 ssh 终端以同一用户身份运行 vnc 服务器和 gui 进程。