在设置完我的 5 台远程机器中的最后一台后,我决定通过连接每台机器并打开 gedit 来测试网络是否运行良好。
令我沮丧的是,当我尝试在第二台机器上打开 gedit 时,我看到的是:
** (gedit:1862): WARNING **; Could not connect: Connection refused
** (gedit:1862): WARNING **; Could not connect to session bus
关闭 gedit 没有帮助,但当我关闭与第一台远程计算机的 ssh 连接时,我能够在第二台计算机上打开 gedit。我决定检查这是否是所有 X 程序的问题,但我能够在多台远程计算机上打开 xeyes。
我的问题是,为什么在一台机器上远程打开 gedit 会阻止我在另一台机器上打开它,直到第一个 ssh 会话关闭?有没有办法解决这个问题或变通方法?我不知道需要可以同时打开多个 gedit,但我最不希望在另一台机器上打开它之前必须关闭与其中一台机器的连接。
我的 ssh_config 设置为“ForwardX11”和“ForwardX11Trusted”都设置为是,以防这相关。
更新:我决定尝试更多程序,并发现虽然我可以在多台机器上通过 ssh 打开 nautilus,但在它打开之前我会收到许多连接被拒绝的警告。
答案1
export $(dbus-launch)
远程机器上的这个功能为我解决了这个问题。
答案2
这个问题与你测试 gedit 的 PC/笔记本上充当 X 显示管理器(或 X 服务器)的任何东西有关。那么,你使用的是什么操作系统和 X 服务器软件?
通常,在本地 PC 上显示远程 X 应用程序的过程包括:
- 本地 PC 上的 X 服务器,配置为授权远程连接
- 到远程系统的 SSH 隧道
- 设置环境变量 DISPLAY,指向本地电脑(通过名称或 IP 地址)
如果你在 Windows 中,西明可以很好地用作 X 服务器,并与来自 ssh.com 的 putty 或 ssh 客户端配合使用。它允许您管理本地 X 显示器,并授权远程应用程序在您的本地系统上显示。
答案3
1)使用命令行文本编辑器
通过终端 ssh 进入远程机器并使用nano
或vi
打开文本文件并编辑。
我发现 nano 对新手更友好,部分原因是它直接在终端窗口中显示各种操作的组合键。
使用 nano 打开文件:nano filename.txt
或sudo nano filename.txt
(如果您需要 root 权限)
2)在本地机器上使用 nautilus/gedit
打开 nautilus 文件浏览器窗口并从顶部面板的菜单中选择“连接到服务器”。
输入服务器信息(使用 ssh:// 或 sftp:// 进行 ssh 连接)。
连接后,您可以使用ctrl+为该位置添加书签d。然后双击要在 gedit 中编辑的文件并从那里开始。
一个缺点:除非您以 root 身份通过 ssh 进入,否则使用此方法打开需要 root 权限的文件就没那么简单了。如果您已经nautilus-open-terminal
安装,您可以做的一件事是右键单击文件所在的 nautilus 窗口并选择“在远程终端中打开”,然后使用sudo nano filename.txt
上述方法。