- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下场景:
在我的工作计算机 (A) 中,我打开了一个 byobu (tmux) session 。
在byobu里面,我打开了几个终端。其中一些是 (A) 本地的,但在其他情况下,我通过 ssh 连接到另一台计算机 (B)。
我回到家,从我的家用电脑 (C) SSH 到 (A),运行“byobu”并在 (A) 或 (B) 中找到我的所有 session 。
除了运行 X11 应用程序外,这非常有效。当我更换计算机时,我不会让任何 X11 应用程序运行,但只是运行“xclock”有时有效,有时不起作用(“无法连接到 X 服务器 localhost:n.0”)。
我知道这取决于 DISPLAY
变量,并且它将被设置为 X11 将连接到我在 byobu 内部创建 session 之前最后运行“byobu”的计算机,这可能是 (A) 或 (C)。我的问题是我经常不知道如何修复不再起作用的 session 。有时我可以打开另一个 session (byobu 中的另一个选项卡)并使用 $DISPLAY
的值。在其他 session 中,但只有在新 session 打开时才有效,并非总是如此。在其他情况下,我已经能够分离 byobu (F6),重新附加它(运行“byobu”)并打开一个到 (B) 的新 ssh 连接,然后那个连接有效,但不是已经存在的 session 。
我已经阅读了一些文档,例如 SSH, X11 Forwarding, and Terminal Multiplexers或 How to get tmux X display to come back? ,但我不清楚它们如何(如果它们适用)适用于我的情况。例如,.bashrc
前者的代码,应该在(A),(B)还是(C)中?
最佳答案
更新/编辑 我找到了正确的方法来做到这一点。只需在任何 byobu shell 中键入此内容. byobu-reconnect-sockets
以及用于新 ssh 连接的 DISPLAY 环境变量,以及 SSH_AUTH_SOCK 和其他几个可能有用并依赖于主登录 shell(您所做的 byobu attach-session -t session_name
或屏幕后端,byobu -D -R session_name
或您更喜欢的)的环境变量去做吧)。
这一切都应该通过按 CTRL-F5 来实现,但我怀疑和我一样,您的计算机正在拦截 CTRL-F5(对我而言,我在 Mac 上使用 iTerm)并且要么用它做自己的事情,要么发送错误的控制字符序列,因此 byobu 无法正确接收。它需要更多的输入,但是如上所示获取 shell 脚本将执行与 CTRL-F5 应该做的相同的事情,并将为 session 中的所有 byobu 打开 shell 执行此操作。我下面的其余原始答案您现在可能可以忽略,但我会将其保留在那里,以防它对某人有用,可能出于其他目的。
此外,您可以编辑 byobu-reconnect-sockets
脚本(它只是一个 shell 脚本)并且有一些地方可以添加您想要更新的其他环境变量,因此实际上不需要以下任何内容。
(原答案如下)
当您再次通过 ssh 连接并重新连接 byobu session 时,新 ssh 连接的 ssh 转发 X11 显示可能与启动 byobu 时初始 ssh session 创建的代理显示不同。假设您是第一次通过 ssh 登录,并且将开始一个新的 byobu session ,其中包含许多 shell 并且可能还有许多转发的 X11 窗口,这一切都可以正常工作,因为第一个 ssh shell 将 DISPLAY 环境变量设置为它正在监听的内容用于 X11 连接。这可能类似于
[~/]$ printenv DISPLAY
localhost:11.0
byobu 启动的所有 shell(以及后端的 tmux 或 screen)都将继承在 byobu 最初启动时设置的所有环境变量的设置,即为您的用户转发的 X11 显示用于您的第一个 ssh 连接.
然后你分离你的 byobu session 并回家,然后 ssh 重新进入。但是这次你得到一个不同的 X11 显示,因为其他一些用户有 localhost:11.0。在您在家中启动的新 ssh session 中,DISPLAY 的值可能是 localhost:14.0(比如说)。对于通过此 ssh 连接进行 X11 转发,X11 客户端需要连接到显示 localhost:14.0 而不是 localhost:11.0 的 ssh X11 代理。那时您可能没有 localhost:11.0 的授权 key ,其他人会有,或者更糟的是,如果他们禁用了 X 身份验证,您尝试打开的 X11 窗口将开始显示在他们的屏幕上。要让它发挥作用,你需要做的就是——
printenv DISPLAY
并注意显示的值(或复制它)export DISPLAY=localhost:14.0
(在此示例中,它将是该值,在您的情况下,您将使用为 #2 获得的任何值)关于ssh - 使用 ssh 和 byobu 更新 DISPLAY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43002749/
除了 Display.getOrientation() 已弃用之外,Display.getRotation() 和 Display.getOrientation() 之间还有什么区别? 是否都返回等于
我的问题 这些方法中有哪一种是专业网页设计师所偏爱的吗? Web 浏览器在绘制网站时是否首选这些方法中的任何一种? 这只是个人喜好吗? 我还缺少其他技巧吗? 注意:以上问题是关于设计多列布局 floa
我的问题 专业网页设计师是否喜欢这些方法? 网页浏览器在绘制网站时是否首选这些方法? 这只是个人喜好吗? 我还缺少其他技术吗? 注意:以上问题与设计多列布局有关 float :左; http://js
我有一些代码返回 MyTrait 类型的特征对象,这样它就可以返回几个不同结构之一。我想为 trait 对象实现 Display trait,这样我就可以打印对象,并将详细信息委托(delegate)
package polymorphism; /* * @author Rahul Tripathi */ public class OverLoadingTest { /** *
我希望 Display.timerExec(int,Runnable)与 Display.asyncExec(Runnable) 大致相同但有指定的延迟。然而,似乎Display.timerExec只
就像标题所暗示的,有什么区别吗?我当时使用的是pygame.display.flip,我在互联网上看到的是,他们使用pygame.display.update而不是使用flip。哪一个更快? 最佳答案
Sample.this.display() 和 this.display() 哪个更好? class Sample{ void display(){ System.out.println("d
当图像的 CSS 属性“显示”已被任何其他 JS 脚本/函数更改时,我想运行一些 JS 代码。有什么方法可以监视该更改并设置回调函数吗? $(this).bind.('propertychange',
在浏览 Google 字体时我注意到第一个过滤器包含这些类别: Serif Sans 衬线 展示 手写 我知道什么是 (Sans)Serif 和 Handwriting 类别(这很明显)但是显示类别过
我想知道是否可以在列标记内渲染自定义 html,这是显示表标记的一部分。 例如,我希望我的专栏里面有一些下拉列表? 使用纯 html,如下所示: ... Volvo Saab Me
display.newImage() 和 display.newImageRect() 有什么区别? 哪个更好用? 最佳答案 display.newImage() 的文档具体提到: NOTE: dis
我正在使用纯 JS 和 flexbox 为我的元素创建网格。 元素的某些部分在页面加载时被显示隐藏:无,但单击按钮后它应该在不显示和阻止之间切换。 可悲的是,这完全破坏了 display: flex
我目前正在参加 HTML/CSS 类(class),这本书推荐我使用.desktop {display:none;}/.mobile {display:inline;} 以及div class="de
这个问题在这里已经有了答案: Css transition from display none to display block, navigation with subnav [duplicat
我理解 style="display: none" 隐藏一个 HTML 元素,而 style="display: block" 显示一个 block 级 HTML 元素。 我看到一些使用 style=
设置控件的样式 display: none 和 display: block 有什么区别? 最佳答案 display 属性定义了某个 HTML 元素应该如何显示。 Display block 和 no
这个问题已经有答案了: Javascript AND operator within assignment (7 个回答) 已关闭 4 年前。 假设我只想在 this.state.display 为
我不确定如何命名这个问题,因为我是 Rust 新手,所以请随意提出修改建议。 我有两个结构。一个是 Job 结构,其中包含一些数字,例如作业需要多长时间等。另一个是 JobSequence,其中包含
我不确定如何命名这个问题,因为我是 Rust 新手,所以请随意提出修改建议。 我有两个结构。一个是 Job 结构,其中包含一些数字,例如作业需要多长时间等。另一个是 JobSequence,其中包含
我是一名优秀的程序员,十分优秀!