标签: x11-forwarding

即使在使用 xhost 访问后“无法打开显示”

我正在尝试远程运行图形程序,而不使用 ssh。我已经在服务器上设置了显示变量(假设server.com,Linux,不是 ubuntu,并且没有 su 权限)指向我的工作站(workstation.com,ubuntu 10.04)

setenv DISPLAY workstation.com:0
Run Code Online (Sandbox Code Playgroud)

然后在我的工作站上我都试过了

xhost +server.com
Run Code Online (Sandbox Code Playgroud)

xhost +
Run Code Online (Sandbox Code Playgroud)

然后我 ssh 进入服务器(以测试事物):

ssh username@server.com
Run Code Online (Sandbox Code Playgroud)

并尝试运行xclock,并得到以下错误:

Error: Can't open display: workstation.com:0
Run Code Online (Sandbox Code Playgroud)

/etc/ssh/ssh_config在工作站上看过,我应该正确转发:X11Forwarding yes

我该如何解决这个问题?

工作站上的哪些日志记录了这些失败的尝试?

为了解释我为什么这样做:我想在服务器上运行批处理作业来调试基于 MPI 的并行程序。根据系统管理员提供的说明,我想将 xterm 作为批处理作业可执行文件运行。

此设置用于工作。我在我的工作站上重新安装了一些东西,从那以后我经常收到一次性消息The authenticity of host 'hostname (XXX.XXX.XXX.XX)' can't be established.

我试图解决上述问题是将我的~/.ssh/known_hosts文件移动到服务器和主机上的备份,然后ssh使用标志从一个到另一个-o StrictHostKeyChecking=no。我不再收到该消息,但我想知道这是否与 X11 转发不起作用有关?

ssh x11-forwarding

6
推荐指数
1
解决办法
4万
查看次数

使用 `setxkbmap` 设置 kb 布局时出错

我从 ubuntu 12.04 vm 到我的(windows)笔记本电脑设置了 x11 转发。它可以工作,但是当我输入转发的应用程序时,它使用的是 qwerty 布局,我希望它使用 colemak。

我想要一个命令行解决方案,因为我没有在 vm 中安装 GUI。

我试过了setxkbmap -v us -variant colemak,但我收到“加载新键盘描述时出错”:

$ setxkbmap -v us -variant colemak
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Warning! Multiple definitions of layout variant
         Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes:   xfree86+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us(colemak)
geometry:   pc(pc101)
Error loading new keyboard description
Run Code Online (Sandbox Code Playgroud)

我也试过setxkbmap -v us -variant dvorak …

keyboard-layout x11-forwarding 12.04

6
推荐指数
1
解决办法
2万
查看次数

X11 通过“ssh -X username@hostname”转发很慢,但使用“nxclient”快速

如前所述,当我使用基本进行 X11 转发时,ssh -X username@hostname它非常缓慢。但有趣的是,当我使用 时nxclient,速度明显更快。

由于各种原因,我宁愿使用ssh而不是nxclient

我试过打开压缩和设置密码,(即ssh -X -C -c blowfish-cbc,arcfour username@hostname)但它仍然很缓慢。

这是为什么?如何加速sshX11 转发以达到标准nxclient

ssh x11-forwarding nx

6
推荐指数
1
解决办法
8488
查看次数

无法使用 ssh 在多台远程机器上使用 gedit

在设置了我的 5 台远程机器中的最后一台后,我决定通过连接到每台并打开 gedit 来测试网络是否运行良好。

令我沮丧的是,当我试图在第二台机器上打开 gedit 时,我收到了:

** (gedit:1862): WARNING **; Could not connect: Connection refused

** (gedit:1862): WARNING **; Could not connect to session bus
Run Code Online (Sandbox Code Playgroud)

关闭 gedit 没有帮助,但是当我关闭与第一台远程机器的 ssh 连接时,我能够在第二台机器上打开 gedit。我决定检查这是否是所有 X 程序的问题,但我能够在多台远程机器上打开 xeyes。

我的问题是,为什么在第一个 ssh 会话关闭之前,在一台机器上远程打开 gedit 会阻止我在另一台机器上打开它?有没有办法解决这个问题或解决方法?我并不需要有多个gedits一次打开,但我最不喜欢可以不用到接近一台机器连接之前,我可以在另一个打开它。

我的 ssh_config 设置为 'ForwardX11' 和 'ForwardX11Trusted' 都设置为是,以防万一。

更新:我决定尝试更多的程序,发现虽然我可以在多台机器上通过 ssh 打开 nautilus,但在它打开之前我收到了一些连接被拒绝的警告。

ssh gedit x11-forwarding

6
推荐指数
3
解决办法
7069
查看次数

ssh -X 打开文件管理器

我必须运行 Ubuntu 18.10 的机器

当 ssh -X 到另一台计算机时

  ssh -X assistant@pc.local
Run Code Online (Sandbox Code Playgroud)

firefox 和 google-chrome 可以在当前机器上用 firefox 打开

firefox  
google-chrome
Run Code Online (Sandbox Code Playgroud)

但是,如果尝试使用以下命令打开文件管理器

xdg-open .
#or
nautilus .
Run Code Online (Sandbox Code Playgroud)

文件管理器是从远程机器的桌面而不是当前桌面启动的。

ssh x11-forwarding

6
推荐指数
1
解决办法
5834
查看次数

ssh 上的“无法打开显示”怪异

一段时间后,(也许是一年?),我的环境运行正常。但是在去年左右的某个时候,我开始收到“无法打开显示”的错误消息。

这很奇怪,因为我可以通过 ssh 进入 ubuntu 框(从 mac,通过 cisco ipsec),并启动几个新的 x11 客户端。但是在某些时候(1 - 20 分钟后),新尝试启动 x11 客户端会导致“无法打开显示”错误。如果有任何其他先行事件导致“无法打开显示”问题,我还没有弄清楚。

这次我的 DISPLAY 没有改变。预先存在的窗口继续存在并运行,所以我相信我的本地 X11 服务器运行良好,并且以前存在的 X11 转发隧道仍在运行。显示器的初始集合点似乎有问题。

这对任何人来说听起来都很熟悉吗?

ssh display xorg x11-forwarding

5
推荐指数
2
解决办法
1万
查看次数

SSH X11-转发 gnome-session/lightdm-session

客户端:Ubuntu 11.10 64 位

服务器:VirtualBox Ubuntu 11.10 64 位

我想启动一个 gnome-session/lightdm-session,但它不起作用。即使我能够启动像 Gedit 这样的单个程序。

我是否必须进行特定更改才能通过 ssh 使用 gnome-session?就我在我读过的在线教程中看到的而言,您只需要:

ssh -X username@ip gnome-session
Run Code Online (Sandbox Code Playgroud)

ssh 11.10 x11-forwarding lightdm gnome-session

5
推荐指数
1
解决办法
7380
查看次数

如何使用 x11 转发通过 ssh 运行 libreoffice

我正在尝试启动lofficelocalc通过已建立的 ssh 连接(启用 ForwardX11)。但是,它确实无法在我运行 ssh 会话的计算机上显示 loffice gui / 启动画面。该loffice应用程序在远程 bash 中运行,但没有任何命令行输出。

所有其他 gui 应用程序,如 xterm、gvim、PyQt5 脚本都可以正常工作。我也试着跑

/usr/lib/libreoffice/program/soffice.bin
Run Code Online (Sandbox Code Playgroud)

直接,但无济于事。(loffice 是一个重定向到另一个 shell 脚本的 shell 脚本,据我所知,它最终会启动 soffice.bin。)

我试过也没有任何成功:

loffice --display ${DISPLAY}
Run Code Online (Sandbox Code Playgroud)

ssh command-line libreoffice x11-forwarding

5
推荐指数
1
解决办法
3627
查看次数

SSH 上的 X11 错误

尝试通过 ssh 打开程序时出现以下错误。

$ thunar
Thunar: Cannot open display: 

$ libreoffice 
Failed to open display

$ firefox
Error: GDK_BACKEND does not match available displays

$ keepassx
keepassx: cannot connect to X server 

$ keepass2
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Windows.Forms.XplatUI' threw an exception. ---> System.ArgumentNullException: Could not open display (X-Server required. Check your DISPLAY environment variable)
Parameter name: Display
  at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) <0x41b3c8a0 + 0x00b9b> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11..ctor () <0x41b3ab20 + 0x001df> in <filename unknown>:0 …
Run Code Online (Sandbox Code Playgroud)

ssh xorg x11-forwarding sshd

5
推荐指数
1
解决办法
4万
查看次数

是否可以运行 Docker 容器并在主机上显示其图形应用程序窗口?

我创建了最简单的(最小工作示例)Dockerfile来在我的 Ubuntu 16.04 LTS 主机系统上运行图形应用程序,其中包含 19.10 内部容器:

mkdir ~/docker-xclock

cat > ~/docker-xclock/Dockerfile << EOF
FROM ubuntu:19.10
RUN apt-get update
RUN apt-get install -y x11-apps
CMD xclock
EOF
Run Code Online (Sandbox Code Playgroud)

然后创建容器

docker build -t ubuntu:xclock ~/docker-xclock
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此容器时,它显示有关显示的错误:

$ docker run ubuntu:xclock 
Error: Can't open display: 
Run Code Online (Sandbox Code Playgroud)

怎么了?

xorg x11-forwarding container docker

5
推荐指数
1
解决办法
6604
查看次数